How to improve the program of the robot vacuum cleaner Xiaomi: from firmware to fine settings

Why Xiaomi’s standard robot vacuum cleaner settings are often ineffective

Xiaomi’s robot vacuum cleaners (Mi Robot Vacuum, Viomi, Dreame) out of the box run on basic algorithms that don’t take into account the specifics of your home. The manufacturer focuses on the β€œaverage user”, but the real-world conditions are always unique: the layout of the apartment, the type of coatings, the presence of pets or children. As a result, even top-end models like Xiaomi Robot Vacuum-Mop 2 Ultra can skip corners, get stuck in the same places or waste time cleaning already clean areas.

The key problem is software: standard firmware limits functionality to minimize support calls. For example, the menu lacks options to adjust sensor sensitivity, adjust mapping algorithms, or flexible cleaning schedules. Meanwhile, these parameters can be optimized through both official tools and third-party solutions. Next, we will discuss specific methods that will increase efficiency by 30-70% depending on the model.

⚠️ Note: Not all methods are compatible with older models (released before 2020).For example, Xiaomi Mi Robot Vacuum 1 does not support real-time map updates, and Viomi does not support real-time map updates. V3 lacking API Before making changes, check the specifications of your model on the official website or in documents.

1. Firmware Update: Why This Is the First Step

The firmware of the robot vacuum cleaner is its "operating system" that manages all algorithms, from navigation to obstacle detection. Xiaomi regularly releases updates, but they are not always installed automatically. v3.5.8_003024 for DreameBot L10s Ultra corrected bugs with hanging when cleaning carpets with high pile, and in v1.8.5_001231 For Mi Robot Vacuum-Mop 2 Lite added support for areas with different cleaning intensity.

To check the relevance of the firmware:

  • πŸ“± Open the Mi Home app (or Xiaomi Home for new models).
  • πŸ€– Select your robot vacuum cleaner in the list of devices.
  • βš™οΈ Go to Settings. β†’ About the device β†’ Firmware update.
  • πŸ”„ If a new version is available, click Update and wait until it is completed (the robot will restart).

⚠️ Note: Do not interrupt the upgrade process or turn the robot off the socket. in LiDAR models (e.g. Xiaomi) S7) interrupted updates can cause sensor calibration failure, which will require resetting to factory settings via the Reset button (hold 10 seconds).

πŸ“Š What model of Xiaomi robot vacuum cleaner you use?
Mi Robot Vacuum (1st or 2nd generation)
Viomi V2/V3
DreameBot (L10, D9, etc.)
Xiaomi S7/S7 Pro
Another model

2. Optimization of the room map: how to fix navigation errors

An inaccurate map is the main reason why a robot skips lots or wastes time cleaning again.

  • πŸͺŸ Reflections of light (mirrors, glass surfaces knock down LiDAR).
  • πŸͺ‘ Transparent furniture (glass tables or chairs with invisible legs).
  • πŸšͺ Frequently Opening Doors (Robots Can Forget Rooms).
  • πŸ• Moving objects (pets or children).

To improve mapping:

  1. Restart map construction: in the application delete the current map (Settings) β†’ Map. β†’ Delete the map and start the robot to clean it completely. Z10 Pro) just press Update map.
  2. Add virtual walls: In the app, draw the areas the robot must bypass (useful for stairs or fragile objects).
  3. Use beacons: For models with Xiaomi Beacon support (such as Mi Robot Vacuum-Mop 2 Pro), place beacons in problem areas (corners, corridors).

A critical mistake many users make: ignoring the LiDAR calibration after the robot moves to another room. If you move the device to the country house or another apartment, be sure to calibrate through Settings. β†’ Additionally. β†’ LiDAR calibration (not available on all models).

β˜‘οΈ Preparation for map re-creation

Done: 0 / 4

3.Tune the cleaning algorithms through hidden menus

The official Mi Home app hides a number of settings that can be activated via an engineering menu or Bluetooth commands. V3 and DreameBot D9 There are undocumented options for:

  • πŸ”„ Changes in the speed of rotation of brushes (useful for carpets with long pile).
  • πŸ“Š Adjust the sensitivity of the dirt sensors (so that the robot does not β€œthink” that the clean floor is dirty).
  • πŸš€ Activation of the Turbo mode for complex areas (automatically activated when severe contamination is detected).

