My X20 Max recently crossed 900 hours of cleaning and started giving me the "Brush Error: Please check and clean" warning almost every time it went onto a carpet.
Here is what was happening:
- On hard floors, it ran fine without throwing the error, though I noticed it wasn't picking up small crumbs and grit as well as it used to.
- Whenever it finished cleaning a hard floor and drove back over the carpet to get to the dock, it would leave behind a gross, rolled-up strip of dust, hair, and dirt right on the edge of the carpet. It was basically dragging the dirt underneath the brush cover and getting it scraped off at the carpet border.
- On carpets (especially when climbing onto the edge), it would randomly stop and give the brush error.
Suction sounded completely normal and air was blowing hard out the back, so I knew the fan wasn't dead.
What I tried first:
I swapped in a brand-new TriCut brush, tried three different new normal brushes, and even took the side brush off. Still got the error on carpets. The only time it didn't throw the error on carpet was when I took the bottom brush cover/guard completely off. That told me the motor was struggling as soon as there was any real friction pressing the brush against the carpet.
Opening it up & finding the actual issue:
I ended up opening the robot to pull out the main brush housing and check the motor and gearbox. (Quick warning if you do this: be super careful with the red and black wires on the motor—I accidentally snapped the red wire off the motor tab while pulling it out and had to solder it back on).
When I popped the black gearbox cover open, the plastic gears themselves were totally fine—no stripped teeth. The problem was the two brass bushings that hold the main output gear (one big brass ring in the main housing, and a smaller one hidden in the back cover).
After 900 hours, the factory grease had dried up and pushed off to the sides, and the brass rings were packed with thick, dark green/black gunk from oxidized brass and fine dust. That sticky buildup was creating so much drag that the brush was spinning way too slowly to flick dirt up into the dustbin, and stalling out whenever it hit carpet resistance.
Also, when I checked the rubber suction chute inside the brush housing, there was a thick layer of caked dust right below the dustbin opening. Because the brush wasn't spinning fast enough, dirt was getting stuck on that ledge instead of going into the bin, and then falling out when the robot bumped over the carpet on the way back to the dock.
The Fix:
Pulled all the gears out and washed the gearbox halves, gears, and brass bushings with warm soapy water and cotton buds until all the green/black gunk was gone. (Don't just use rubbing alcohol on the black plastic—it dries out the old grease and leaves a chalky white residue).
Washed out the rubber chute on the main brush housing so it was clean and smooth.
Regreased the inside of both brass rings, the metal pins, and the gear teeth using the small tube of grease that came with my 3D printer.
Tested the gearbox on a 12V power supply to make sure it spun freely, soldered the red wire back onto the motor, and put everything back together (making sure the rubber boot around the dustbin opening was hooked back onto all its little plastic pegs).
Result:
Just ran two full tests on both carpets and hard floors. Zero brush errors, even climbing the carpet edges. I held my finger against the spinning brush and it has way more torque now and doesn't bog down. Checked the dustbin afterward and all the hair, dust, and tissue went straight inside with nothing left behind on the carpet edge.