Viomi S9 UV Robot Vacuum Review

Written by blakadder on
Viomi S9 UV Robot Vacuum Review

It sweeps, it mops, it disinfects, it cleans itself!

THE battle station to enforce cleanliness in your home.

Viomi S9 is the flagship offering of Viomi. It is a robot vacuum that vacuums, mops and disinfects the floor at the same time and after doing all that it even empties the dustbin for you.

I bought my Viomi S9 UV in black from After paying with PayPal the package was shipped using DPD a day later and was delivered to my door in 3 days.

Wiibuying no longer exists as an online store and their webpage is dead.

If you decide to purchase your own Viomi S9 UV you can buy one from


In the box you get a robot vacuum, charging/emptying station with EU plug, combined 2-in1 dust bin and water tank, mop attachment with a microfibre mop pad, a spare sweeping brush, ten disposable mop pads and two extra dust bags. Plenty of extras to keep you going for a while



Once I got everything out of the plastic bags I was wowed by the design and finish, a far cry from the matte white plastic of previous generations of robot vacuums. The base black accented with blue on a glassy finish looks astounding and premium. The base station has a diamond blue pattern that gradients into solid black. It looks way, way better than the flat, lifeless renders used on Wiibuying. On other hand, its a damn fingerprint and dust magnet. Maybe the white model wouldn’t show every little speck of dust but, damn, black and blue is too cool.

Dust magnet

Because a robot vacuum gets a name in most households ours is henceforth known as Blue Steel (Brownie points everyone that gets the reference).

The S9 uses LDS2.0 sensor with SLAM algorithm for navigation situated in the centrally located turret. That makes it only 9.8 cm high and capable to crawl and clean under furniture. In case the clearance is barely there a pressure sensor in the turret will ensure it will not get stuck.

Navigation is excellent, the movements are precise and there’s a minimum of bumping other objects, its especially good at recognizing dark surfaces which used to be an issue in older vacuums.


Large rubberized wheels have a suspension system that enabled the S9 UV to clear 2 cm high obstacles like its on flat ground. It goes over door sills like they’re not there. In testing it could clear 2.4 cm obstacles but it will struggle with them occasionally. The programmed algorithm deals with them by alternating power in each wheel to shimmy up each one to clear the obstacle.


The vacuum motor is very powerful with a whopping 2700 Pa of suction which equates to windspeed of 66 meters per second. In my testing it cleaned exceptionally well and vacuumed up small stray objects like hair clips, small wires and corn kernels. It does get too loud when on maximum power but on quiet or even standard power mode the noise is tolerable.

To power all that, a 5200 mAh battery will let it work for a couple hours on highest setting. If the vacuum does run out battery, it will return to the station to recharge then continue where it left off. In my case it would clean around 55m2 on standard suction power and use up 36% of the battery while at highest suction level it would use 50% of the battery. The claim of 320m2 seems far fetched, even on lowest suction level.


This is the feature that never sit well with me on robot vacuums. True, it does the mopping instead of you but you need to prepare the vacuum for mopping and after its finished you have to remove the mop pad and wash and dry it. Furthermore, most manufactures, including Viomi, recommend against putting cleaning agents into the water tank.

S9 UV did make the preparation stage much easier. The dust bin and water tank aka 2-in-1 container is easily installed/removed from the back of the vacuum without needing to lift a lid making refilling with water a quick operation. The mop attachment clips onto the 2-in-1 container and there’s no need to flip the vacuum to prepare it for mopping or remove the pad.

Despite those solutions there are limitations that still require your attention when mopping. First world problems, I know…

2-in-1 Container

Water tank has the capacity of 250ml which will mop around 70m2 on water level 1. If you want to use levels 2 or 3 you will need to monitor the water tank visually because there is no water level sensor and no other way to know when the water runs out.

When done with mopping, the vacuum returns to charge and when it connects it gives a long voice prompt that it is not recommended to leave the wet mop pad during charging. That’s all nice but there’s no app notification! A huge omission that would greatly improve the user experience.

