Your Roomba runs a mission, drives straight, and keeps suction normal—but the Edge-Sweeping Brush / Side Brush never rotates. You may hear a short click-click from the right-front underside, or a brief electric hum that stops after 1–2 seconds like the motor “gives up.” Corners stay dirty because the brush never pushes debris into the main intake.
// SYSTEM ERROR LOG
- ⚠️ Symptom: Side Brush shows zero rotation or “twitch + stop” during wall runs.
- 🔍 Primary Suspect: Side Brush stall detection (overcurrent) OR side-brush command suppressed by navigation state (sensor loop).
- 🛠️ Fix Difficulty: Level 2/5 (software) → Level 4/5 (module swap / board-level test)
- ⏱️ Est. Downtime: 12–40 minutes
The Logic: Why Your Robot is Confused
Roomba treats the Side Brush Motor like a controlled output, not a “dumb accessory.” The motherboard drives the motor using PWM through a motor driver, then watches electrical load (current draw) to detect stalls. When hair or grit loads the gearbox, current spikes. The firmware flags a stall, cuts power to prevent overheating, and retries in short bursts. That behavior creates the classic “twitch + stop” with a faint click or grinding sound.
Roomba also gates the side-brush command based on navigation state. It decides “edge-clean mode” using inputs like Bumper Micro-switches (wall contact), Wheel Encoders (odometry), and the IMU (Gyroscope) for heading correction. If a sensor lies—like a stuck bumper switch, dirty Cliff Sensors causing constant safety corrections, or encoder drift causing repeated re-plans—Roomba may spend less time in edge-follow behavior, and you see the brush “never gets the command.”
Some models even end a mission and throw a specific alert when the side brush stalls. For example, iRobot documents Error 1001 on certain Roomba lines as a side-brush stall/not-spinning condition and recommends a reboot + side-brush care; if it persists, iRobot routes you toward service/replacement. :contentReference[oaicite:0]{index=0}
Protocol 1: The “Soft” Fix (Software & Reset)
- Reboot the robot (clear the stall flag): Run a full reboot, then start a short mission next to a wall and watch the brush for 30 seconds. iRobot explicitly recommends rebooting to clear certain side-brush related errors (like Error 1001 memory state). :contentReference[oaicite:1]{index=1}
- Update firmware via iRobot Home: Open the app, check firmware version, and install updates. A firmware patch can change how aggressive the stall threshold or retry logic behaves (common after accessory revisions).
- Disable/enable edge behaviors (model-dependent): If your model exposes edge cleaning preferences, toggle them off/on to force a config refresh.
- Wi-Fi sanity check (2.4 GHz vs 5 GHz): Pair Roomba to 2.4 GHz if your router splits SSIDs. Many robots negotiate 2.4 more reliably than 5, and a flaky connection can delay config sync and logs (it won’t “fix” the motor, but it can block updates and diagnostics).
- Factory reset only after reboot + update: Use it when the brush never twitches and you suspect a corrupted state machine. Expect to rebuild maps on mapping-capable models.
Protocol 2: Hardware Intervention
Step 1 — Run a controlled “command vs stall” test
Start a cleaning run next to a wall. Watch the side brush closely:
- Zero twitch, zero sound: Roomba likely never commands the motor (state gating) or the motor circuit is open (connector/driver failure).
- Twitch + stop, click or grind: Roomba commands the motor, then trips stall protection (mechanical load or failing gearbox).
Engineer’s Note: Treat this like a control-system problem: you first decide whether the actuator receives a command. Don’t start by replacing parts.
Step 2 — Inspect and clean the sensor inputs that gate edge behavior
- Cliff Sensors (down-facing IR): Wipe each lens with a dry microfiber. Dust causes false “drop detected,” which forces repeated safety turns and reduces stable wall-follow time.
- Bumper Micro-switches: Press the bumper left/right. Feel for crisp clicks. A sticky switch can lock Roomba into collision-handling logic and disrupt edge-brush scheduling.
- Wheel Encoders: Spin each wheel by hand. Match resistance left vs right. A wheel that binds can corrupt odometry and trigger constant re-planning loops.
- Gyroscope / IMU effects: If Roomba “drifts” and over-corrects, it can fail to hold a straight wall run, so the edge brush appears “never used.”
Engineer’s Note: Never use water on sensor windows. Use microfiber only. A scratched IR window changes reflectivity and creates permanent false positives.
Step 3 — Remove the Side Brush and check for gearbox overload
Remove the Side Brush Screw and pull off the brush. Then inspect the Brush Post and the cavity around it. Remove hair that forms a tight ring under the hub. That ring acts like a brake and triggers overcurrent stall protection.
Engineer’s Note: If you feel “sandpaper drag” when you rotate the post by hand, you already found the stall source. Don’t keep powering the motor—heat damages the driver.
Step 4 — Open and service the Side Brush Module (target the real failure point)
If the post feels stiff or you hear repeated clicking, pull the Side Brush Module (bottom cover off, module screws out). Focus on the Gearbox:
- Extract hair wrapped on the motor shaft/first gear.
- Brush out compacted dust that packs between gear teeth.
- Apply a tiny amount of silicone/PTFE grease to gears only (avoid the motor can).
iRobot’s own guidance for a non-spinning side brush escalates from care/cleaning to replacing the side brush module if cleaning does not restore motion. :contentReference[oaicite:2]{index=2}
Engineer’s Note: Skip WD-40. It thins grease, attracts grit, and recreates the stall condition fast.
Step 5 — Check electrical continuity at the Side Brush Module connector
Unplug/reseat the module connector. Look for bent pins or oxidation. Use a multimeter to check the motor coil:
- Open circuit (OL): Motor coil failed → replace the Side Brush Module.
- Near 0 Ω: Short → replace the module; stop powering it.
Engineer’s Note: Treat a burnt smell as a hard electrical failure. A “cleaning-only” approach won’t revive a damaged coil.
Step 6 — Power integrity check: Charging Contacts + battery sag
Low voltage under load can cause the motor driver to brown out while the main system still runs. Clean the Charging Contacts on the robot and dock. Then run a test mission right after a full charge.
Engineer’s Note: A side brush that fails only on thick carpet often points to voltage sag: wheel motors draw more current, and the system drops “non-essential” outputs first.
Step 7 — Model architecture note: LiDAR Turret vs Vision Module
Many robots use a LiDAR Turret (rotating laser head) for mapping. Most Roombas rely on a Vision Module (camera-based vSLAM) and other sensors instead. If navigation gets unstable (bad lighting, dirty camera lens, reflective floors), Roomba may not hold wall-follow lines consistently—so you misinterpret a navigation issue as a brush motor issue.
Engineer’s Note: Clean the camera window with microfiber only. Scratches alter optics and poison vSLAM features.
Error Code Decoding Table (HTML Table)
| Light Pattern | Beep Count | Internal Meaning | Action |
|---|---|---|---|
| App/robot displays “Error 1001” (model-dependent) | N/A (varies by model) | Side brush stall / not spinning; mission may end early | Reboot → perform side brush care → replace Side Brush Module if it persists |
| Older models: error announced / indicator varies | 2 beeps | Main brush motor stalls; side brush may disable to reduce load | Clear brush cage, remove hair; retest side brush after main brush spins normally |
| Older models: error announced / indicator varies | 6 beeps | Cliff sensor false positive; safety loop interrupts edge behavior | Clean Cliff Sensors, move to brighter surface, rerun wall test |
| Older models: error announced / indicator varies | 9 beeps | Bumper sensing issue; wall-follow logic becomes unstable | Free the bumper, clean around it; verify Bumper Micro-switches click cleanly |
Beep-count mappings above come from a consolidated legacy Roomba error-code reference and help you interpret old-series behavior; your exact indicator may differ by model. :contentReference[oaicite:3]{index=3}
FAQ (Technical Q&A only)
1) The side brush never twitches. Should I suspect software or hardware first?
Assume a command suppression or open circuit. Run the wall-follow test, then bench-test with a cliff-sensor mask. If the brush still shows zero twitch and you read an open motor coil or a dead connector, replace the Side Brush Module.
2) The brush twitches and clicks. Why does Roomba “give up” so fast?
Roomba protects the driver and motor. A stall spikes current, so firmware cuts PWM to prevent heat. That behavior signals a mechanical overload in the gearbox or a worn gear tooth that skips under torque.
3) Can bad navigation really look like a side-brush failure?
Yes. Edge sweeping relies on stable wall-follow segments. Dirty Cliff Sensors, a sticky Bumper Micro-switch, encoder drift from one wheel, or poor Vision Module conditions can keep Roomba in correction loops. Fix the sensor inputs first, then judge the brush output.
Reference (official iRobot guidance):
iRobot: The Roomba side brush is not spinning
Leave a Reply