640×480 VGA On An Arduino

There are dozens, if not hundreds of examples around the Intertubes of an Arduino generating a VGA video output. The Arduino isn’t the fastest chip by far, and so far, all of these VGA generation techniques have peaked out at lower resolutions if you want to control individual pixels.[PK] has an interesting technique to generate 640×480 VGA at 60 frames per second without overclocking. It’s hacky, it’s ugly, but surprisingly, it actually works.

The VGA standard of 640×480 @ 60 fps requires pixels to be clocked out at 25.175 MHz, and the ATMega chips found in Arduinos top out at 20 MHz. [PK] wanted to generate VGA signals without overclocking, He did this by doubling the clock frequency with digital logic. The ATMega generates a clock, an inverter delays that clock so it is 90 degrees out of phase, and the two clocks are XORed, doubling clock output of the micro. It produces a very ugly square wave at 32 MHz – an error of 27% compared to the VGA spec. Somehow it still works.

With a hilariously out of spec clock, the rest of the project was pulled together from [Nick Gammon]’s VGA library, a 16×16 font set, and a project from [lft]. Video below.

Continue reading “640×480 VGA On An Arduino”

Beating Simon

Virtually everyone has played Simon, that electronic memory game from the 70s, but who among us has actually beaten it? That was the goal of [Ben] and his 7-year-old daughter, and after a year of work, an Arduino, some servos, and a few Lego bricks, they’ve finally done it.

Instead of the large original Simon, [Ben] is using a key chain version of the game: much smaller, and much easier to build a device to sense the lights and push the buttons. The arms are made from Lego bricks, held up with rubber bands and actuated with two servos mounted on a cutting board.

To detect Simon’s lights, [Ben] connected four phototransistors to an Arduino. The Arduino records the pattern of lights on the Simon, and activates the Lego arms in response to that pattern. [Ben]’s version of Simon has only a maximum of 32 steps in the final sequence, but that still means each game takes 528 button presses – and a lot of annoying beeps – to complete.

Videos below.

Continue reading “Beating Simon”

Track Your Dog With This DIY GPS Harness

GPS-dog-harness

Have you ever wondered how far your dog actually runs when you take it to the park? You could be a standard consumer and purchase a GPS tracking collar for $100 or more, or you could follow [Becky Stern’s] lead and build your own simple but effective GPS tracking harness.

[Becky] used two FLORA modules for this project; The FLORA main board, and the FLORA GPS module. The FLORA main board is essentially a small, sewable Arduino board. The GPS module obviously provides the tracking capabilities, but also has built-in data logging functionality. This means that [Becky] didn’t need to add complexity with any special logging circuit. The GPS coordinates are logged in a raw format, but they can easily be pasted into Google Maps for viewing as demonstrated by [Becky] in the video after the break. The system uses the built-in LED on the FLORA main board to notify the user when the GPS has received a lock and that the program is running.

The whole system runs off of three AAA batteries which, according to [Becky], can provide several hours of tracking. She also installed a small coin cell battery for the GPS module. This provides reserve power for the GPS module so it can remember its previous location. This is not necessary, but it provides a benefit in that the GPS module can remember it’s most recent location and therefore discover its location much faster. Continue reading “Track Your Dog With This DIY GPS Harness”

A Tweeting Litter Box

SmartLitterBox

How can you not be interested in a project that uses load cells, Bluetooth, a Raspberry Pi, and Twitter. Even for those of our readers without a cat, [Scott’s] tweeting litter box is worth the read.

Each aspect of this project can be re-purposed for almost any application. The inexpensive load cells, which available from eBay and other retailers, is used to sense when a cat is inside the litter box. Typically sensors like the load cell (that contain a strain gauge) this use a Wheatstone bridge, which is very important for maximizing the sensitivity of resistive sensor. The output then goes to a HX711, which is an ADC specifically built for load cells. A simple alternative would be using an instrumentation amplifier and the built-in ADC of the Arduino. Now, the magic happens. The weight reading is transmitted via an HC-06 Bluetooth module to a Raspberry Pi. Using a simple Perl script, the excreted weight, duration, and the cat’s resulting body weight is then tweeted!

