1 Roomba : What it Can and Cannot Do
Executive summary: It’s not fast, it’s not smart, it needs your help
… but it does clean the carpets.
- In many cases, it does a wonderful job of cleaning under
things. It can clean under the bed, under the table, et cetera.
- The first few times you use the thing, it doesn’t save you any
time at all, because you spend all your time watching it. Partly
that’s because it is fun to watch … but partly that’s because
you need to watch it to learn what it can handle and what it can’t
handle. You need to learn how to use it wisely. See
section 2 for more on this.
- It doesn’t gracefully deal with clutter. You must declutter the
place before you turn the Roomba loose. See section 2.
- It can’t be trusted to deal with cords, speaker wires, et
cetera. This is deceptive, because sometimes it will crawl over
them or bounce off them; the problem is that sometimes it won’t, which
means you can’t leave the thing on its own unless all the cords are
out of the way.
- It sometimes gets stuck if there is a “blind alley” or a
“funnel” where the boundaries gradually converge at a narrow angle.
- It is very likely to get stuck if there is a “low bridge” that
it can almost get under. If the passage is really low, it will
just bounce off in the usual way. If the passage is really high, it
will pass under in the usual way. But if the passage is barely too
small, and especially if it funnels down at a narrow angle, the Roomba
will get wedged.
The three inch high “kick space” under the front of typical cabinets
forms a nasty Roomba trap, especially if the space extends more than
two inches behind the front of the cabinet. This seriously reduces
the usefulness of the Roomba for sweeping the kitchen floor.
- Sunlight saturates the IR detector. If bright sunlight is
falling on the thing, it will not respect the virtual walls and will
not respond to the handheld remote controller.
- It has a nasty tendency to wind hair around the brushes. Most
of the hair gets wound up in easy-to-clean places, but the nastiness
results from the other 10%, which works its way into the bearings and
gears and such.
A significant percentage of the cost-of-ownership of a Roomba is the
time spent cleaning hair out of the brushes and bearings.
- The “Discovery” model is one of the second-generation models.
Compared to the first-generation models, it has 3x more dirt-holding
capacity and 3x more battery autonomy per charge – both of which
are very useful features.
See section 3 for more about the battery.
- Current models are sold bundled with two Virtual Walls. Those
are useful. I use them all the time. If I had three of them, that
would be even more useful. In a pinch, a chair turned on its side
does a satisfactory job of blocking a hallway or doorway.
- The idea that it will seek out its charging station when it
needs a recharge is cute, but only 10% as practical as you might have
hoped. That’s because there is only one charging station, but there
are lots of rooms that need cleaning. I find carrying the Roomba from
room to room easier than carrying the charging station from room to
room and finding a place to plug it in. So I just leave the charging
station in one place. In other rooms, I just let the Roomba run until
it stops, then carry it back to the charging station.
You need to learn how to use a Roomba. Here’s an example of what I
Suppose you are vacuuming the dining room. You need to vacuum under
each of the chairs.
- With an ordinary vacuum cleaner, this is straightforward; you
just move the chair a couple of feet, vacuum where it was, and then
move it back.
- With a Roomba, this is tricky. One laborious solution would be
to carry all the chairs out of the room, run the Roomba, and then
carry all the chairs back. Compared to an ordinary vacuum, this
requires moving each chair much farther, and requires having someplace
else to keep the chairs for an hour or so.
A slightly cleverer solution is to flip the chairs up onto the
table, as they sometimes do at the pizzeria at closing time. This
allows nearly-unobstructed sweeping, and doesn’t require moving the
chairs very far.
A trickier solution involves two steps: First, leave the chairs where
they are and let the Roomba clean around them. Then, move each chair
into a nearby area that was just cleaned, and turn the Roomba loose
again. This means that some parts of the room will be cleaned twice,
while other parts will only be cleaned once … but there’s
nothing wrong with that. My objective is to minimize the amount of
work I have to do, and if the Roomba has to do a little extra work, so
The Roomba is remarkably stupid when it has to deal with a
worn-out battery. Sometimes – not always – the symptom is this:
When it is on the charger, it thinks it is fully charged, but as soon
as you take it off the charger it thinks the battery is empty.
Another symptom of a messed-up battery is that sometimes – not always
– leaving it on the charger overnight is less helpful then using it
immediately after charging. I’m not sure I understand this, but it
may be related to the Roobma’s non-understanding of open/loaded issue
The battery pack can only be recharged a few hundred times. Then
you have to buy a new battery pack.
Typically when the battery fails, almost all of the cells within the
battery are still good; only one or two cells have died.
Therefore, keep the old battery pack whenever you buy a new one. The
reason is that when the second one fails, you can repair it by
clipping out the bad cell and replacing it with a good one from the
You usually cannot detect a bad cell by looking at its
open-circuit voltage. Instead, you should load the battery pack
using a 50 Ω resistor with a 5 W (or better) power rating,
and look at the cell voltages under load. To say the same thing
another way, typically the cell fails by developing an unacceptably
large internal resistance.
Note: On the cover of the battery pack, the screws may have a funny
three-cornered socket head. You could buy a special tool for dealing
with these, but it is just as easy to make one. One solution is to
start with a #10 machine screw and put a triangular tip on it using a
file or a grinding wheel.
4 Error Codes
If the Roomba detects a problem, it will stop and play
a “song” consisting of the two-tone “uh-oh” prefix
followed by a number of beeps. The meaning of the beeps is:
- 0: Wheel drop — Either a wheel is physically dropped or one of
the wheel drop switches/wires is broken. You commonly hear this when the
robot is picked up.
- 1: Main Brush stall — Check for something wrapped around the
- 2: Side Brush stall — Check for something wrapped around the
spinning side brush.
- 3: Vacuum stall — Check for something stuck in the vacuum
- 4: Drive Stall — Either the robot got stuck on or under
something, or something got wrapped around a drive wheel. Other
possible causes include internal failures of the motor, drive
circuitry, encoders, or wheel belts, failure of string that raises
cleaning head, failure of main brush motor (which would cause the
cleaning head to not raise up).
- 5: Constant Cliff — Cliff sensor failure. Check for debris
stuck in the cliff sensors.
- 6: Wheel Drop Rate — too many wheel drops within a certain
period of time. This can happen if the robot is stuck on an
extension cord or similar object.
- 7: Stasis Stuck — The stasis switch has failed. This should
never happen – it has been disabled in the code – but this code
remains here to avoid re-numbering the higher-numbered codes.
- 8: Vacuum fell out — This has also been disabled in the code.
- 9: Wheel Drop Failed — Hard failure of a wheel drop
switch/wire. This happens when a wheel drop switch is failed at
startup and stays that way for 3 minutes after startup. During this
time, the robot will engage in a ‘wiggling’ behavior to try to nudge
the switch into working again.
Tod E. Kurt, “Roombongle! A Roomba USB dongle”
Roomba Review – Roomba Robotic Vacuum reviews, news and user forums.