Air Guitar controller for Frets On Fire

The Project

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.

Design Constraints

  • 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..

My Role

  • 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.

Lessons Learned

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.