Hacking Roomba

RoombaMidi: Roomba as Musical Instrument

[originally published 3 May 2006 on todbot]

[Note: an updated version of this program is available, called RoombaMidi2]

The Roomba has a piezo beeper that can play tunes. You’ve heard it.
And its motors make noise. Why not put them under MIDI control?

So here is RoombaMidi: a Mac OS X application that creates a virtual MIDI instrument for use by any Mac OS X MIDI sequencer, like Ableton Live, Logic, and so on.

If you don’t have a sequencer or just want to play with this quickly, grab the awesome and free app MidiKeys. It’s a little virtual MIDI keyboard.

RoombaMidi has the following features:
- provides GUI interface to controlling Roomba (MIDI not required)
- acts as normal MIDI interface to any MIDI application
- supports up to 16 Roombas, one per MIDI channel.
- responds to MIDI notes 32-127 as tones on Roomba beeper,
- MIDI notes 32-127 play corresponding pitch, velocity is duration in 1/64ths-second increments
- MIDI note 24 turns vacuum motor on-n-off for bass drum fun
- MIDI note 25 blinks the LEDs, velocity is color of Power LED
- MIDI note 28 & 29 spins left or right, velocity is speed of spin
- can act as general multi-Roomba test system
- written in Java, but acts like Mac OS X application

To download:
RoombaMidi-0.9.zip
RoombaMidi-0.93-Panther.zip, for Mac OS X 10.3, aka Panther

And if you really want to look at the source…

Here’s what RoombaMidi looks like:
roombamidi1

The about page:
roomba midi about

Here’s one example use:

Other recorded compositions are forthcoming….

(as always thanks to MikeK for helping with this)

1 Comment so far

  1. RodneyNET001 December 24th, 2007 10:58 pm

    How About Windows?
    Are there any software?

Leave a reply