Big Giant Servos from Wiper Motors

Estimated 2832oz/in stall torque, for when regular servos just wimp out.

Similar projects worth following
Starting from
arielnh56 has 474 orders / 17reviews
Ships from United States of America
I made these a few years ago to drive my automated Dalek head. Car wiper motors, rewired a bit, with a rotation sensor = big giant servo. I have one on direct drive for rotation and the other lifts the eye via a pulley/drawstring.

Wiper motors are big, cheap and powerful. Lots of torque. They are great for powering large robotic components. Out of the box – or scrapyard – they do need some modification. They are wired to go in one direction only, with two speeds. They have some position switching in them, which is designed to keep them running until they reach their “park” spot, which is not very useful for most robot applications.

bigservorewireFirst we need to make the motor run both ways. The two wires that go into the motor are the “normal” speed wire and the “fast” speed wire. The casing is earth. You can reverse the polarity and make the motor run backwards, but that makes the casing “live”, which means you have to mount it to an insulator – which can be a bit tricky. The way to fix this is to rewire the internals to re-purpose the “fast” wire as the “ground” wire.

Open up the motor and pull the gear assembly off – be careful not to break the brushes or get them greasy.

There are two brushes opposite each other – these are the “normal speed” and “ground” brushes. The “fast” brush is close to the “normal” brush. Each brush has some copper mesh wire coming from it.

  1. Cut the wire on the “fast” brush as close as possible to the brush
  2. Cut the wire on the “ground” brush as close as possible to the casing.
  3. Remove the “fast” brush with pliers and discard it.
  4. Tin the tips of the loose ends with solder – use just a tiny amount so the wire does not get stiff.
  5. Slide a short piece of heat-shrink tubing over one of the wires.
  6. Tack the two wires together and protect the join with the heat-shrink tubing. Make sure the brushes are free to move and the exposed parts of the wire are not going to touch the casing or the armature.
  7. Reassemble the motor. This is fiddly as you have to persuade the brushes into their sockets to get past the bearings and onto the commutator. Don’t force it – if it won’t go together the brushes probably need pushing in – poke around with a thin screwdriver.

I apologize for the poor quality of the picture – my camera was on the fritz. The XX is the brush to remove. The red dashes are where to cut, and the green line shows what to connect together.

The motor is now safely reversible and can be used to drive things forwards and backwards, even if it is mounted to a grounded metal frame. Speed control will by by digital control. Loss of the “fast” mode is no loss at all – that mode pulls a lot more current and will burn out your drivers or force you to buy more expensive ones.

Conversion to servo use takes a few more steps.

  1. Remove the cover plate from the gear assembly and remove the electric contacts and their plastic housing from it. This is not designed to come off and will require some destructive persuasion.
  2. Drill a hole in the cover plate where the center of the gear is.
  3. Drill a shallow hole to match the shaft of your sensor in the center of the gear. If you have access to a lathe then that is the easiest way to do this. The shaft is held in with a circlip.
  4. The sensor can then be mounted to the end of the shaft, and it’s casing held by a bracket held down with the back-plate screws.

Material I used (substitute for taste)

  • Motor: Monster Guts 12VDC Wiper Motor
  • I made my bracket from very thin aluminum that used to live inside a Dell laptop.
  • My sensor is a prototype of my Digital Knob for Arduino I2C - Absolute Encoder
  • Power is by cheap L298N modules off eBay, wired in parallel mode, driven by high frequency PWM from the Arduino via my Dalek Shield. These seem to be quite powerful enough to drive these motors all day long with a decent amount of load – like a Dalek head and eye.

  • Reboot

    Alastair Young02/08/2018 at 06:14 0 comments

    Thoughts on how to do this again, knowing what I know now.

    • The ACE128 is a panel knob, and is not very robust or easy to mount. Brackets drilling and even lathe work.  Also the approx 3 degree resolution is a bit course on large applications,
    • Better to use an AS600, 12 bits works by magnet. Easy to mount/glue magnet to shaft. Air gap to sensor.
    • Replace gear cover panel with circuit board. Sensor in the middle.
    • board also has attiny841
    • proto board to support these options
    • mount L298N module to board via female headers And standoffs - replacable on burnout - reduce spaghetti
    • Attiny can drive h-bridge and pwm
    • Attiny i2c slave
    • As600 i2c slave - option of same bus or separate - jumpers
    • Pinouts for motor driver for external control
    • Pinouts for serial - bootloader programming etc
    • Pinouts for isp
    • Pinouts and circuitry for stop switches
    • Pinouts for extra pins
    • Circuitry for xtal
    • Two locations for i2c pullups
    • Centralize everything - outer board may need cutting to fit alternate motors

View project log

Enjoy this project?



Alastair Young wrote 12/06/2021 at 20:11 point

I built these 10 years ago on a budget. The modules were laughably cheap (they still are - a 4 pack for $11 on Amazon). They come with heat sink, screw terminals and flyback diodes. Each chip/module has two drivers in it which can be wired in parallel, as I did, for 4A. As the motors only pull max 2.5A (from memory) and have a low duty cycle in operation, it worked just fine. 

The only problem I had was when I connected the battery backwards once and let the magic smoke out. Solution: install $4 spare.

As for obsolescence: most of my motorcycles are older than me and I remember the moon landings. I don't care about that.

Also your 10A to 20A number is way high. Specs for these motors at

Unload high speed: 50rpm, 1.5A (12VDC)
Unload low speed: 35rpm, 1.0A (12VDC)

Power supply 12VDC 5Amps

  Are you sure? yes | no

paulvdh wrote 12/05/2021 at 02:13 point

L298 is grossly underpowered for this application.

It's maximum DC  current is just 2A, while a wiper motor generally needs something between 10A and 20A.

Apart from that. L298 is seriously obsolete.

For reference, compare it with a chip like the Allegro A4950.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates