Supersize DIY R/C Servos From Windscreen Wipers

We’re all familiar with the experience of buying hobby servos. The market is awash with cheap clones which have inflated specs and poor performance. Even branded servos often fail to deliver, and sometimes you just can’t get the required torque or speed from the small form factor of the typical hobby servo.

Enter [James Bruton] and his DIY RC servo from a windscreen wiper motor. Windscreen wiper motors are cheap as chips, and a classic salvage. The motor shaft is connected to a potentiometer via a pulley and some string, providing the necessary closed-loop feedback. Instead of using the traditional analog circuitry found inside a servo, an Arduino provides the brains. This means PID control can be implemented on the ‘duino, and tuned to get the best response from different load characteristics. There’s also the choice of different interfacing options: though [James]’ Arduino code accepts PWM signals for a drop-in R/C servo replacement, the addition of a microcontroller means many other input signal types and protocols are available. In fact, we recently wrote about serial bus servos and their numerous advantages.

We particularly love this because of the price barrier of industrial servomotors; sure, this kind of solution doesn’t have the precision or torque that off-the-shelf products provide, but would be sufficient for many hacks. Incidentally, this is what inspired one of our favourite open source projects: ODrive, which focuses on harnessing the power of cheap brushless motors for industrial use.

26 thoughts on “Supersize DIY R/C Servos From Windscreen Wipers

  1. Another place to find large servos is in old computerized sewing machines. I pulled two out of a machine that has a broken plastic gear that couldn’t be replaced.

  2. Personally I prefer to use window winders. The motor is often separated from the output viia a flexible cable and the worm gear provides a nice slow high torque output.
    On a side note door actuators make nice linear motors and can be modified to give promotional control.

    1. Yes!

      I replaced the back with a piece of 1mm steel, shaped to match the original cover outline.
      Then drilled a hole slightly larger than the spindle, to allow it to protrude.
      The pot was joined by a cutting the top off a knob that had a matching ID to the spindle OD.
      Then a piece of steel tube (car exhaust off-cut) was cut a few mm proud of the pot + PCB,
      then braized/soldered in place.
      The pot is zero’d and potted at the top.

      The 3 wires/brushes give 3 different max speeds (a-b, a-c, b-c), though I picked the fast pair to go via an H-Bridge.

      Original vs custom:

      1. Sloppy is just a matter how you look at it. Considering he’s releasing his project videos very short apart, he has to cut some corners somewhere. And to be honest… in many cases he does the opposite of sloppy. For example, he sometimes makes nice brackets to hold a pipe where he could have used a simple screw going directly through the pipe. Taking the effort to draw and 3D print a custom bracket, isn’t sloppy in my book. We must keep in mind that sometimes when you want to get the job done you must accept that it doesn’t always have to be perfect.
        That is a huge pitfall in most of my project which therefore take much longer to get finished and when it’s finished nobody will notice the way I did some things, so did it matter if I did it nicely or sloppy. As long as it works and as long as it it serviceable it’s good enough.

        Anyway the idea of using windshield wiper motors as heavy duty servos is nothing new but it is certainly worthy of mentioning and he does a great job in his video. Did not expect the arduino though…

  3. cars now come with wiper motors that are giant servos instead of one motor and a linkage there are two controlled servos and no linkage.. they are still spendy but they are only going to get cheaper and hopefully hacked.

    1. Yup, I believe the left and right motors share a private CAN bus. Shouldn’t be hard to dump the traffic, and/or reverse the firmware to elucidate the smarter modes. I wouldn’t be surprised if there’s a commanded-position mode for factory use…

  4. Great project, explanation and idea!

    I only have one criticism and that’s directed to HAD.
    For those projects that have YouTube videos, shouldn’t you link to the YouTube video instead using an embed?
    You do not have an option to “like” embedded video or allow ads that generate income for the project’s creator. I’m not sure what the answer should be, but the way you are doing things doesn’t seem beneficial to the project’s creator.

    1. Click on the video’s PLAY icon, immediately click on the “YouTube” which shows up in the bottom right of the video window and you will go to the video on YouTube within another browser tab.

      1. Does this work reliably? And on a tablet? (I don’t see the icons you mention). I assume some of this is the arbitrary way that HAD inserts the embedded videos. I’ve often wanted to give a thumbs up, but cant. I hope the video creator is getting credit for ads. (BTW, I hate that YouTube has turned many channel creators into infomercial shills. Many channel owners are now inserting minutes long ads *inside* of their content. Leave it to Google to f this up.)

    2. Although I regret that embedded videos do not have the same privileges as the same video played on youtube, I don’t think Hackaday is to blame here. Regarding the like function and subscribe functions, you need to be logged in into youtube anyway (which many people don’t do… because you don’t have to) and lot’s of people don’t even have an account.

      Personally I think that the views on youtube created by hackaday aren’t significant enough to earn anything and for those who have a channel that does have enough views on it’s own and therefore does earn them money they don’t need hackaday. BUT they do benefit from it as it is simply free advertisement for their channel.

      The real “problem” (if there is any) is simply caused by youtube by creating restrictions on embedded videos. I can’t see any reason why advertisements should be disabled in this mode. Likes and subscribe is another thing, important but not as critical, because in the end it’s about the views.

    3. Would like to watch the video, not wait for youtube’s website to load.
      If it’s any good, I’ll more than likely watch more from their channel which means going to youtube.
      But HaD would be mad to direct you out of the site, if only for the same reasons you cite. Hence embed.

  5. just a quick word of warning about wiper motors as bidirectional drive (i just checked the transcript and didnt see this mentioned)

    often the metal mounts of the motor are connected to the negative terminal so if you are using an hbridge to reverse the motor you can end up with a positive voltage at the mounts

    if this is mounted to a metal frame and you have multiple motors running its possible for shorts to occur through the mounts and frame

    the motors can be opened up easily enough and the internal link wire or spring connection to the casing removed which solves the problem

    1. What analog circuitry inside a servo? The potentiometer in a servo connects directly to an ADC, from there its all digital. Youd have exactly rhe same circuit if you soldered the power to the motor directly, and ran the yellow to the potentiometer wiper, then ran the power to some H bridge fets and the yellow to an analog input. Oh wait….thats exactly what they did….. C’mon HaD writers, disparaging servos for their ‘analog circuitry’ to pump an exact replica of how a servo works….tsk tsk tsk…. Should have pumped that its a blown up servo putting the works on display. The only thing this has over a standard servo is the closed loop feedback. But that’s only a byproduct of the servo brains being the arduino now which just happens to have a serial terminal.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

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