Ralph S Bacon

MicroControllers, Electronics and IOT

First Workshop Succesful Repair

An interesting problem, this one, and whilst not directly Arduino-related the process I used in determining the problem is very similar when diagnosing misbehaving I2C buses, MOSFETs that don’t switch on when expected or any number of weird code anomalies.

Our cordless vacuum cleaner started playing up. It would fire up for a few seconds, but then switch off. Additionally, the motorised brush head would not revolve at all. As we have two identical such vacuums I thought it would be a minute’s work to switch out components until the misbehaving item was found. As it turned out it was the main body containing all the electronics that was at fault, involving dismantling the unit (no longer under warranty, or else this would have voided it).


As you can just about see from the picture, it’s a nice, neat circuit board and on closer inspection, I located the power output connector for the revolving head motor. This had a very low-value resistor going to ground, exactly 1Ω. This is a typical setup used when detecting current flow – under normal usage the current flow through the motor is in the region of 130mA. In an overload situation (the motor has stalled because it has caught a thread of a carpet, for example) the current rises dramatically to over 500mA. This causes a change in the voltage at the 1Ω resistor from its usual 125mV to two or three times that (depending on how much the motor is still actually moving). This change (rise) is then detected by the onboard µController (see, they get everywhere) and after a few seconds power is cut to the entire vacuum cleaner and a red LED flashes until you switch the unit off. After a few more seconds, the red light stops flashing and you’re good to go again (assuming you’ve now cleared the revolving sweeper head problem).

So why did this unit have a problem in that it would only switch on for a few seconds, the head not go round at all, and then switch off with that flashing red LED?

If you look at the next picture you’ll see scorch marks on the PCB where the resistor was placed. Yes, the wire-wound resistor had been overloaded either so often or so much that the 2W resistor had burnt out, just like an incandescent light bulb. So the µController thought that the motor had stalled (the voltage at the 1Ω resistor would be full VCC as the resistance was now infinite) and switched off the power to protect the wiring and battery.IMG_20180408_141426



I’m replacing that failing component with a higher wattage resistor (in fact, I’m putting a couple of resistors in parallel so that the total resistance is as near to 1Ω as I can get it, but with at least twice the power rating). I’m using two instead of a single component just so that I can mount them in the space more easily. And I’ll mount them slightly off the PCB to give them space to breathe.



It’s actually even messier than this photo would have you believe


At least a £100 vacuum cleaner has been salvaged and should give us plenty of use yet – until the next problem, of course! And now I need to completely tidy up my (new) workbench…

New YouTube videos are in production so keep tuned. Meanwhile consider this: what if there were no hypothetical questions?


