May 032006

[Update: an improved version of this idea, called RoombaMidi2, is available on the Projects area.]

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:, for Mac OS X 10.3, aka Panther

And if you really want to look at the source…

Here’s what RoombaMidi looks like:

The about page:
roomba midi about

Here’s one example use:

revver version

Other recorded compositions are forthcoming….

(as always thanks to MikeK for helping with this)

 Posted by at 11:08 pm

  34 Responses to “RoombaMidi: Roomba as MIDI instrument”

  1. Matthijs,
    Did you run the “macosx-setup-command” that RXTX Java serial library requires? (Instructions are in the About box) After you run that command, you may need to reboot too.

    Have you tried using the RooStick on the PC after using it on the Mac? If not, try that known-good configuration again. Perhaps something happened to the RooStick or the Roomba.

    (btw, RXTX will do away with this craziness in its next release and I’ll update RoombaMidi and all my other Roomba projects to use the new version)

  2. Can someone help me to get this program working on OSX 10.4.6 and a RooStick to connect to the Roomba.
    When RoombaMidi connects to /dev/tty/usbserial0 it seems to work: The display shows:
    RoombaComm, version 0.93
    Roomba startup
    Roomba connected

    But when i try to read the sensors:
    couldn’t read Roomba. Is it connected?

    Roomba is connected and updated with Osmo/Hacker. On a PC it does work (with other program).
    Please advice, what do i forget to do?

    Thanks in advance,


  3. That Pacman sound was really inspirating – hack it to play an actual Pacman: place pieces of dirt (corn for example) on the floor and play pacman on screen syncing with Roomba.

  4. That’s awesome! I want to buy a roomba to do that with my PB! :D

  5. That rocks.

  6. And now, to play the National Anthem to kick off the 2nd Annual Philadelphia Roomba fight, the Roomba Symphony Orchestra.

    See, this is a useful app.

  7. It should be easy to port it to Windows. The code is 100% Java. It does use OS X specific Java classes to create MIDI virtual destinations (which isn’t normally possible in the javax.sound.midi API). If there exists a Java class to create Windows virtual MIDI destinations, then the port would take about an hour.

  8. Can you make it windows compatible?

  9. […] Tja, warum eigentlich nicht. Staubsauger als Musikinstrument haben ja eine ebenso lange Tradition wie Roboter als Musikinstrument also hier ist der: Roomba as MIDI instrument […]

  10. Nice job. The interface looks friendly and the project thorough. Now I may be an amateur of amateurs but I’d say it took some work man, oh and btw, awesome job with the Mario ;)

  11. […] Roomaba MIDI Instrument 不涉及Hardware, software一樣玩得開, Roomabaçš„ i-robot機械吸塵機你可能聽過或擁有, 但用來當instrument就真係第一次聽 […]

  12. “smoke on the water” blows

  13. More Roomba stuff and the 2006 Power Tool Drag Races…

    Tod did it again, and based on an idea I had while talking to Chris, he wrote a Roomba to MIDI application, which lets you play a Roomba like a musical instrument (check out the video). Chris is considering composing some music for it. Phil blogged it …

  14. i really want to hear it play smoke on the water! Great job with the hack!

  15. RoombaMidi: Roomba MIDI instrument…

    MAKE pal and Roomba hacker Todbot show you how use the Roomba as a MIDI instrument, maybe we’ll have this running at the Roomba fights – “The Roomba has a piezo beeper that can play tunes. You’ve heard it…….

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>