Arduino power supply


I am planning to power my Arduino, which will be mounted on a motorcycle, using the motorcycle's battery. So the same battery will be starting the engine and powering other electrical components.

I am wondering if this circuit will work fine.

C1 - 1000uF 50V; C2 - 1000uF 25V; D1 - 1N4001 ;

1 Answer 1


Your circuit is 'going in the right direction' but can be improved.
If you wish to use the regulator shown:

  • The larger the input capacitor (C1) the better; it will survive noise spikes and low voltage "droops", eg during starting.

  • Adding a series resistor to drop some of the input voltage will help C1 filter out noise.
    Rin should be V/I = V_drop_max/I_maximum .
    With a 9V regulator and 12V supply you cannot afford much drop in the resistor.
    If you use the 6V output system I recommend below then you could allow closer to 3V drop in Rin.
    If Imax is 100mA then Rin = V/I = 3/0.1 = 30 Ohms.
    Typically you'd use 27 Ohms (which is the closest E12 standard value.

Power dissipation is the resistor = I^2 x R.
So for eg 27 Ohms and 0.1 A (100 mA) power dissipation in the resistor is
I^2 x R = 0.1^2 x 27 = 0.27 Watt
So you'd use at least a 0.5 Watt resistor and ideally Watt or more. Air cooled resistors are relatively low cost and a much better way of dealing with heat than trying to cool a regulator.

  • Adding a ~15V zener diode at the input to U1 will help protect against spikes. This works better if Rin is used. Without Rin the zener may be destroyed by spikes. If you use the LM29xx regulators that I mention below the zener is not needed as the regulator has its own internal protection circuitry.

The LM7809 regulator is somewhat unusual. If you have them available they could be used but there are much more common and/or modern regulators available.

The regulator's Vout should be fed to the Arduino's Vin terminal, which supplies the Arduino's internal regulator, to provide 5V or 3V3 depending on which Arduino you are using. With a 5V Arduino, using Vin of 6V or more will be adequate. Higher Vin causes more heat in the Arduino on board regulator. (As Chaaarlie2 noted, 6V on Vin may be a bit on the low side for heavy loads on the Arduino 5V supply - as may happen if shields use the 5V supply. Increasing Vin to say 6.5V should allow the Arduino's internal regulator to supply its maximum rated current if desired.

9V output is higher than the Arduino needs. It is an acceptable voltage but 6V to 7V will cause less heat on-board the Arduino (and more in the external regulator).

Vehicle power systems can have extremely high voltage spikes present and sudden changes in supply voltage. Some regulators are made to work well in the automotive environment. One such family are the LM29xx series of regulators.

One superb version of this regulator is the LM2931-N [Data sheet here] - this is available in a range of versions but the simplest is the 3 lead type in a range of packages. The TO220 package is recommended due to its good power dissipation capability and ease of heatsinking if necessary. This data sheet covers versions with about 100 mA output rating, but higher output examples are available. Fixed 3.3V and 5V output versions are available but in this application the variable output version, set to about 6V or maybe 6.5V is "safest". These are very similar to the common LM317 in operation. The basic regulator produces 1.26V output and 2 resistors are used to set the desired output voltage. The advantages over the LM317 are the lower dropout voltage and the protection against typical automotive input problems.

The datasheet description states:

Designed originally for automotive applications, the LM2931-N and all regulated circuitry are protected from reverse battery installations or 2 battery jumps.

During line transients, such as a load dump (60V) when the input voltage to the regulator can momentarily exceed the specified maximum operating voltage, the regulator will automatically shut down to protect both internal circuits and the load.

The LM2931-N cannot be harmed by temporary mirror-image insertion. Familiar regulator features such as short circuit and thermal overload protection are also provided.

  • 6V isn't quite good enough for Vin, especially when the OP has the means to provide more. Despite the Arduino website saying 6V is suitable - although not recommended - looking at the datasheet for the 5V regulator (on the genuine board) the dropout voltage at 100mA load is up to 1.1V; I wouldn't be comfortable so close to this limit. On clone boards the dropout could be even higher. Therefore, why not just provide 5V to the 5V input? The inclusion of the Vin and power jack is for convenience, not necessity! This will help minimise wasted power, as the voltage is only regulated once. Jun 3, 2015 at 12:00
  • @chaaarlie2 You may be right about the std regulator. I've had no problem with clones at 6V. If you use the Arduino to supply an unknown external load you could (of course) have problems. The reason for suggesting using the internal regulator is several fold. It adds another layer of protection against the nasty automotive (or motorbikeomotive) environment. If things go wrong at the input the Arduino may not die with 12V++ on Vin. With 12V++ on the 5V pin you usually don't even see the magic smoke. I've been blowing things up for somewhat over 50 years and have become averse to giving .... Jun 3, 2015 at 12:25
  • @chaaarlie2 ... Murphy more chances than possible. Adding another 0.5V to Vin is easy if an LM2931 is used. Low Vin keeps dissipation down on the Arduino board. |Power wasted is the ame whatever the regulator arrangement. You use 5V x Iin and you dissipate (V12in - 5V) x Iin somewhere or other. Dissipating as much of it as possible in the resistor I mentioned is often a very good idea. Jun 3, 2015 at 12:28
  • @chaaarlie2 Added comment on using 6.5V for heavier loads with hat tip to you. Jun 3, 2015 at 12:46
  • My batch of Uno clones all shut down at ~6.8V - looks like I've been mugged off! As you've championed the LM2391 so heavily, why now doubt its ability to provide a safe 5V without frying the Arduino even "if things go wrong" ? Of course I see the benefit of belt and braces, which is why I'd use a zener and quick-blow fuse as a backup. Ultimately it's going to depend on the OP's situation, so it's relatively moot. As I side note (from experience of the very same), cooling a regulator on motorbike isn't difficult - attach the simplest of heatsinks and hang it somewhere windy! Jun 3, 2015 at 13:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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