21 replies

  1. I had one of those electric sweeper things that run on rechargeable batteries. It used to run for about 2 minutes then get slower until it stopped. I decided to replace the batteries – without any proper testing and the same thing happened with the replacements. I stripped it all down again and bits flew out everywhere. It the end, I decided to throw it out as I had had it a few years. The only thing I kept was the power supply for a future project. When I eventually used the power supply the circuit kept going off. I then realised, I had thrown out a perfectly good machine. All it needed was a new barrel connector plug on the power lead! I’m glad your one was fixed.


    • And I was thinking just today, Tony, what if I knew nothing about electronics, resistors and so on? The machine was out of warranty so no redress from the manufacturer. The ONLY option would have been to replace it.

      As it happened I fixed this one and another identical one with the same problem (smell a design fault, anyone?) for about £5 total. Thank goodness I could fix them, saved some pennies, that’s for sure. Pity about your sweeper, but it’s a lesson learned, I’m sure.

      But yours was an interesting tale, so thanks for posting and do keep tuned!


  2. Another really interesting blog, Ralph. Higher wattage resistor, eh….. 🙂

    Anyway… I have a few things to ask if I may, though I am not quite sure where (as in Youtube/here/email etc) might be best to ask them!

    One suggestion I do have for another Youtibe vidoe that I am sure would be welcomed by your followers all over the globe is – Plotting sensor data using Python – on a Raspberry Pi. How does that sound? As you may have guessed i have invested in a Pi3, and am delighted with it (the madness of logging into my Mac, and using SSH to connect to the pi which connects to the Arduino and writing C++ code on the Mac that then gets uploaded to the Arduino through the Mac then through the Pi then to the Arduino… haha!!). But yes… a video that shows how to use maybe matplotlib on a Raspberry Pi to plot real time data on the Raspberry (or Arduino) either on screen or even through a web interface to be viewed anywhere with internet access. Watcha say sir? 🙂


    • I’m always up for a challenge, John, although in this case, I’m not sure. I’m no expert in things Pi (but would like to be) so maybe this is the challenge I need. I have a Pi or two floating around so I’ll try and grab some time over the weekend to investigate. Of course, logging real-time data and viewing on a web page (eg the last 30 temperature samples) can be accomplished using an ESP8266, no Pi required, but you’re specifically looking for Pi and Python by the sounds of it?

      Anyway, let’s see how it goes and move on from there!

      Liked by 1 person

      • Unless Python is a definite requirement, Node-RED could be worth a look – and can collect data sent over serial, HTTP or MQTT without trouble – it’s also very “scratch” like, with a simple drag and drop interface, and can even be viewed on mobiles.

        Liked by 1 person

      • Sure thing, Ralph! Didn’t mean to apply any pressure for you to have a go at doing this!


      • And also just spotted the reply from Robin! Thanks for that suggestion, Robin, I shall take a look at Node-RED. Not heard of this before, so this might be the subject of this evenings research 🙂


  3. You know when you really need to sort the workshop out, that is when you buy components you al ready have, yes I’ve been there.


  4. Thanks for the share. It’s a reminder that not everything is just throw away. Although it’s getting more difficult to actually take things apart without breaking it completely.
    Keep up your good work.
    As an aside, I’m trying to get a rotary encoder working on an ESP8266 and lots of problems. I now need 2 devices to do the job by sending text between Nano and ESP to send data to ThingSpeak. You suggested the duo several months ago when you did the rotary encoder video BUT I hate to use 2 MCU’s to do such a small job.


    • Hi William! Yes getting this vacuum cleaner apart was a bit of a challenge but I managed it without actually breaking anything (especially the little clips holding parts together).

      On the subject of interrupts, there is good news. On the ESP8266, interrupts may be attached to all the GPIOs of the ESP8266, except for GPIO16. I cant’ remember using interrupts on this chip, but here’s a link to an article that describes it in full (pretty similar to the Arduino code):

      I hope this helps, and if it does do let us all know 🙂


  5. Very interesting! I would never have expected to find a micro-controller in a vacuum cleaner, but as ours is now 20 years old (much like Trigger’s broom), this probably explains why it doesn’t have one 🙂

    The new workshop looks really good, just frustrating to only see small bits of it in little photos – how about a tour?!

    Liked by 1 person

    • I’ll probably do a video tour as a “special treat” once it’s in a better organisational state (ie, I’ve tidied everything up and put all my components away into the correct bins). It’s taking a while, even though I spend every free moment out here. But it is slowly taking shape…


  6. It has taken me years to get my lil’ workshop looking like that. I congratulate you on your progress. I am impressed by your detective work. Though, I suspect your first clue was the charring around the resistor. Perhaps a better filter between the detritus and the fan blades might be in order, to.

    This blog is getting to be fun!

    Liked by 1 person

    • I suspect it will take me several months to get everything “just so”, Michael, but it’s a good start. I’m quite pleased that I managed to diagnose this fault (it was only much later I lifted the resistor off the board and found the charring). If I had seen that burnt resistor sooner it would have been fixed sooner, oh well!

      Benny had a couple of visits over the weekend, I think he quite likes it (he has his own mat) but it’s all very new, and “cats” and “new” don’t get along well. In time he will be scratching at the door to come in, I’m sure!


  7. Well… no you can use the (newly re-born) vacuum cleaner to clean up… your new workshop!
    Good to know that all is well. BTW, my workshop is is in far more disorder: on one ‘temporary’ bench I’ve got a 3d printer (the cheapest I could get!) printing a “Dolce Gusto” capsule container, and on another bench a laser engraving a happy Mickey Mouse on a piece of wood for my grandaughter…. I think I’ll end up moving my “arduino” junk in my studio upstairs, where all my music instruments and main desktop PC are !!!
    My version of Benny is called “Maicol” (my grandaughter’s spelling for Michael! ) and he, together with Ulisse (my 15yrs old dog) have much say on all my projects!!
    Hint for a future video: the Data Logging Shield for Arduino?
    Cheers, Ralph!

    Liked by 1 person

    • It would be more than my life’s worth to use that vacuum cleaner in my workshop, Daniel, that is 100% a house cleaner only (says my wife). I have a battered (but fully functional) cleaner here for stuff like solder blobs, sawdust, wire clippings and the like.

      Benny likes the idea of a real-time Data Logging Shield, we will discuss in more detail in the coming weeks, I’m sure.


  8. Glad to see the new workshop is in operation.

    Liked by 1 person

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.