UnoJoy – A USB Joystick for Mac, PC, Linux or PS3
There are people who use the Arduino for some serious electronics related stuff.
Then, there are folks who use it just for fun. Alan Chatham and his team over at UnoJoy have developed a concept for Arduino Uno based USB Controllers.
Here is an excerpt of our interview with Alan:
Me: What made you choose the Arduino Uno as the heart of the controller? There are many development boards available which incorporate an ATmega8U2/16U2 or even 32U2.
Alan: This is easy – everyone loves Arduino! It comes down to ease of use and reach. Our primary goal with this project is to make a tool that is both easy to use and accessible. There’s lots of code out there to make joysticks with other chips, but all the Atmel USB chips are surface-mount, and they all need a whole big toolchain to use. Plus, USB is super-complicated, and we want to encourage people, even non-technical ones, to spend their time thinking up really sweet new ways to play games, not trying to figure out what an HID descriptor is for. On the reach side of things, Arduino is a perfect platform – even those of us that love our inline assembly and fuse settings tend to have an Arduino around for quick prototyping, and of course, Arduino’s a great platform for students and designers.
Me: Any problems that you faced while developing the prototype?
Alan: I think the biggest challenge we faced was to make it much easier for non-experts to do some more complicated things, like re-flash the ATmega8u2 on the Arduino. Let’s face it, any instructions that open up with ‘First, install XCode’ aren’t exactly user-friendly. In that vein, I put together some simple one-click batch files for installing the appropriate drivers on Windows and OSX, as well as ones for reflashing the ATmega8u2 chip between Arduino and UnoJoy firmwares. It’s still not as simple as I’d like, so if anyone out there is handy with basic OSX GUI application programming, or the program installation chain on Windows, drop me a line!
In the end, we’re hoping that our code and examples can inspire other designers and builders and gamers to make some really awesome controllers. If they do, I of course encourage them to send their pictures and videos our way, at unojoy.tumblr.com!
Now, you too can make yourself a USB Joystick/ Gamepad/ Controller by choosing any form of input that the Arduino boards can understand. The source code and all the necessary download files are available at Google Code. Don’t forget to check out the Controller for Gran Turismo:
Thank you Alan for sharing a wonderful project with us.