To get into the engineering menu:

  1. Press and hold the power button and the home button on the robot body for 5 seconds.
  2. In the menu that appears, select Debug Mode (use the buttons on the case for navigation).
  3. Find the Brush Speed, Dirt Sensor or Turbo Mode options (names may vary).

⚠️ Attention: Sloppy changes in the engineering menu can cause sensors to fail. For example, if you set the sensitivity of the dirt sensor (Dirt Sensor: High), the robot will waste water and energy to re-clean perfectly clean areas:

ParameterRecommended valueConsequences of improper setting
Brush SpeedMedium (for laminate), High (for carpets)Overheating of the engine with Max on long cleaning
Dirt SensorNormal (for most cases)False positives at High on dusty surfaces
Turbo ModeAuto (only activated if necessary)Fast battery discharge with forced on

4.Integration with Home Assistant for Advanced Control

The official Mi Home app limits the flexibility of settings. The alternative is to connect the robot to the Home Assistant smart home system through a component. xiaomi_miio. That'll allow it:

  • πŸ“… Create complex schedules (e.g., cleaning only when no one is home).
  • πŸ”§ Set up automation (start cleaning after opening windows for airing).
  • πŸ“Š Monitor the status of the robot (charge level, wear of brushes, sensor errors).

Instructions for connection:

  1. Install Home Assistant on a Raspberry Pi or other server.
  2. Add the lines to the configuration.yaml file: vacuum: - platform: xiaomi_miio host: IP_Address robot token: Yours_TOKEN Token can be accessed through the Mi Home app (use tools like Mi Home Token Extractor).
  3. Reboot Home Assistant and add the robot as a device.

Example of automation for cleaning on schedule (automations.yaml file):

alias: "Weekday cleaning at 10:00"


trigger:




platform: time




at: "10:00:00"




condition:




- condition: time




weekday:




- mon




- tue




- wed




- thu




- fri




action:




service: vacuum.start




target:




entity_id: vacuum.xiaomi_vacuum

πŸ’‘

If the robot does not connect to Home Assistant, check that the protocol is disabled in the Wi-Fi settings of the router. IPv6 β€” Some Xiaomi models are not working properly with it.

5. Replacement of standard software with custom firmware (for advanced)

For models based on Rockchip or Allwinner processors (e.g. Xiaomi Mi Robot Vacuum 1 or Viomi) V2) There are custom firmwares like Valetudo or Dustcloud that give you complete control of the robot, including the robot:

  • πŸ—ΊοΈ Manual map editing (combining rooms, adding zones).
  • πŸ”Œ Office SSH (debug-script).
  • πŸ“± Alternative mobile clients (without cloud dependency).

Valetudo installation process:

  1. Download the firmware from the official website (select the version for your model).
  2. Connect the robot to the computer USB (will require an adapter USB-TTL console-access).
  3. Run the firmware script: sudo./flash.sh /path/to/firmware.bin
  4. Once rebooted, the robot will create its own Valetudo-XXX hotspot. Connect to it and configure via a web interface (http://192.168.4.1).

⚠️ Attention: Castom firmware is warranty-free and can lead to unstable sensors. For example, after installing Dustcloud on the Xiaomi Mi Robot Vacuum 1, users reported failures in determining the height of the carpets. Before firmware, back up the original software through the command:

adb backup -f backup.ab -apk -obb -shared -all -system
List of compatible models with Valetudo
Xiaomi Mi Robot Vacuum 1 (v1, v2), Viomi V2, Viomi V3, DreameBot D9 (requires a patch), Roborock S5 (partial support).

6. Optimization of consumables: brushes, filters, wipes

Even the most advanced software can't do that if the robot can't physically clean, and the problems are often:

  • 🧹 Worn-out brushes (recommended replacement time – every 6-8 months).
  • 🧽 Clogged filters (especially if there are animals in the house).
  • πŸ’§ Wrong Washing Wraps (Too thick or thin can degrade quality).

Recommendations for the selection of consumables:

ComponentRecommendationsWhat happens if you ignore it?
Side brushesOriginal Xiaomi or analogues from Roborock (pile length 3-4 cm)Skipping corners, winding hair on the axis
HEPA-filterChange every 3 months (for allergies - more often)Reduced suction power, spread of dust
Washing wipesMicrofibre 0.3–0.5 mm thick (e.g. Swiffer)Divorces on the floor or insufficient moisture

πŸ’‘ If the robot is getting worse at sucking, but the filter and brushes are fine, check the turbine. In Xiaomi Mi Robot Vacuum-Mop 2 models, it is often clogged with hair:

  1. Remove the top cover (Torx screwdriver) T5).
  2. Remove the turbine and remove the trash with tweezers.
  3. Blow in compressed air (do not use water!).

