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)

10 comments

10 Comments so far

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

    How About Windows?
    Are there any software?

  2. Ben April 2nd, 2009 12:17 pm

    If you want your roomba to play pre-made midi google MIGHTY MIDI you just download a midi file then select it, then input set as roombamidi and your good to go!

  3. Lanttu July 28th, 2009 12:57 am

    Hi there… I could find your email from anywhere, but I think that you’re the one who can answer to my question;

    Is there any Roomba vacuum robot model, which allows me to change sound effects to something else, like R2D2 for example? (Or near R2D2 with midi sequences)

    thanks

  4. todbot July 29th, 2009 10:38 am

    Hi Lanttu,
    Not really. You can make simple beeps as shown above, but you can’t make the sliding tones, squirts, and grunts that R2D2 does.

    You idea of approximating R2D2 noises with MIDI beeps is intriguing. I bet you could get kind of close doing it that way, but it still would have the discrete-ness to it of the notes.

  5. Ben October 18th, 2009 8:32 am

    It crashes when I try to open it!

  6. Ben October 18th, 2009 8:52 am

    You should create a RoombaMidi where you have the GUI but you can also send your own commands (Via text) inside the application to the roomba!

  7. […] robot that can be turned into a pacman, be controlled by your cell phone, or even be turned into a musical instrument. Then there’s a whole other group that is using the robot to create eco-art with […]

  8. […] robots that can be turned into pacmen, be controlled by your cell phone, or even be turned into musical instruments. Then theres a whole other group of people that is using the robot to create eco-art with […]

  9. 404 Not Found July 5th, 2011 5:51 pm

    […] robots that can be turned into pacmen, be controlled by your cell phone, or even be turned into musical instruments. Then there’s a whole other group of people that is using the robot to create eco-art with […]

  10. […] this one built by Institute for the Future’s Nic Weidinger to hacks that turn Roombas into roving musicians, there are myriad ways to elevate the Roomba beyond its status as a mechanical […]

Leave a reply