Thursday, October 11, 2012

Bluetooth Roomba Part One

A few weeks ago my dad called to let me know he had found a Roomba Discovery with the SCI (serial port) for $15. The first one I received that he found didn't have the serial port so I gave it away. All that  was missing was the remote, so he got it for $10. What a deal! Unlike the first one, the battery was not recoverable at all. So the weekend before last while visiting the Raspberry Pi tour at HackerDojo, I stopped by Fry's Electronics to pick a new battery and a few components to add Bluetooth to the Roomba. Currently I am using Bluetooth since that is what I have on hand, later on I will probably convert it to Wifi or Xbee.

Here is the part list:

Needed parts

8-Pin Mini DIN

Perf Board


NTE 960 - IC POS 5V 1A Voltage Regulator - For Bluetooth
NTE 964 - IC POS 8V 1A Voltage Regulator - For 900Mhz Wireless camera
Pan Pacific 8-Pin Mini DIN connector. - SCI connection - See this post for disassembly
Small Pef Board - Already had, can't remember from what. Maybe the Maker Shed starter kit.
SFE Bluetooth Modem HID - I had already so I will have to switch from HID mode to serial.

*Due to Fry's disorganized site, I can't link the items but they do have them. I only went to Fry's because we were in the area and overall cheaper than ordering them instead of having to wait.

Last week I left the Roomba on the charger to charge the new battery. I had forgotten all about it until I was on the phone with my dad so I went to check on it. Much to my surprise, the battery was dead again. I was very puzzled. After some research and testing, it turns out that charging a low voltage battery (original battery) can cause the MOSFETs to pass more than 2.5A which is what the OEM ones are rated for. So thanks to Ed at http://www.vic7767.com/, I ordered a set of beefer 6.4A MOSFETs. Now I am wondering if I can revive the old battery.

Last weekend I decided to finish making the cable, trying to see if I can get the Bluetooth link to work. I was able to partially charge the battery by connecting it to the rapid fast charger directly. At least enough of a charge to play with it as long as I don't turn on the motors.

Soldering Mini Din Connector

Added heat shrink for a professional look

Completed cable

Cable connected to Roomba


My Roomba is a 4210 so it operates at 57600. Once I figured that out and setup the Bluetooth radio on a breakboard for that speed, I was finally able to receive my first text from the Roomba, "processor-sleep." I was stoked, I did something right! Except for the life of me I couldn't send commands to it. I tested the connections and they all passed. Hmm...

After additional research (while running into the next morning), I realized that my Roomba might not have the software update that includes SCI\ROI. So I checked the serial number and sure enough I have the SCI port but not the software version. Anything after October 24, 2005 has the updated software. Thanks again to http://www.vic7767.com/  I was able to rent an OSMO Blue to update the firmware. Once I get the new MOSFETs and the OSMO, I will post part two. It should be sometime next weekend.

If you have a Roomba that you've hacked, comment below.



No comments:

Post a Comment