Very nice work! This is a well thought out project that we could see being expanded to recognize the difference between multiple cats (or any other animal that goes inside).

HAL Is Duct Tape For Home Automation

HAL Home Automation

When it comes to home automation, there are a lot of different products out there that all do different things. Many of them are made by different companies, and they don’t often play very well together. This frustration ultimately led [Daniel] to develop his own Python based middleware solution to get these various components to work as a single cohesive system. What exactly did [Daniel] want to control?

First up was the door lock. [Daniel] lives in an apartment building, so there are actually two locks. First, a visitor must be allowed into the building by pressing a button on the intercom system in the apartment. Second, the apartment door has its own dead bolt lock that needs to be opened and closed. [Daniel] was able to control the building’s front door using just a transistor hooked up to an Arduino to simulate the press of the physical button. The original button remains in tact so [Daniel] can still easily “buzz” in a visitor.

The apartment’s dead bolt was a bit trickier. There are off-the-shelf solutions to control a dead bolt, but they are often expensive. [Daniel] built his own solution using a simple servo motor bolted to the door. The servo is controlled by the Arduino which is in turn controlled via two broken intercom buttons that already existed within the apartment. The buttons were originally used to either speak to or listen to a visitor before buzzing them into the building. They had never worked for [Daniel] so he re-purposed them for his own project. The whole DIY door locker is enclosed in a custom-made laser cut wooden box.

Click past the break for the rest of [Daniel’s] story.

Continue reading “HAL Is Duct Tape For Home Automation”

Custom Electronics And LED Panels Brighten Up A Nightclub

ledPanels

When [Robert] is presented with a challenge, he doesn’t back down. His friend dreamed of reusing some old LED panels by mounting them to the ceiling of the friend’s night club. Each panel consists of a grid of five by five red, green, and blue LEDs for a total of 75 LEDs per panel. It sounded like a relatively simple task but there were a few caveats. First, the controller box that came with the panels could only handle 16 panels and the friend wanted to control 24 of them. Second, the only input device for the controller was an infrared remote. The friend wanted an easy way for DJ’s to control the color of the panels and the infrared remote was not going to cut it. Oh yea, he also gave [Robert] just three weeks to make this happen.

[Robert] started out by building a circuit that could be duplicated to control each panel. The brain of this circuit is an ATtiny2313. For communication between panels, [Robert] chose to go with the DMX protocol. This was a good choice considering DMX is commonly used to control stage lighting effects. The SN75176 IC was chosen to handle this communication. In his haste to get this PCB manufactured [Robert] failed to realize that the LED panels were designed common cathode, as opposed to his 25 shiny new PCB’s which were designed to work with a common anode design. To remedy this, he switched out all of the n-channel MOSFET with p-channel MOSFET. He also spent a couple of hours manually cutting through traces and rewiring the board. After all of this, he discovered yet another problem. The LED’s were being powered from the same 5V source as the microcontroller. This lead to power supply issues resulting in the ATtiny constantly resetting. The solution was to add some capacitors.

Click past the break for more on [Robert’s] LED panels.

Continue reading “Custom Electronics And LED Panels Brighten Up A Nightclub”

Bare Bones Arduino IR Receiver

TV Remote

Old infrared remote controls can be a great way to interface with your projects. One of [AnalysIR’s] latest blog posts goes over the simplest way to create an Arduino based IR receiver, making it easier than ever to put that old remote to good use.

Due to the popularity of their first IR receiver post, the silver bullet IR receiver, [AnalysIR] decided to write a quick post about using IR on the Arduino. The part list consists of one Arduino, two resistors, and one IR emitter. That’s right, an emitter. When an LED (IR or otherwise) is reverse biased it can act as a light sensor. The main difference when using this method is that the IR signal is not inverted as it would normally be when using a more common modulated IR receiver module. All of the Arduino code you need to get up and running is also provided. The main limitation when using this configuration, is that the remote control needs to be very close to the IR emitter in order for it to receive the signal.

What will you control with your old TV remote? It would be interesting to see this circuit hooked up so that a single IR emitter can act both as a transmitter and a receiver. Go ahead and give it a try, then let us know how it went!