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 | 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 | 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 | X=enc(2x), signed, sqfs | tar.gz, unsigned | Allwinner MR133 (4x) | 256MByte | 256MByte NAND | GD32F303*ET6 | 6189N-SFC | OpenWRT (4.9.x) | Q4/2020 | |
Viomi V2 | viomi.vacuum.v6 | Y=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, unencrypted | 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 |
Roborock S5 / S50 | Y | N | Y | N | Y | 4x | IR | Y | miIO |
Roborock S6 / T6 | Y | N | Y | N | Y | 6x | IR | Y | miIO, tuya |
Roborock S4 / T4 | Y | N | N | N | N | 4x | IR | Y | miIO, tuya |
Xiaomi Vacuum Robot 1S | Y | Y (1x OV7251 up facing) | N | N | N | 4x | - | Y | miIO |
Roborock S5 Max | Y | N | Y | Y | N (2019) Y (>2020) |
4x | IR | Y | miIO, tuya |
Roborock S6 Pure / P5 | Y | N | Y | N | Y | 4x | IR | Y | miIO, tuya |
Roborock S6 MaxV / T7 Pro | Y | Y (2x OV5695 front) with IR illumination | Y | Y | Y | 6x | Cameras | Y | miIO, tuya |
Roborock T7 | Y | N | Y | Y | Y | 6x | IR | Y | miIO, tuya |
Roborock Xiaowa E2 | N | N | Y | N | - | miIO | |||
Roborock E4 | N | N | Y | N | - | miIO | |||
Roborock T7 Lite | miIO, tuya | ||||||||
Xiaomi Vacuum 1C | N | Y (1x OV7251 up facing) | Y | Y | - | Y (bar) | miIO | ||
Dreame Robot Vacuum-Mop F9 | N | Y (1x OV7251 up facing) | Y | Y | - | Y (bar) | miIO | ||
Dreame Robot Vacuum D9 | Y | N | Y | Y | - | Y (bar) | miIO | ||
Viomi V2 | Y | N | Y | N | 4x | miIO | |||
Mi Robot Vacuum-Mop P | Y | N | Y | N | 4x | miIO |
Modelname | Root possible? (since) * | Root method public? * | Valetudo support | |
---|---|---|---|---|
Xiaomi Vacuum Robot | Yes (Q2/2017) | Yes | Yes | Teardown FW |
Roborock S5 / S50 | Yes (Q1/2018) | Yes | Yes | Teardown FW |
Roborock S6 / T6 | Yes (Q2/2019) | Yes | Yes | Teardown Root Configfiles (S6) Configfiles (T6) FW (S6) FW (T6) |
Roborock S4 / T4 | Yes (Q3/2019) | Yes | Yes | Teardown Configfiles (S4) FW (S4) FW (T4) |
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) | No - Howto is under investigation for a potential soft-bricking issue | Yes | FW (S5e) |
Roborock S6 Pure / P5 | Yes (Q2/2020) | No - Howto is under investigation for a potential soft-bricking issue | Yes | |
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) | No - Howto is under investigation for a potential soft-bricking issue | Yes | Configfiles (A11) FW (A11) |
Roborock Xiaowa E2 | No | No | No | |
Roborock E4 | No | No | 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 ;)