I've got a Uno (Elegoo UNO R3) running with - Ethernet shield (Kuman K15), - 4 relay board (Elegoo 4 Channel DC 5V Relay Module with Optocoupler ) - Matrix Orbital 2041 LCD connected via I2C (11mA typical, 90mA with backlight) - A series of buttons connected

The Uno is currently running plugged in via USB to my macbook pro.

All of these devices are powered by the 5V pin on the Arduino.

The LCD goes wonky from time to time, and other times will work fine, it starts flashing the backlight, and just behaves oddly, sometimes even rebooting, when buttons are pushed (which activate the relays).

I'm wondering if this a power issue, perhaps the Uno isn't able to supply enough current to run everything.

My reading indicates that the USB port should be able to provide ~400mA, and when on an external supply I should able to draw 900 mA when using an external power adapter. However even with on an external supply (12v, 2A) I still have these issues.

Any thoughts would be much appreciated. Thanks

  • I have found that my UNOs act MUCH better when given a proper power supply instead of trying to run them from USB power. Have you tried that?
    – SDsolar
    May 12, 2017 at 22:32

1 Answer 1


System resets can be caused by power droop and by noise at the Reset pin, among other reasons. The problems mentioned could be due to power issues, or to electrical noise, or to wiring issues.

The total current draw apparently could approach or exceed the 400 mA mark mentioned in the question. With all four relays on, and coils drawing 50 mA each, that's 200 mA. LCD backlight and Arduino current make another 100, after which the ethernet shield could bring the total above 400 mA.

However, having the problems persist even with an external supply in use would suggest the root of the problems isn't power – if, of course, the external supply actually is supplying power directly to some of the peripherals, rather than via the regulator on the Uno.

When relays switch, they typically produce an electrical noise pulse. If this is the problem, it could be mitigated using ferrite beads, chokes, noise filters, etc. Using a separate power supply for +5 V to the board also should help.

Wiring issues include ground bounce and ground loops. If you are using a breadboard, there may be poor ground or power connections. Check that the grounds of peripheral devices and external supplies are solidly connected by decent wire and/or connected at a common point.

  • At this point I've tried providing the LCD with its own 5 volt power source, and that has helped satabalize the display. However with a lot button pushing quickly (and correspondingly switching the relays on/off) I'm still able to get it to reset. My relay board has a jumper which disconnects the relay power from the input power - pulling that jumper seems to help. thanks for your suggestion on powering the relay board separately, that seems to be the fix.
    – kolcun
    May 13, 2017 at 11:28

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.