There is no way to start mopping using the buttons on the vacuum nor will it switch automagically into mopping mode if you connect the mop attachment, for which it does have a sensor and recognizes you attached it with a voice prompt. You have to use the app to switch to mop or vacuum+mop mode, there’s no other way around it.

Mop results

Said all that, it mops quite well. You can set it to use the normal S pattern used for vacuuming or the Y pattern which better simulates traditional hand mopping movements and arguably gives better results.

The floor is wetted and mopped evenly with sufficient pressure due to the mop pad situated low in the back. It’s easy to see the results of S9’s mopping when using disposable pads. Just don’t expect hardcore stain removal, for that you still need elbow grease.

Being a rebel and putting in a few drops of an all purpose cleaner, despite manufacturer’s recommendations, really freshens up the rooms and helps with cleaning.


This is the UV part of the name and the newest feature for robot vacuums. An ultraviolet light strip on the bottom of the vacuum is claimed to kill 5 kinds of common floor bacteria with 99.99% sterilization rate. There’s no easy way for me to test those claims so we’ll just take their word on it, for now.

The UV light turns on when the vacuums starts cleaning and is not controllable manually.

Base Station

Base Station

This charging station is also the dirt disposal station which is why it is so big. Once plugged it will light up with three indicators, from top to bottom: dust bag full indicator, self cleaning indicator and battery status indicator. The indicators only light up when the vacuum connects or you power up the whole stations. A nice capacitive touch area to light up the indicators would be a nice touch to check the status of the battery or dust bag.

A brush cleaning tool is placed next to the dust bag, which is a very nice touch since it will be almost impossible to lose it after a couple months.

Dust bag

Too bad they didn’t figure out a spot to store the mop attachment, at least some kind of clip in the back if it couldn’t be hidden inside the base station. That would be a great feature most would appreciate

Self Cleaning

Once the vacuum is done with cleaning and returns to charge the base station will hoover up all the collected dirt from the 2-in-1 container. When you lift the lid of the base station you will see a 3L dust bag, just like in a standard house vacuum. Viomi claims the dust bag should be changed every month but that would really depend on the size of the area cleaned and how dirty the floors get. Once it is full the indicator on the base station will light up in orange and you will get an in app notification.

Before and after

Strong suction power of the base station empties the dust bin almost completely


As a part of Xiaomi’s Mijia ecosystem it works with the Mi Home app on European servers with no issues. The main device page shows the room map and gives access to basic work modes, suction power, water tank settings and map editing features.


Mapping looks great and editing the map is very easy. You can set no-go or no-mop zones and virtual walls, split, merge and rename rooms.

Under the “…” icon are other features with, sometimes, cryptic or misleading names:

  • Vacuum along borders: a one off setting to clean corners more thoroughly
  • Repeat vacuuming: repeats the job for twice the cleaning power
  • Mopping and vacuuming & mopping mode: choose between S and Y movement modes
  • Vacuuming records: check previous cleaning jobs and cumulative vacuuming time and surface
  • Vacuuming appointment: customizable scheduling for cleaning jobs
  • Do not disturb: set DND time where vacuum will not use voice prompts
  • Dust switch: this option can disable self cleaning of the dust bin at the base station
  • Map list: add or delete additional maps. Supports 5 maps total
  • Clear map: despite the name it clears all saved maps on the device. Handle with care!
  • Voice packet: choose a voice pack between English, German or Chinese. I hear there’s a Russian pack as well for their market and Viomi promised more voice packs soon.
  • Voice switch: mutes voice prompts when turned on
  • Volume adjustment: set voice prompt volume
  • Consumable statistics: check or reset status of side brush, main brush or dust bin filter. Mop is also listed but without any stats.
  • Looking for the robot: robot will sound off with “I am here” to help you find it when it gets stuck
  • Remote control: terribly unresponsive and basic remote control for the vacuum, very frustrating to use
  • Equipment level: recalibrate the vacuum to your ground level

