Here are some information I collected over time of my own vacuum robots and some information I found elsewhere. This table is far from complete, as I still need to sort my documents and files ;) If you find a mistake, feel free to contact me (dennis [at] dontvacuum.me).
Robot hardware and firmware
Robot features
Rootability, custom firmware, config files and teardowns
Pictures of models
Modelname | Model ID | Codename | Firmware | Soundfiles | SoC | RAM | Flash | MCU | WiFi | OS (Kernel) | Year |
---|---|---|---|---|---|---|---|---|---|---|---|
Xiaomi Vacuum Robot | rockrobo.vacuum.v1 | ruby | ccrypt, unsigned | ccrypt, unsigned | Allwinner R16 (4x) | 512MByte | 4GByte eMMC | STM32F103VCT6 | RTL8189ETV | Ubuntu 14.04 (3.4.x) | Q3/2016 |
Roborock S5 / S50 | roborock.vacuum.s5 | rubys | ccrypt, unsigned | ccrypt, unsigned | Allwinner R16 (4x) | 512MByte | 4GByte eMMC | STM32F103VCT6 | RTL8189ETV | Ubuntu 14.04 (3.4.x) | Q4/2017 |
Roborock S6 / T6 | roborock.vacuum.s6, roborock.vacuum.t6 (CN) | tanos | A=enc(AES-256-CBC), signed (RSA) | A=enc, signed | Allwinner R16 (4x) | 512MByte | 4GByte eMMC | STM32F103VCT6 | RTL8189ETV | Ubuntu 14.04 (3.4.x) | Q2/2019 |
Roborock S4 / T4 | roborock.vacuum.s4, roborock.vacuum.t4 (CN) | rubyplus | A=enc(AES-256-CBC), signed (RSA) | A=enc, signed | Allwinner R16 (4x) | 512MByte | 4GByte eMMC | STM32F103VCT6 | RTL8189ETV | Ubuntu 14.04 (3.4.x) | Q3/2019 |
Xiaomi Vacuum Robot 1S | roborock.vacuum.m1s | ruby2 | B=enc, sign, header in TZ | A=enc, signed | Rockchip RK3326 (4x) | 512MByte | 4GByte eMMC | STM32F103VET6 | RTL8189ETV | Linux (4.4.x) | Q2/2019 |
Roborock S5 Max | roborock.vacuum.s5e | rubyslite | C=enc(AES-256-CBC), signed (RSA), sqfs | B=enc, signed, sqfs, ogg | Allwinner R16 (4x) | 256MByte | 512MByte NAND (2019) 256MByte NAND (2020) |
STM32F103VCT6 | RTL8189ETV | Ubuntu 14.04 (3.4.x) | Q4/2019 |
Roborock S6 Pure / P5 | roborock.vacuum.a08, roborock.vacuum.p5 (CN) | rubysc1 | D=enc(AES-256-CBC), signed (RSA), sqfs | B=enc, signed, sqfs, ogg | Allwinner R16 (4x) | 256MByte | 512MByte NAND | STM32F103VCT6 | RTL8189ETV | Q4/2019(P5) Q1/2020(A08) | |
Roborock S6 MaxV / T7 Pro | roborock.vacuum.a10, roborock.vacuum.a09 (CN) | tanosv | E=enc, signed, header in TZ | Qualcomm APQ8053 (8x) | 1GByte | 4GByte eMCP | STM32F103VCT6 | Qualcomm | Android (3.18.x) | Q2/2020 | |
Roborock T7 | roborock.vacuum.a11 (CN) | tanose | F=enc(AES-256-CBC), signed (RSA), sqfs | B=enc, signed, sqfs, ogg | Allwinner R16 (4x) | 256MByte | 512MByte NAND | STM32F103VCT6 | RTL8189ETV | Ubuntu 14.04 (3.4.x) | Q1/2020 |
Roborock Xiaowa E2 | roborock.vacuum.e2 | sapphire | ESP32 plain | ESP32 | GD32F303ZET6 | ESP32 | RTOS | Q1/2019 | |||
Roborock E4 | roborock.vacuum.a01 | saplite | ESP32 plain | ESP32 | ESP32 | RTOS | Q1/2020 | ||||
Roborock T7 Lite | roborock.vacuum.a05 | 2020 | |||||||||
Xiaomi Vacuum 1C | dreame.vacuum.mc1808 | p1904 | X=enc(2x), signed, sqfs | tar.gz, unsigned | Allwinner MR133 (4x) | 512MByte | 256MByte NAND | GD32F303*ET6 | 6189N-SFC | OpenWRT (4.9.x) | Q4/2019 |
Dreame Robot Vacuum-Mop F9 | dreame.vacuum.p2008 | p2008 | X=enc(2x), signed, sqfs | tar.gz, unsigned | Allwinner MR133 (4x) | 512MByte | 256MByte NAND | GD32F303*ET6 | 6189N-SFC | OpenWRT (4.9.x) | Q2/2020 |
Dreame Robot Vacuum D9 | dreame.vacuum.p2009 | p2009 | X=enc(2x), signed, sqfs | tar.gz, unsigned | Allwinner MR133 (4x) | 256MByte | 256MByte NAND | GD32F303*ET6 | 6189N-SFC | OpenWRT (4.9.x) | Q4/2020 |
Xiaomi Vacuum 1T | dreame.vacuum.p2041 | p2041 | tar.gz, unsigned | Allwinner MR813 (4x) | 1GByte | 512MByte NAND | GD32F303*ET6 | 6189N-SFC | OpenWRT (4.9.x) | Q4/2020 | |
Viomi V2 | viomi.vacuum.v6 | X=sqfs, unencrypted | Allwinner A33 (4x) | 512MByte | 256MByte NAND | GD32F103VCT6 | RTL8189ETV | OpenWRT (3.4.x) | Q2/2019 | ||
Mi Robot Vacuum-Mop P | viomi.vacuum.v7 (CN) | Y=sqfs, encrypted, dmverity | Allwinner A33 (4x) | 512MByte | 256MByte NAND | GD32F103VCT6 | RTL8189ETV | OpenWRT (3.4.x) | Q2/2019 | ||
Mi Robot Vacuum-Mop P | viomi.vacuum.v8 (global) | Z=sqfs, encrypted | Allwinner A33 (4x) | 512MByte | 256MByte NAND | GD32F103VCT6 | RTL8189ETV | OpenWRT (3.4.x) | Q3/2019 |
Modelname | LIDAR | Camera | Mop | Waterpump | LIDAR-tower bumper | IR-dropsensors | Frontsensor | IR-sidesensor | Cloud |
---|---|---|---|---|---|---|---|---|---|
Xiaomi Vacuum Robot | Y | N | N | N | N | 4x | Ultrasonic | Y | miIO (3.5.8) |
Roborock S5 / S50 | Y | N | Y | N | Y | 4x | IR | Y | miIO (3.5.8) |
Roborock S6 / T6 | Y | N | Y | N | Y | 6x | IR | Y | miIO (3.5.8), tuya |
Roborock S4 / T4 | Y | N | N | N | N | 4x | IR | Y | miIO (3.5.8), tuya |
Xiaomi Vacuum Robot 1S | Y | Y (1x OV7251 up facing[640x480]) | N | N | N | 4x | - | Y | miIO (3.5.8) |
Roborock S5 Max | Y | N | Y | Y | N (2019) Y (>2020) |
4x | IR | Y | miIO (3.5.8), tuya |
Roborock S6 Pure / P5 | Y | N | Y | N | Y | 4x | IR | Y | miIO (3.5.8), tuya |
Roborock S6 MaxV / T7 Pro | Y | Y (2x OV5695 front [1920x1080]) with IR illumination | Y | Y | Y | 6x | Cameras | Y | miIO (3.5.8), tuya |
Roborock T7 | Y | N | Y | Y | Y | 6x | IR | Y | miIO (3.5.8), tuya |
Roborock Xiaowa E2 | N | N | Y | N | - | miIO | |||
Roborock E4 | N | N | Y | N | - | miIO | |||
Roborock T7 Lite | miIO (3.5.8), tuya | ||||||||
Xiaomi Vacuum 1C | N | Y (1x OV7251 up facing[640x480]) | Y | Y | - | Y (bar) | miIO (3.5.8) | ||
Dreame Robot Vacuum-Mop F9 | N | Y (1x SC031GS up facing[640x480]) | Y | Y | - | Y (bar) | miIO (3.5.8) | ||
Dreame Robot Vacuum D9 | Y | N | Y | Y | Y | Y | miIO (3.5.8) | ||
Xiaomi Vacuum 1T | N | Y (1x SC031GS up facing [640x480], 1x ToF camera to the front[224x1558]) | Y | Y | - | ToF | miIO (4.1.2 + Security Chip) | ||
Viomi V2 | Y | N | Y | N | 4x | miIO (3.5.8) | |||
Mi Robot Vacuum-Mop P | Y | N | Y | N | 4x | miIO (3.5.8) |
Modelname | Root possible? (since) * | Root method public? * | Valetudo support | |
---|---|---|---|---|
Xiaomi Vacuum Robot | Yes (Q2/2017) | Yes | Yes | Teardown FW Firmware builder |
Roborock S5 / S50 | Yes (Q1/2018) | Yes | Yes | Teardown FW Firmware builder |
Roborock S6 / T6 | Yes (Q2/2019) | Yes | Yes | Teardown Root Configfiles (S6) Configfiles (T6) FW (S6) FW (T6) Firmware builder |
Roborock S4 / T4 | Yes (Q3/2019) | Yes | Yes | Teardown Configfiles (S4) FW (S4) FW (T4) Firmware builder |
Xiaomi Vacuum Robot 1S | Yes (Q2/2019) | No - Method requires the usage of 0-Days/exploits in hardware/software and the usage of cryptographic keys. Rooting might be possible at in-person meetings and events (e.g. CCC, DEFCON, etc). | Yes | Teardown FW (M1S) |
Roborock S5 Max | Yes (Q4/2019) | Yes | Yes | FW (S5e) Rooting Cheatsheet Firmware builder |
Roborock S6 Pure / P5 | Yes (Q2/2020) | Yes | Yes | Rooting Cheatsheet Firmware builder |
Roborock S6 MaxV / T7 Pro | Yes (Q2/2020) | No - Method requires the usage of 0-Days/exploits in hardware/software and the usage of cryptographic keys. Rooting might be possible at in-person meetings and events (e.g. CCC, DEFCON, etc). | Yes - needs a custom version | |
Roborock T7 | Yes (Q2/2020) | Yes (same as S5E, but requires different firmware. Contact me for infos) | Yes | Configfiles (A11) FW (A11) |
Roborock Xiaowa E2 | No | No - Unlikely that I will ever create one | No | |
Roborock E4 | No | No - Unlikely that I will ever create one | No | |
Roborock T7 Lite | ||||
Xiaomi Vacuum 1C | Yes (Q1/2020) | No - Tooling is in development | Yes | Teardown |
Dreame Robot Vacuum-Mop F9 | Yes (Q3/2020) | No - Tooling is in development | WIP | |
Viomi V2 | Yes (Q2/2019) | No - WIP * | Yes | Teardown FW |
Mi Robot Vacuum-Mop P | Yes (Q2/2020) | No - WIP * | Yes | FW (v7,CN) FW (v8) |
* No does not mean that it is not possible or does not exist. It is just that I don't own the model, have no interest in it, it is not on my priority list or I did not publish it yet. "Since" date gives you an idea since when *my* robots were rooted or when I rooted someone else robot.
Click on the picture to enlarge it
You miss a device here and feel generous? Check out the Donations page here ;)