I have a 5V (5.3V) switching transformer that goes to a 7805 voltage regulator and powers Arduino, Arduino controls 4 relays using BJTs. those relays getting power directly from the same power source.

Arduino and it's modules + LCD uses ~40ma, each relay consumes 70ma. total current is around 350ma lets say 400ma.

The problem is 5V isn't enough to power Arduino, modules, sensors and relays. LCD gets very dim etc...

it works with 9V but 7805 gets really hot ~70 centigrade while having a heat sink on!

If i remove the 7805 and switching power burns or something bad happens then there's nothing in between to protect the Arduino!

What's the solution for this situation?

EDIT: for anyone who may have the same problem; I solved the problem with using a proper switching power salvaged from an old USB type-C charger and removed the 7805 voltage regulator, there's no heat anymore and it's working perfectly.

  • 1
    switching 5.3V to 5V seems not high enough. The regulator needs some headroom to convert the voltage.
    – chrisl
    Jul 8, 2019 at 12:05
  • 1
    Use a switching regulator and increase the incoming voltage.
    – Majenko
    Jul 8, 2019 at 13:02
  • 1
    Personally I like to use pre-built modules from model aircraft stores (called a BEC, SBEC or UBEC depeding on who you talk to). Cheap and ready built.
    – Majenko
    Jul 8, 2019 at 13:35
  • 1
    5.3V is within specification for the Arduino's 5V pin.
    – Majenko
    Jul 8, 2019 at 13:56
  • 2
    With nothing attached you will be measuring the open circuit voltage. That will measure high. Measure the voltage with your circuit connected.
    – Majenko
    Jul 8, 2019 at 14:37

1 Answer 1


Linear regulators such as the 7805 operate by dissipating the additional voltage until their rated voltage remains. This - as you noticed - requires a higher voltage than the rated voltage. Some variants, labeled as LDO for low drop-out, have reduced requirements for this, but normal 7805 usually require around 7 V to operate correctly.

The difference to the rated voltage is dissipated as heat as per P = U * I, with U being the voltage difference, and I the current pulled by your circuit.

You can use the switching power supply directly, or use a more advanced voltage regulator like the R-78E5.0 directly from 9 V, which has far lower losses.

Another option would be using the 5V from the switching transformer to drive the (less delicate) relays, and use the 7805 only for the MCU and display, but you would still want to use a heat sink in that case.

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.