The rest of the options are standard Mi Home ones to change device name, location, set up device sharing with other Mi accounts, automations, firmware updates, etc


Mapping is detailed and the app recognizes different rooms on a fresh map very accurately. The map management, on the other hand, is lacking.

Scanning and saving a new map requires you to move the base station there. There is no room recognition and you need to manually switch to the one you want to clean.

If you do run a cleaning job on a wrong map, it will not recognize the room, tell you so, wipe the current map and start making a new one. To make things worse, there is no map backup feature, manual or automatic. I managed to wipe a nicely edited map a few times during testing and it was frustrating because some other Mijia vacuums do have map backups in Mi Home app.

You probably thought to copy an existing map into a new map slot but that is not an option. Only way to “protect” against an accidental wipe is to scan and edit a new map.


Another frustrating part of the app. All notifications boil down to one of the following: “Cleaning completed” and “Device error” with a timestamp. If you’re not in the room to hear the voice prompt of the error there’s no way to know what kind of error happened. You can only guess.


You know what’s the weirdest part? If you have the vacuum page opened in the app you get a full report about the error. Why couldn’t they simply use the same text for notifications?


When trying to add it in Google Home, it doesn’t get discovered when using Mi Home, you need to add it through Viomi MiHome in Works with Google. Once added, you can only start or pause the vacuum or dock it. There are no cleaning mode or strength options, for those you will still need to use Mi Home app.

Google Home

Home Assistant

Use the Xiaomi Miot Auto custom component and add the vacuum using the cloud option. Home Assistant will discover a vacuum entity and a battery sensor. Both entities will have all the available statuses of the vacuum (consumables, various modes, etc.) in sensor attributes. You will need to create a few template entities based off of the attributes and some automations/scripts to get total control. I will try and get deeper into those in another how-to article.

Home Assistant

Note: It can be added using IP/token for local control, but you will lose the room cleaning option and can only clean using coordinates.


This is a powerful dirt and germs killer that’s being slightly hindered by nonsensical choices in the app and limited integrations with other smart home systems. The design is, again, brilliant, vacuuming and mopping is the best I’ve seen yet and, cherry on top, it kills germs. Not needing to empty the dust bin every few days is actually a big plus, except for the reminder of how lazy I have become. Hopefully there will be more firmware and app updates to address all the nagging issues and get the user experience to the level this vacuum deserves.

If you’ve decided you want one head on over to

Yet another image

18 Months Later Update

The Viomi S9 UV has been in my household for over 18 months running daily, sometimes even twice covering the main part of the house (living room, kitchen, dining room, bathroom, hall and bedroom). As anticipated we’ve used the mopping feature maybe three times in total because of the lack of water level sensor and poor mopping performance.

Vacuuming is still great but I’ve spotted an issue with the main brush. It tangles long hairs so you have to regularly check it (maybe ever two weeks) and cut them off. I didn’t pay attention to it in the beginning and it really mangled the main brush rubber flaps and the brush hairs themselves. Combine that with way too many chewed up USB cables and other stray items it picked up from the floor so I’ve replaced that one as well with an orange version from AliExpress. Good thing the parts are so cheap.

Mangled brush

I’m changing the dust bag from the charging station roughly every 3 months so that’s not that bad since they can be bought in bulk from, you know it, AliExpress and end up costing less than 1.5$ per bag.

The battery started acting up two months ago and couldn’t be charged fully. Vacuum could finish only a third of it’s usual area before needing a recharge. Quick internet search revealed it’s a known issue and most likely the battery died. I’ve ordered a replacement battery from AliExpress that cost less than half of what I expected it to and the vacuum is now back to normal.

When I get a notification to change the HEPA filter I usually blow it out thoroughly with an air blower. I only changed it once although they’re cheap as well. I still haven’t changed the side brush and I still got the spare I received with it.

It is happily integrated with Home Assistant and can be controlled fully locally.


Chief shenaniganeer!


comments powered by Disqus