David Merrill

Atari GrooveBox: This magical little box converts the signals from an old-skool Atari joystick into MIDI commands that can be sent into a synthesizer or computer.

I built this music controller for my friend Paul who is a musician living in Portland, Oregon. He's got an electro-pop group called dat'r that plays around the Portland area. A while back we had a conversation that went something like this:

paul: hey dave, you know those old Atari 2600 joysticks?
dave: yeah, of course.
paul: well, I had a question for you
dave: sure, what is it?
paul: do you think you could turn one of those into a MIDI
      controller? if I had that as a part of my stage show
      with dat'r... man.. 
dave: sure, that would probably be really easy actually.
paul: sweet! I think I could really blow some nerds' minds
      with something like that...
Two weeks later a shipment of 7 Atari joysticks arrived in my mailbox from Ebay. I realized immediately that the joysticks would never be destined for continuous control, but Paul felt that they would still be useful as an instrument for his live show.

I used an Atmel ATMega88 microcontroller to implement the box's behavior. The joystick's button, and 4 directions, are all digital switches inside the joystick - each will close a distinct circuit to ground when pressed. So I put pullup resistors on those lines, and capacitors to debounce the switches (see the image below of the non-debounced switch contact, along with the debounced one below it - it makes a real difference). So the microcontroller watches the 5 pins (the stick has 4 directions - up/down/left/right, and 1 button) connected to the joystick, and whenever there is a change, a MIDI command gets transmitted out the MIDI out. Pressing the joystick's button causes a NOTEON message to be sent, and releasing the button causes a NOTEOFF message to be sent. In the same way, pushing the joystick in any direction causes a NOTEON, and letting it return to center causes a NOTEOFF. Paul asked for notes that corresponded to the first 5 scale degrees from a Phrygian mode, so that's what he got.

Fortunately, the MIDI joystick connector fits into a standard DB9 male connector. That makes it possible to mix and match, plugging different joysticks into the system easily. Use the 'stick to match the occasion....accessorize!

I used an electrical connector box that I found, and cut a piece of cardboard to fit into the bottom to keep the circuitboard from touching the metal and shorting. The box is really strong, which is important in order to be a stage-worthy device. I cut holes into it with a drillpress for the MIDI connector, the DB9 connector, the power plug, and a status LED>

The status LED swells and fades rhythmically, as if the device is breathing. A little gimmicky these days, but sweet! I implemented this with a timer-based interrupt on the microcontroller.. every time the interrupt is triggered, it changes the period of the timer itself, and so I can make the duty cycle of the LED ramp up and down smoothly. some manual adjustment of the min and max values was required before I was happy with it.

One of paul's assignments is to send me some video eventually showing the device in action. stay tuned...

click here to see a video that I made of me, trying out the controller for the first time with a hand-made pure-data synth (just takes in the MIDI note, and sets the frequency of an oscillator accordingly). Running the MIDI into PD like this incurs a latency that wouldn't be there on a dedicated synth.

UPDATE (May 15, 2006): A photo has emerged of Paul and company, using the Atari Groovebox for musical purposes. Have a look:


click to enlarge...