There are a ton of cool gadgets available in eBay, and even though I sometimes do impulse buys, I rarely mention those in my blog. However, this extremely cool piece of retro tech is something I just cannot pass by without a comment: Retronic Design USB joystick adapter. It is essentially a joystick adapter for the popular 9-pin D-SUB connector used in many of the 80s consoles, most notably Atari, Commodore 64 and Amiga. On the outside, it’s not much to be excited about – USB connector on the one end, and grey dongle that accepts a joystick on the other. However, things quickly change when you open up the enclosure (click on the image for a large view):
Inside the D-SUB end there is a very neat little piece of engineering, and many of my readers probably know how to program it — it isn’t anything other than a ATmega8A, a 8-bit AVR microcontroller that employs the same V-USB library I’ve covered in my tutorials to appear as a USB HID device on PC side.
All the components are on one side, and you have to admire the tiny ISP header the Retronic Design guys have fitted on the PCB. And wait, it doesn’t stop there. On the Retronic Design web site, they have full specifications for the device, and the download page includes both schematic, as well as full source code to the firmware.
My hat’s off to these guys, a great example what you can achieve with 8-bit AVR and V-USB, and the workmanship on the PCB and assembly is really exceptional. If you have the corrent components around, you could probably even build it yourself, the parts are almost identical (except the MCU) that are used in my V-USB tutorials, so I have little doubt that it would work with very small adjustments. However, I’ve come to the realization that a dedicated device with actual enclosure will be more durable and useful in the long term than trying to preserve something on a breadboard, so I decided to splurge the $29.95 and support such a fun piece of engineering by getting this from their eBay page.
On a side note, it’s almost sad how electronics hacker -friendly the joysticks of old were. From the Retronic Design’s spec page it’s easy to notice, that the 9 pins are basically just GND, VCC, 4 pins for different directions (up, down, left, right) that most likely go HIGH when joystick is pushed into that direction, and 3 pins for fire buttons. I’m quite sure one could just plug jumper cables to old C64 joystick and use it as 4-directional controller in any modern AVR or Arduino project. My eBay order on such an item is still being delivered, but I might cover that too in the future.
Another game controller project
I’ll also take this opportunity to point out another cool project that I discovered just last week via a pingback: Peter Fowler did a nice V-USB related project where he replaced a part of a Saitek Trim Wheel internals with AVR chip running V-USB, making the wheel appear as a USB HID device. Peter was also kind enough to credit my USB tutorial, so I’m returning the favor. :) I think the project is a great example how sharing ideas result in cool hacks!