I'm working with some small motors for a robot project and I think I had a different component fail due to inductive voltage spikes caused by the motors. The motors are Mabuchi RC-280 which operate up to 8.4V DC and can draw 2-3 amps each. I have 4 of these motors interfaced with a 20A motor driver, 12V battery, and an Arduino Mega2650 microcontroller.

I do not have any capacitors connected across the motor terminals and I need to know what capacitance to use. Other similar motors have small capacitors attached but I don't know their value, and I am unfamiliar with sizing capacitors for this purpose.

Can anyone advise me as to what I might need for this application, or how to determine the size?

  • \$\begingroup\$ Does the motor ever operate in a regenerative mode? In other words, does it ever operate in a mode where the external load is applied in the same direction as the rotation, and the torque is applied counter to the direction of rotation? \$\endgroup\$
    – mkeith
    Oct 19, 2016 at 3:53

3 Answers 3


Each motor should have a small ceramic capacitor (10-100nF) across it to reduce RF (Radio Frequency) interference caused by brush arcing. A popular configuration is two 100nF capacitors in series, one from each motor terminal to the metal case. This 'grounds' the case to RF to prevent it from radiating interference, but doesn't put a DC voltage on it.

This small capacitance will not prevent inductive voltage spikes. If PWM is applied then you must not use a large capacitor, as this will become charged up and prevent the voltage from dropping between PWM pulses.

Your motor controller should have 'flyback' diodes in it, which suppress inductive voltage spikes by recirculating current through the motor. This is required not only to prevent damage to sensitive electronic components, but also for efficiency and linear PWM response. The diodes should be Schottky type for fast response and low voltage drop.

If the motor is only driven in one direction then a single flyback diode can be wired directly across it, but this is not possible in a bidirectional bridge circuit because in one direction the diode would short out the motor. Therefore a bridge circuit needs 4 diodes, one across each output transistor. MOSFETs already have built-in body diodes, so external diodes are not normally required for them.

You should also have a large low ESR capacitor (100~1000uF) across the controller's power input rails, to suppress voltage spikes caused by inductance of the power supply wires. If the controller does 'active freewheeling' AKA 'synchronous rectification' and/or dynamic braking then this capacitor also helps to slow down the voltage rise caused by the motor pushing current back into the battery as it slows down.

  • \$\begingroup\$ How did you determine 100 - 1000 uF? Thanks. \$\endgroup\$ Oct 19, 2016 at 2:23
  • \$\begingroup\$ It's the range of values typically used in motor controllers. The minimum capacitor size required depends on length of the power wires, current draw, PWM frequency, MOSFET voltage ratings etc. \$\endgroup\$ Oct 19, 2016 at 6:13
  • \$\begingroup\$ The wires to the driver are ~3ft of stranded 18 gauge wire in 2-conductor parallel configuration, the current draw is up to 4 amps total in transients I believe for each driver which controls 2 motors each. The supply battery voltage is up to 12V (Li-Ion), PWM frequency to the motors is audible, I believe it's got to be 1000-2000Hz or so, and the drivers are rated for 18V, I don't know the component rating is there a way to assume worse case? \$\endgroup\$ Oct 19, 2016 at 6:45
  • \$\begingroup\$ 18V, 20A, dual outputs - which motor controller is this? Does it have an on-board filter capacitor, and if so what value is it? \$\endgroup\$ Oct 19, 2016 at 15:10

How to design an RC snubber for a solenoid relay driving an inductive load?
- similar question but different voltage range requires different RC snubber

RC snubber are also used on AC relay coils , but RCD snubbers are popular as well for PWM motor drivers.

  • This helps to recirculate the currents $ reduce peak commutation voltage
  • Too little R increases PWM turn on current into C and raises Q or ringing
  • too much R increases back EMF voltage
    • let Cload = 2x (Coss + stray) as a starting point

Snubber purposes

  • · Reduce or eliminate voltage or current spikes
  • · Limit dI/dt or dV/dt
  • · Shape the load line to keep it within the safe operating area (SOA)
  • · Transfer power dissipation from the switch to a resistor or a useful load
  • · Reduce total losses due to switching
  • · Reduce EMI by damping voltage and current ringing

  • power in series R that was energy stored in the cap on average;

  • balancing these two factors yields critical dampening at the expense of lossy carbon resistors
    • Pd = C V^2 * f. for V [pp] and PWM rate, f
    • Zo = sq.rt(L/C). for motor primary inductance and snubber C


  • \$\begingroup\$ This seems to be for an AC motor, do you know if this works for DC also? \$\endgroup\$ Oct 19, 2016 at 2:27
  • \$\begingroup\$ Did I assume wrong you intend to control speed with PWM with Arduino? then it is AC. If just ON OFF, clarify your question and show exact transistor or MOSFET switch pn. \$\endgroup\$ Oct 19, 2016 at 2:44
  • \$\begingroup\$ The microcontroller sends a 0-100% PWM signal to the motor controller. The motor controller then controls the voltage to the motor, I believe it is a switching type with MOSFETS. Thanks. \$\endgroup\$ Oct 19, 2016 at 3:04
  • \$\begingroup\$ this is essentially AC motor operation with average DC out .... wiring ,, shielding are important .. not long inductive sloppy wiring \$\endgroup\$ Oct 19, 2016 at 3:07

I believe that DC Relays and Contactors which use DC Coils use a diode across the windings to sink the voltage spike. Its called a flyback diode. No capacitor required. This might work for your DC motors. Read this https://en.wikipedia.org/wiki/Flyback_diode.

  • \$\begingroup\$ A flyback diode isn't usable if you want to drive the motor bidirectionally. As OP claims this is for a "robot project", I suspect that this is the case. \$\endgroup\$
    – jms
    Oct 18, 2016 at 23:34
  • \$\begingroup\$ Yes the motor needs to run in both directions. But they are more like RC car motors than hobby motors in terms of power. \$\endgroup\$ Oct 18, 2016 at 23:53
  • \$\begingroup\$ For clarification the microcontroller controls the motor speed by sending PWM signal to the motor driver which then sends the correct power to the motors. \$\endgroup\$ Oct 19, 2016 at 0:28
  • \$\begingroup\$ Also, I found out each motor has an inductance of 0.37 mH. \$\endgroup\$ Oct 20, 2016 at 6:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.