My own gaming system

Ever since I found the arduino-tvout library I wanted to build something nice with it. When I stumbled upon this cheap SNES controller I knew it would be a game console embedded within that controller. Arduino-tvout comes with a tetris clone which has libraries for some controllers. Fortunately the code for a SNES controller is included, but I had to hack the source in order to use it. The very first job was to find out which wire had which signal (there is a pinout here):

IMG_20140704_151139

With that task finished I took an Atmega328 and designed this nice little circuit around it:

ArduinoGameboy_Schaltplan

After that I tested the design on a prototype board with my trustworthy 3.4″ LCD (normally hooked to my C64) with composite input: IMG_20140704_151127 Now I was ready to miniaturize all this into the controller. I decided to use a chip socket for the Atmega. This way it barely fits into the controller. I think the next time I’ll go without the socket and have more space to fit in the MCU: IMG_20140705_103632 Here you can see the 16Mhz crystal in place, the video resistors already connected and I’m adding a nice little extra: IMG_20140705_112152 The Atmega gets an ISP connector. This way you can easily put new software onto the device if you want to. The code is compiled using the Arduino-IDE and then flashed using my Diamex-ISP and avrdude: IMG_20140705_113604 Evey thing is in place and ready to be closed down. As you can see the ISP connector is only available when the device is opened. Next time I’ll glue it into a small opening of the case: IMG_20140705_120554 I used the old controller cable to get out audio and video to a breakout box (an old jewelry box) and to feed the thing with 5V power: IMG_20140705_130231 The finished device in powered by an old phone charger (the phone long since gone). I only had black cinch connectors left so I used the colored googly eyes to mark audio and video output: IMG_20140705_131924 and this is what it looks like connected to a 46″ LCD-TV: IMG_20140705_132035 [Edit: There was an error in the schematic. The 470 Ohm resistor has to be attached to pin 13 and not pin 14 of the Atmega328.]