?

Log in

No account? Create an account

My vacuum cleaner has useful hardware diagnostics

My roomba was sick; you'd tell it to go clean a room and it would wonder around sometimes backing up for no reason and within about five minutes stop in the middle of the floor and play the "I'm stuck" sound. There seemed to be no visible problem with the bumper and nothing seemed to be interfering with the mechanical action. Cleaning the floor brush didn't help.

I was sitting there thinking to myself that it would be really nice to know what was actually wrong. Then I realized that if you are going to service one of these there really needs to be a mechanism for testing the various components. So, I tried pushing all four buttons at once and got a startup sound I'd never heard before. Fiddling around with the controls at this point, I discovered that the "spot clean" and "clean room" button caused the unit to count in binary using two different tones for one and zero. Pushing "clean room" a few times I noticed that one of the settings caused the right wheel motor to turn on. Successive settings activated the left wheel, suction motor, and main brush. The next setting produced a pathetic buzzing sound from the small spinning brush that follows walls and sweeps dirt under the rest of the unit. "Hmm. There's nothing obvious wrong, but let's try unscrewing this and see why this doesn't turn freely. O, hey, look. There's a lot of hair on that washer. . . . In fact, there's not actually a washer in there at all; it's all hair. And there's even more hair twisted in below that." It worked much better with the hair removed. It's interesting to note that the unit seems to use that brush as a sensor; I'm not entirely sure if it is just to prevent motor burn out, or if it actually uses feedback from that brush to tell when it is following a wall. I continue to be impressed with the effort spent on Irobot's design. I was also happy that they did have a diagnostics mode and that it was obvious enough that I didn't even have to go look up the cheat codes on the web.

Comments

Excellent debugging.

And I too love me my Roomba. :) I have three dogs so most commonly I have to free the front non-powered wheel, which is colored half black and half white so I'm sure it's how the Roomba measures distance. It gets so clogged with dog hair, though, that if I don't clear it it ends up just being a slider instead of a wheel. (The wheel just pulls straight out, if you ever need to clear yours.)

BTW, from the videos on the site, I think the wall-following is IR.
Mine went backwards in circles until I used an Osmo and updated the firmware. Then, all good.

While the diag modes are pretty obvious, I greatly appreciate that they're *documented* on the net :-)

The "backing up in circles" thing, in particular, seems like an odd thing to fix by "installing firmware that lets you use the serial port" but there's a sensible-in-retrospect explanation.