Feb 062006

I created a couple of Roomba Bluetooth Interfaces.

They work well and were easier to create than the Roomba Serial Interface. Unfortunately, “bluetooth as serial port” on computers seems a little raw. This is both for PC and Mac, though the Mac seems to be a bit more intelligent about it, perhaps because of its Unix core.

It’s pretty cool being able to drive the Roomba around wirelessly.

Update: added a Mac OS X Bluetooth Serial HOWTO

 Posted by at 12:42 pm

  9 Responses to “Roomba Bluetooth Interface”

  1. Roomba-Erweiterungen

    Nachdem die Spezifikationen der seriellen Schnittstelle offengelegt wurden (siehe hier), sind schon diverse Projekte im Netz dokumentiert:

    Serielles Kabel für Roomba
    Roomba mit Bluetooth

  2. I’m curious, what kind of range are you getting with the blueSmirf? I’m seriously considering building one, but I’d really like “whole-house” connectivity, and as I recall Bluetooth isn’t really designed for more that 10-30ft range.

  3. The BlueSMiRF uses a BlueRadios Class 1 module. The Class 1 power rating means it transmits up to 100mW and thus is good up to around 100m (300ft). The SparkFun guys have verified this for their modules. Most Bluetooth devices are Class 2 (10mW, thus ~10m). A few are Class 3 (1 mW, ~1m).

    I’ve not tested it extensively, but I’ve managed at least 50ft out of it.

  4. Any chance you’d be willing to sell one of these for us time-challeneged folks who still like to play?

  5. wassigan, I don’t sell them, but my good friends at RoombaDevTools.com has made a functionally identical device called the RooTooth. You can also buy a RooTooth from great hacker suppliers SparkFun.

    I have a RooTooth and it works great.

  6. Tod,
    In the “Readme-0.95” it says for using Bluetooth in Windows:
    “The serial port implementation is a little different (at least to RXTX)
    so use the ‘-hwhandshake’ flag with the programs, if using Bluetooth on
    Windows. See, ‘RoomabCommSerial.waitForDSR’ for details.”.

    Where do you add the “-hwhandshake” into the code and where do you find the “RoomabCommSerial.waitForDSR” for more details?

  7. The hwhandshake flag is a command line argument.

  8. Do you use the -hwhandshake flag with the java.exe command line command?

  9. Yup, you got it.
    Or more exactly, the command line argument is given to the Java class you’re executing.
    If you’re running ‘roombacomm.SimpleTest’ with something like:
    % runit.sh roombacomm.SimpleTest
    SimpleTest will tell you all the command line arguments it accepts, one of them being ‘-hwhandshake’, so then you could do:
    % runit.sh roombacomm.SimpleTest /dev/tty.usbserial -hwhandshake
    Note the above are for unix-like systems, I don’t play with Windows too much, but you should be able to create a RUNIT.BAT file that works similarly to runit.sh.

 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>