It is the 1749th of March 2020 (aka the 13th of December 2024)
You are 18.97.14.80,
pleased to meet you!
mailto:blog-at-heyrick-dot-eu
Budget robot vacuum cleaner - Tristar SZ-4187
On a whim, because... I decided to pick up a low cost robot vacuum cleaner. For a princely €49, I was not expecting much. I've seen some of these things before and, well, let's just say that I figured that I wasn't happy with it, I'd whip out whatever passes for a controller board (if, indeed, it was that advanced) and pop in an ESP32.
My new vacuum cleaner.
As it turns out, the device is actually quite a bit smarter than the low price might suggest.
Now, its low price means that there is no docking station. The charger is a little power brick and you have to plug it in.
Master power button and charging socket.
Additionally, its low price means there isn't any fancy auto-emptying dust panier. There's a little plastic box that doesn't hold that much (but enough for everyday levels of crap) and it's worth noting that when I did the rice test, it was a disaster. The suction on this machine is... not a lot. It did pick up some rice, but most of it was scattered all over the place. It does better with lighter more normal "dust".
Finally, its low price means that it makes no effort to map out the room. Instead it has three different behaviours that are:
Serpentine rows
Spiral
Sort of bouncing off the wall (that seems intended to go right up to the edges)
I'm not sure what logic it uses to switch modes, suffice to say that you may get an average sized room more or less cleaned before the battery runs out (the box claims 80 minutes) by pure luck of this device trundling around randomly.
Now let's flip it over and we'll start to see that it's better engineered than its price would indicate.
The underside is more interesting.
First up, the little brushes. These help flick the dirt towards the suction part, which is the slot in the middle of the robot. I've seen some models without these, and I can only imagine that the device is worse than useless without some way of getting the dirt towards the suction system and to agitate the dirt in order to loosen it for being sucked up. Surely devices without the brushes are just toys?
Next, note the wheels. Big, chunky, and individually driven. These wheels didn't have much difficulty in trundling onto a low flat piece of carpeting, nor passing over standard electric cables that were on the floor (though it suffered with the phone cable as it was much thinner and lighter and got caught up in the brush!).
Finally, note the little rectangle of transparent plastic just in front of the little rotating front wheel. This is an infra-red sensor. There are three, that one at the front, and another just outside of the positions of the wheels. This is so the device can detect when there's a drop so it'll immediately stop and not tumble to the ground. I placed the robot on the table and it sensed the edges competently. A quick test suggests that the activation distance is "about an inch", though it wasn't an empirical test.
Just as a side note, there is a piece of velcro-attachable white carpet-like stuff that is supposed to be a "mop" extra. I guess you get it wet and attach it to the underside of the device and it'll mop the floor for you as well as vacuuming it. That... isn't really how mops work, but I guess points for trying right?
The "mop" (note the scare quotes).
Now let's do what you've been waiting for. Let's crack it open.
This was refreshingly easy. Six screws around the outside of the case, and two inner clips either side of the dust chamber that unclip fairly easily when you gently tug to separate the case.
What's inside.
So, the first thing is the drop sensor that I mentioned. There are three that look like this.
The drop sensor.
The next thing to note is that front bumper. This is attached to two paddles that normally block an IR sensor. There is one for the left, another for the right. There is no need to have one for a front hit, as this can be detected by both of the paddles moving at the same time.
Actually, with cleverer code, it would be possible to time the interval between the beams being broken to know where around the bumper it hit.
Bumper sensing.
The sweeper brushes are individually driven by motors. Here is one of them, the motor connects to a sealed gearing mechanism. It's a simple DC motor as it just runs at the same speed in the same direction.
Sweeper motor.
More motors drive the wheels, also through a gearing mechanism. This is likely to be either a stepper or a BLDC (DC three phase) motor as it is not only bi-directional but also variable speed. Though, I suppose to be cheap it could also be driven off PWM...?
Wheel drive motor.
That odd finned cap on the end isn't for cooling, it's for sensing the rotational speed. This is part of why I wonder if it's PWM rather than anything smart directly controlling the motor. I did notice that if I raised the robot slightly and set it running, it would flash the red error light after a few seconds. How is it detecting that it isn't actually trundling?
The fins block an IR sensor/receiver pair, it's a mechanism similar to how old-fashioned mice (with balls) worked.
Speed sensor.
At the back is yet another motor, making five active during normal use. This motor is the extraction fan that provides suction. In this case, it is simply pushing air away from it which causes air to need to fill the space, hence suction. It's not great but it works...somewhat noisily.
This sucks.
Given there's a lot more going on here than seemed at first glance, it's clear that there's going to be a rather more interesting circuit board. Here it is.
Control board.
The board is marked KRV 305 DOVE V1.4 and underneath it says 2023.08.07 By: Mr.H and neither Bing nor Google shed any light on this, besides 305 Dove being part of an address in the United States (several locations), and KRV being a typical part of a model number of scooters made by the Taiwanese motorcycle manufacturer Kymco.
Front left, a connection to the front drop sensor. Front right, an unconnected socket marked "IR". Maybe a slightly better model has some sort of IR controller?
Up the left, bottom of the picture to the top: the power to the right brush motor, the thick bundle of blue wires to the right wheel motor, the input from the DC jack, and the wires to the power switch.
Just to the right of the upper plug, on the other side of the board, is the socket for the battery.
Up the right, now: the power to the left brush motor, the bundle to the left wheel motor, and the connection to the left drop sensor.
Finally, across the top. On the left the connection to the right drop sensor. On the right, power to the fan motor.
There are a few eight pin ICs on the board. I can't make out part numbers as there's a sort of glue/vanish stuff on top. Given where they are, I'm going to make a guess that they're FETs or Darlingtons or something, namely a way to use low power low voltage to switch the higher power/voltage to the motors.
Transistor packs for switching loads?
Which leads us to the microcontroller that's running the show. It is miniscule. With a mere 32 pins as well. Having taken about a dozen photos, this looks to be the most readable, and it looks like the part number begins FT32F03. Google doesn't find anything, however STM32F03 is a valid part number for a microcontroller so I'm going to guess that this is a Chinese clone.
MCU does not mean Marvel Cinematic Universe!
I'm going to assume that this chip is equivalent to the STM32F030K6, because that's the only square one with 32 pins.
Which means we're looking at 32K Flash, 4K SRAM, a 16 bit advanced timer (for PWM output), 4 16 bit general timers, SPI/IIC/USART, a 12 bit ADC, 26 possible GPIOs, CPU clock up to 48MHz (but I think the internal clock is 8MHz? - I didn't notice an Xtal on the board). The CPU is an ARM Cortex-M0.
The top right corner of the board (as it is fitted) has some interesting things.
Potentially interesting?
The first is an unpopulated socket marked BLDC. This implies a possibility of a three phase DC motor (like in modern washing machines) for variable speed. Since there's only one such socket, it's not for the wheels or anything. I wonder if a better model has the option to have variable speed suction?
Further to the right is SWD for SoftWare Debugging, and beyond that is USART serial port. The problem is that pins are multiplexed. For example the SWD clock is the same pin as the USART TX, which may explain why probing it results in this when the machine is running. It isn't serial, it's a regular tick running at about 1.128kHz. This will surely be the SWD clock.
This isn't serial data...
There's no serial data then. It likely only comes alive if things are fiddled in such a way as to wake up the bootloader for flash programming.
The final thing to look at is the battery pack. Nominally 11.1V, this is three 18650 cells (3.7V) wired in series to make 11.1V with a power of 1,500mAh arranged in a triangle bundle. This is not that hard to find online. What is hard to find is one with a dinky little connector at the end. They tend to have meaty connectors as these batteries are used in radio controlled cars where they would be expected to dump their power into the motors in a matter of minutes.
The battery pack.
Still, it's nice that it's a pretty off-the-shelf replaceable battery pack rather than some custom weirdness buried inside.
It seems okay, if a little disorganised at dealing with regular dirt and stuff. I might let it trundle once or twice a week (if I do it daily, imagine the battery life). In some respects the lack of mapping can be a benefit as it can take a few goes at getting all the dirt up. On the other hand, it might miss entire areas so...
I know this room isn't exactly ideal as a test for such a device. There's still more to tidy up, and some electrics to fit so I don't have to have cables on the floor. It's a work in progress, a bit like my life. ☺
It cannot ever be a replacement for breaking out the vacuum and doing the job properly. The suction is too weak, and the lack of mapping makes it rather haphazard. That being said, I don't need to reach for the brush every time I see some of outside inside, I can just place this on the floor and press the Go button and let it get on with things while I do more interesting stuff like reading Bored Panda.
Pros:
Cheap
Surprisingly complex for what it is
Can mount and pass electric cables
Runs for a long time (the box says 80 minutes, in my testing I had it going for about 50 before turning it off)
Drop sensors so it won't commit suicide
Comes with spare brushes, just in case
Cons:
Lack of mapping so haphazard trundling (though at this price point...)
Pitiful suction
Horrible shiny black top cover that shows every fingerprint and scratches to hell and back when you wipe it with a damp cloth - this should have been matt plastic
Can we talk about the pointlessness of the 'mop'?
Press for excitement.
Your comments:
Please note that while I check this page every so often, I am not able to control what users write; therefore I disclaim all liability for unpleasant and/or infringing and/or defamatory material. Undesired content will be removed as soon as it is noticed. By leaving a comment, you agree not to post material that is illegal or in bad taste, and you should be aware that the time and your IP address are both recorded, should it be necessary to find out who you are. Oh, and don't bother trying to inline HTML. I'm not that stupid! ☺ ADDING COMMENTS DOES NOT WORK IF READING TRANSLATED VERSIONS.
You can now follow comment additions with the comment RSS feed. This is distinct from the b.log RSS feed, so you can subscribe to one or both as you wish.
C Ferris, 3rd March 2024, 13:43
What next - something to take the cat for a walk :-)
David Pilling, 4th March 2024, 15:42
Colin - Google 'roomba cat' - cats don't walk anymore, they glide around like Davros.
Easy mod. robot lawn mower.
Advanced mod. one of those robots that clean windows using powerful magnets to hang on.
Online everyone is spot welding 18650s together, I suspect if you had to, easier to get a battery holder for them. JST connector(?).
Rick, 4th March 2024, 17:43
Meh. It's "about 12V" and it can take some weight... so why not just plonk a car battery on top? That ought to run for a while...
David Pilling, 4th March 2024, 23:09
Motorbikes, 6V lead acid cells, they're a step up from 18650s in energy storage, but a lot less heavy than car batteries.
Rob, 7th March 2024, 23:43
Hmm. I've got a similar robot. Looks identical, even you the "mop", but came with a docking station and Alexa integration. (which only turns out on our of. I set up a custom command: "Release the beast") I'll have to open it up see what the difference is.
Rob, 7th March 2024, 23:44
Bloody autocorrupt. I hope you get the gist though.
This web page is licenced for your personal, private, non-commercial use only. No automated processing by advertising systems is permitted.
RIPA notice: No consent is given for interception of page transmission.