A little while ago I mentioned that I was working on a new contraption: a video games console in a candy can.
It's now complete and I can play Pong on a TV. Here's a shot of the completed contraption. On the left is the main controller (the power switch is visible) and on the right is the expansion controller with its cable. The left (red) controller also has a 'fire' button that isn't visible and both have simple 'paddle' style controls.
On the bottom of the main controller are the main connections for the TV (video and audio) and a second controller.
The second controller contains nothing but a simple potentiometer.
Arduino Pro, a potentiometer (for the paddle control), a button for 'fire' or 'select', the battery and the connection to the video and audio and second controller. Video and audio are handled by the Arduino TVout library.
The entire thing is wired squashed bug style as it's mostly interconnections and only a few discrete components (three fixed resistors, and two potentiometers).
The device generates a PAL TV signal in software (that's the clever bit that TVout does). It can generate NTSC with no problem if the code is changed. Here's a quick shot on the oscilloscope of the PAL TV signal just showing that the sync pulse is coming every 64 us as expected.
And, finally, to test it out I wrote a simple implementation of the classic game Pong. The source code can be found here.
PS A few people have asked for a schematic. Here it is.