I’ve been on mission lately to design a handheld bluetooth game controller. I’ve made a prototype in the past but, it never was really usable as a gaming device. Although the concept worked well the form factor was not quite there.
Well after a few months of tinkering and several designs I finally have one!
The design is based around the Atmega 328 running the Arduino bootloader. There is a RN42-HID bluetooth module that allows serial communication between it and the microprocessor.
I wanted the device to be fully hackable so I designed it with headers for both the bluetooth module and the Atmega 328 chip. I can reprogram the bluetooth module to run HID keyboard or mouse (or combined), it can iterate as a gamepad, or it can reconfigured to run serial protocol and iterate as a virtual com port.
It works great for both Android devices and iPhone devices. I have it iterate as a HID keyboard and then run code to simulate the iCade, since there are already a lot of games that support this protocol. I also have code that just runs simple keyboard presses and this works great in games that support keyboard input. The nice thing about it is that it can be reprogrammed easily to accommodate any protocol that I need. I have also combined the regular keyboard and the iCade protocol into one code base and switch by holding a button down at boot – multiple protocols!!
Way to go, Chris! Awesome layout and design!
If you’ve got a Hack Friday project you’re working on, you can post it on Twitter or G+ with the tag #hackfriday or leave a comment on our #hackfriday post, and we’ll share it on the blog. Hack on!
Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.
Join us every Wednesday night at 8pm ET for Ask an Engineer!
Learn resistor values with Mho’s Resistance or get the best electronics calculator for engineers “Circuit Playground” – Adafruit’s Apps!
Maker Business — Raspberry Pi and CoderDojo Join Forces
Wearables — Gold glow
Electronics — Linear Love
Biohacking — Read Faster Using JETZT or SPEEDREAD
Sorry, the comment form is closed at this time.