A design still in progress, this is a USB controller for Frets On Fire, an open-source version of Guitar Hero. The controller, rather than having the traditional strum bar and fret buttons, uses ultrasonic distance sensing to determine the active fret, and a handheld infrared “pick” to activate the strum action. The majority of the electronics are in a belt-mounted case.
- Size – The overall circuit size has to be small, as it is to be belt-mounted
- Cost – As a small hobby project, I can’t justify spending excessive amounts of money on it
- Immunity to noise – Modulation and selectivity for transducers and sensors is required to keep the environment from generating extraneous signals.
- Adaptability – As this is a prototype, it was important not to nail too much down on the first design in case something didn’t work properly. A generic Arduino-based implementation was chosen to allow flexibility in developing algorithms for signal processing..
- Research. This included areas such as interfacing with Frets on Fire, implementing a USB Human Interface Device, and sonar.
- Circuit Design and Layout. This included implementing the design for the amplifier / filter for the sonar input, determining what was necessary for the USB interfaces (HID and serial for Arduino), and confining the design to a commonly-available plastic enclosure.
- Programming. This is still in progress – adapting existing code to implement a USB HID, and performing signal processing on the Arduino core to generate proper control signals.
None as yet – the design is still in progress. It may implement lessons learned about the Microchip USB framework from the V-Star, as the existing inefficient design uses two AVR chips: one for sensor processing, and a second for USB protocol.