I have an application that requires reading sensors and moving a stepper motor. The sensors draw about 200mA between them, and need 5V to work. (Too much to draw through the Arduino, I thought) The stepper is recommended to run off 12V, and is driven through a BigEasy board. And, of course, the Arduino needs 5V.

My actual setup has an old laptop power brick, which puts out nominally 12V. This is fed into a voltage regulator (one of the cheap ones with a voltmeter built in) which outputs a steady 5V, even if the input voltage changes a bit. So, I've got a reasonable 12V supply and a fairly fixed 5V supply.

From the 5V supply, I run wiring to the sensors, and from the 12V supply I wire the stepper driver.

The thing is, to power the Arduino, I thought I could just wire up a USB socket (only the power lines) and wire the USB socket to the 5V regulated output. Then I could either plug my arduino into my computer to program it, or plug it into the dummy usb socket to power it standalone.

This arrangement seemed to work for a while, but I've noticed strange behaviour with the 2x16 LCD board which is also attached. I should point out that the LCD takes it's power from the regulated 5V, not from the 5V rail of the Arduino, although the data lines go to the Arduino. The LCD has gone into a "lock-down" mode whereby it only displays half blocks on the top line and nothing else.

I'm wondering if it could be related to effectively powering the system with 2 supplies; one for the majority of the load through the old laptop power brick, and the Arduino through the USB port of my (also laptop) PC. Somewhere along the line, ground get connected to ground, but are all grounds equal?

Is there a standard solution for having the Arduino plugged into your development PC (so as to get debug messages through the Serial COM monitor) whilst still be able to safely power the high-draw loads of the rest of the system. I did consider powering the Arduino through it's barrel jack, but then I'll need an additional 7V supply. (The 5V regulated supply would be too much, and the 12V "semi-regulated" supply would be too much).

And can I do something to protect the next LCD that I use? (Stick a 5.2V Zener across the power pins to prevent spikes??)

  • 1. Could you please post a picture of your setup. 2. Have you used bypass caps? 3. Are you sure that there isnt some loose connection between the LCD and the arduino? – evolutionizer Aug 27 '15 at 7:13
  • 1. Well, it's a bit of a rats nest, to be honest. As well as the sensors there are also some button boards, some peripheral boards with LEDs etc, All of which need 5V. I'm not sure a photo will be that useful. 2. No, I haven't done this yet. But when I test the LCD on another Arduino without any other attachments, it still doesn't work. I'm wondering if the LCD panel is permanently broken. 3. I've tried connecting to another arduino, still no luck. The thing is; are LCD boards sensitive to voltage spikes or reverse polarity. – mjk Aug 27 '15 at 10:10
  • 1. In that case please upload the schematics. Have a look at ruggedcircuits.com/10-ways-to-destroy-an-arduino for some general info on protecting your circuit – evolutionizer Aug 27 '15 at 10:25
  • I thought I could just wire up a USB socket (only the power lines) and wire the USB socket to the 5V regulated output. This sounds like a round-about way of doing it. Just plug the 5V regulated output into the 5V pin on the Arduino board. Make sure you have all the grounds connected. – Nick Gammon Aug 27 '15 at 23:52
  • If I simultaneously connect the Arduino to my laptop (to program it and see the serial messages) and connect 5V from the regulated supply to the Arduino 5V pin (and regulated ground to GND), aren't I effectively connecting the regulated supply to the laptop regulated supply? What happens if there is 4.9V on one and 5.1V on the other? – mjk Aug 28 '15 at 3:32

In some instances, it is a known issue that certain LCD's pull more power from the arduino than is sustainable depending on the power source.

A few suggestions:

Put something like a 100-200 ohm resister in the 5V to the LCD and connect just that and GND, then measure the voltage drop across said resister. That will give you the current with ohms law, if its much more than 4mA its a faulty LCD or a fault in your wiring.

You should also check the pins for continuity errors, or shorts.

Another idea, is to make sure the voltage, and amperage coming from the 5vdc step down you are using is adequate for the task at hand.

And finally, you'll need to calculate the complete pull on your power source. i.e. you'll need to know how much load your bigeasy driver pulling from the 12vdc power supply, as well as how much your 5v stepdown is using. if they are exceeding the output of the PSU, you can run into issues.

I ran into a similar issue with my own project, using an arduino Uno with grbl + 3x easydriver motor controllers, & mega 2560 + lcdkeypad shield. Powering the easydrivers with 12vdc & using a voltage stepdown module also gave me issues, as it didn't provide enough current for the stepper motor drivers and the LCD + mega + uno from the 5vdc. I was overloading the power supply, and the 5v wasn't producing the correct power requirements.

I bought a better power supply that had 24, 12, 7, and 5v on it, and haven't had an issue since.

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.