Your Roborock drives confidently toward a stair edge… and doesn’t brake. The front drops, the drive wheels “whirr” as they lose traction, and you hear that sharp plastic-thud when it hits the lower step. Or you get the opposite glitch: it reaches a dark rug, chirps/announces an error, backs up, spins, and repeats the same “I’m at a cliff” routine like it’s stuck in a safety loop.
// SYSTEM ERROR LOG
- ⚠️ Symptom: Robot fails to detect stair edges (falls) OR triggers false “cliff” events on dark/shag carpet (backs up + spins).
- 🔍 Primary Suspect: Cliff Sensors reporting wrong IR reflectance due to lens contamination, scratches, or a dead IR emitter/receiver pair.
- 🛠️ Fix Difficulty: Level 2/5 (Level 4/5 if you replace a sensor module)
- ⏱️ Est. Downtime: 12–35 minutes (cleaning + validation test run)
The Logic: Why Your Robot is Confused
Your Roborock runs a safety routine that treats a cliff event as “high severity.” The control board samples the Cliff Sensors (IR emitter + IR receiver behind the bottom-facing lens windows). When the sensor sees low IR return, the firmware interprets that as “no floor” and triggers a state change: it cuts forward motion, reverses, and commands a turn to escape.
Two failure modes create your exact behavior:
- False Negative (Dangerous): The robot approaches stairs and doesn’t detect the drop. Common causes: a greasy film on the lens window, micro-scratches that scatter IR, a cracked lens, or a dead IR LED on one sensor that drags the whole sensor array’s confidence down.
- False Positive (Annoying): The robot “sees” a cliff on dark carpet or shag. Dark fibers absorb IR like a drop-off does, so the robot trips its own safety threshold and loops.
Roborock also cross-checks navigation with Wheel Encoders and the IMU (Gyroscope + accelerometer). If an encoder sends inconsistent counts (hair drag, grit in the wheel module), the robot can misjudge motion and overreact to borderline cliff readings. A jammy Bumper Micro-switch can also interrupt route logic and make the robot look “confused,” but it rarely causes true stair falls.
Protocol 1: The “Soft” Fix (Software & Reset)
1) Force a full sensor-state reboot (not just “pause/resume”)
- Dock the robot, then power it off from the unit (not only the app).
- Wait 30 seconds. Power it back on.
Engineer’s Note: A reboot clears the cliff-safety state machine and reloads sensor baselines. If the robot latched a cliff event mid-turn, it can keep biasing away from edges until you restart.
2) Update firmware (or roll it clean with a factory reset if glitches persist)
- Open the Roborock app → check firmware updates → install them.
- If the robot keeps throwing the same cliff behavior after cleaning, run a factory reset so the system rebuilds maps and sensor assumptions from scratch.
Engineer’s Note: A factory reset deletes maps and schedules. It also can revert firmware to the factory version on some models, so you may need to update again afterward.
3) Fix Wi-Fi band problems before you blame “AI navigation”
- Connect the robot to 2.4GHz Wi-Fi (many robots refuse 5GHz).
- Disable VPN on your phone during pairing.
Engineer’s Note: When the app can’t communicate reliably, the robot can miss firmware/config pushes. That makes a real sensor issue look like a “random logic bug.”
Reference (official):
Roborock Error 4 guidance (Cliff Sensors / dark or shag carpet)
Protocol 2: Hardware Intervention
Step 1 — Identify every Cliff Sensor window and inspect it like optics, not plastic
- Flip the robot over on a towel.
- Locate the bottom-facing Cliff Sensor lens windows (usually multiple small dark/clear windows near the perimeter).
- Use a flashlight at a shallow angle. Look for haze, a rainbow smear (cleaner residue), or fine scratches that look like spiderweb lines.
Engineer’s Note: A lens can look “clean” straight-on and still scatter IR. Use side lighting to reveal micro-film.
Step 2 — Clean the lens windows with controlled solvent, not water
- Use a dry microfiber cloth first.
- Dampen a foam swab or microfiber corner with 90%+ isopropyl alcohol and wipe each lens window for 10–15 seconds.
- Buff dry immediately until the plastic looks crystal-clear (no streaks).
Engineer’s Note: Avoid household glass cleaner. Many formulas leave a surfactant film that looks invisible but ruins IR reflectance.
Step 3 — Remove the “pitch bias” that fakes cliff readings (caster + wheel drag)
- Spin each drive wheel by hand. It should feel smooth, not gritty, and it should rebound on the suspension.
- Pull the front caster wheel out (most pop out with a firm tug) and remove wrapped hair. Listen for a dry squeak or feel a sticky notch as it turns.
Engineer’s Note: Cliff logic hates sudden pitch changes. A dragging caster can tip the nose down right at an edge and push cliff readings over the threshold.
Step 4 — Run the quick IR emitter check (find a dead sensor fast)
- Turn the robot on while it sits upside-down (keep hands clear of brush motors).
- Open your phone camera and point it at each Cliff Sensor window. Many IR emitters appear as a faint purple/white glow on phone sensors.
- Compare left-to-right. One “dark” window while others glow strongly often signals a dead IR LED or a failed sensor PCB.
Engineer’s Note: This test gives you a fast “signal present / signal missing” result. It does not measure receiver sensitivity, but it flags obvious emitter failures.
Step 5 — Reseat the Cliff Sensor harness if you suspect intermittent failures
- Power off and remove the robot from the dock.
- Remove the bottom plate screws (use a Phillips #0).
- Locate the Cliff Sensor connector(s) and the ribbon/harness to the mainboard. Unplug and re-plug firmly.
Engineer’s Note: Don’t yank wires. Pull the connector body. A half-seated plug can produce “random” cliff trips that show up only on turns.
Step 6 — Clean the navigation optics that influence approach behavior (LiDAR + Vision Module)
- Wipe the LiDAR Turret top lens with a dry microfiber only.
- Wipe the front Vision Module / front sensors (if your model has them).
Engineer’s Note: Don’t use water on LiDAR optics. Scratches or residue can degrade ranging and make the robot approach edges at the wrong angle or speed.
Safety rule: Do this only in a flat, controlled area and keep the robot away from stairs. Restore normal sensor operation before you run it anywhere with drop-offs.
Error Code Decoding Table
| Light Pattern | Beep Count | Internal Meaning | Action |
|---|---|---|---|
| Power indicator flashes red + voice prompt “Error 4” | 0 (voice prompt) | Cliff Sensors read “no floor” (real edge OR false low IR return) | Clean lens windows, test IR emitters, avoid dark/shag carpet, reseat sensor harness |
| Power indicator flashes red + voice prompt “Error 7” | 0 (voice prompt) | Wheel Encoders detect stall / drive wheel binds | Spin wheels manually, clear debris/hair, verify wheel suspension travel |
| Power indicator flashes red + voice prompt “Error 1” | 0 (voice prompt) | LiDAR Turret fails to spin / reports invalid scan | Check turret rotation, remove hair/grit, gently free the turret, reboot |
| Charging indicator anomaly + voice prompt “Error 13” | 0 (voice prompt) | Charging Contacts show high resistance / poor dock power detect | Clean contacts with alcohol/eraser, verify dock power, reseat cables |
FAQ (Technical Q&A)
1) My robot still falls after I cleaned the Cliff Sensors. What fails next most often?
Suspect a dead IR emitter or receiver on one sensor, or a cracked lens window. Run the phone-camera IR check. If one window stays dark while others glow, replace that Cliff Sensor module or the sensor PCB.
2) My robot refuses a black rug after sensor cleaning. Did I “break” the sensors?
No. Dark fibers absorb IR return and mimic a drop-off to the Cliff Sensors. The robot triggers a safety loop because it trusts that reading more than map guesswork. Use no-go zones for problem rugs, or change the rug.
3) Can I disable Cliff Sensors in the Roborock app?
Roborock treats Cliff Sensors as a core safety system. Don’t disable them for a home with stairs. If you only fight false positives on dark carpet, use controlled workarounds (temporary white paper) in a stair-free area and restore normal operation afterward.
Leave a Reply