Roomba Hacking Day 2

They are dirty. Turns out my free Roombas came with dirt pre-installed! A little bit of cleaning up and I’m in business! Since two of the roombas are identical, I’ve decided to keep one of them unaltered to refer back to, and complete take apart the other. Also good news: the battery works. My multimeter tells me that it off 16.59 volts at full charge. ImageImageImageImageImage

Many screws later, I have a shell of a robot. I’m trying to figure out what each device does. The yellow, orange, green, two wire juction tells the robot whether or not all of the wheels are down. When the robot is on the ground the circuit is open, and when even one wheel is lifted it is a closed circuit.

The wheels are rather easy to interface with. Just apply power to the orange and red wire (yellow and red on the other side) and the dc motor turns a belt which turns a gear which turns the wheels. There’s a fair bit of torque!

Just to see if I’m on the right track, I hooked up the battery, and had that applied to a breadboard which went to the two wheels. I hooked the motors with reversed polarity so the robot would just spin instead of run away from me. As you can see, it worked out fine.

I tried to hook up an Arduino with a simple circuit to control the motors, but embarrassingly, I hooked up a wrong wire and caused a wire to catch fire. Oops. No real harm done. After checking the circuit, I also noticed I was using the wrong kind of diode, so I’ll be waiting for my digikey shipment to come in before continuing on the motor front.


While opening up the wheels, I did make a few observations. Inside each wheel is a set of sensors which seems to be some sort of trip beam to tell how fast the wheel is going. I really have no idea how to interface with this. I think I might end up scrapping all of the old sensors and installing my own (ones that I understand).