7. Solving typical problems: stuck, errors, failures

Even after all the optimizations, the robot can behave inappropriately, and let's look at the most common problems and ways to solve them:

Problem 1: The robot gets stuck on doorsteps or carpets.

  • πŸ”Ή Increase the threshold height in settings (Settings) β†’ Additionally. β†’ Obstacles β†’ Threshold height).
  • πŸ”Ή Use ramp pads for a smooth transition (e.g. Roborock Ramp).
  • πŸ”Ή Turn off the Boost Carpet function if the robot presses too hard against the pile.

Problem 2: Error The drop sensor has worked (code 10).

  • πŸ”Ή Wipe the sensors under the bottom of the robot with an alcohol napkin (they may be contaminated).
  • πŸ”Ή Check if the debris has hit the sensor holes (use a toothpick).
  • πŸ”Ή If the error appears on a flat surface, the gyroscope calibration is required (Settings) β†’ Reset β†’ Calibration of the gyroscope).

Problem 3: The robot is not returning to base.

  • πŸ”Ή Make sure that 1.5 m is free on each side of the base.
  • πŸ”Ή Check if the IR sensor on the base is closed (it should flash green).
  • πŸ”Ή Reboot the robot (hold the power button for 10 seconds).

πŸ’‘

If the robot constantly gives out a code 5 error (a problem with the wheel), check not only the wheel itself, but also the gearbox - often it gets sand or small debris.

FAQ: Frequent questions about improving the robot vacuum cleaner Xiaomi

Can custom firmware be installed on new models (2023-2026)?
New models (e.g. Xiaomi Robot Vacuum-Mop 2 Ultra or DreameBot) X30 Ultra) use closed protocols and secure bootloaders, making custom software installation extremely difficult or impossible. Alternatively, using Home Assistant for advanced management through official API.
How to increase battery life?
The time depends on the model, but the general recommendations: πŸ”‹ Use Balance mode instead of Maximum (saves up to 30% charge). πŸ”„ Regularly discharge the battery to 20% and charge to 100% (calibration). πŸ›‘ Avoid storing a robot on a full battery base (optimally 40–60%). V3) It can be replaced with a higher capacity version (up to 5200 mAh instead of the standard 3200 mAh).
Why is a robot not good at washing floors?
Causes and solutions: πŸ’¦ Little water: check the humidification settings in the app (Settings) β†’ Washing floors β†’ Intensity). 🧽 Dirty wipes: Wash them after each cleaning (manually, without air conditioning). πŸ”§ Clogged nozzles: Clean the water holes with a toothpick. For best results, use distilled water, which prevents plaque from forming in the tank.
Can a robot vacuum cleaner be used to clean construction dust?
No, it will break down. Construction dust (gypsum, cement, small sawdust) clogs the filters, turbines and wheel bearings. If you need to remove such debris: Use the robot only for pre-cleaning (no water!). After cleaning, completely disassemble and rinse the turbine, filters and brushes. Replace. HEPA-filter after 1-2 such cleanings. For regular cleaning of construction dust, it is better to use specialized vacuum cleaners (for example, Karcher or Makita).
How to reset the robot to factory settings if it does not respond to the application?
Perform hardware reset: Turn off the robot (hold the power button for 3 seconds). Press and hold the Home button and the power button simultaneously for 10 seconds. After the beep release the buttons, the robot will restart and reset the settings. If the reset does not help, connect the robot to the computer USB Use the MiRobot utility for forced flashing.