Go Down

Topic: Sharing 5V with a 28BYJ stepper (Read 354 times) previous topic - next topic


Right, I'm trying to figure out how to properly power my Arduino Nano with several peripherals: DS3231 rtc, TM1637 display, capacitive touch button w/ LED and - most importantly-  a 28BYJ-48 stepper with cheap ULN2003 driver board.

On my breadboard, I power the Arduino via usb and power the clock, display and capacitive sensor through the Arduino. The stepper board is powered via a 5V usb adapter. I tried to share the stepper power with the clock or display, but the voltage drop is too much for them to receive sufficient power. And this is the problem.. I want to power the entire project on a single 5V/2A usb adapter.

My initial idea was to split the incoming 5V and supply the stepper and Arduino separately, but with this voltage drop it won't work. Any other suggestions how to supply it?
Preferably, I want to supply it through a single micro-usb cable from a 5V adapter. As long as the stepper is not running, then I should still be able to communicate to the Arduino via my usb port.


Electronics is not my strongest point, so bear with me..

In short: can I run multiple peripherals, including a 28-BYJ48 stepper (with ULN2003 driver board) on a single 5V power adapter? Possibly with a step-up converter?

My project consists of an Arduino Nano, DS3221 realtime clock, TM1637 4-digit display, capacitive touch sensor (with LED backlight) and - most importantly - said stepper. The stepper is running 6 rpm with low load.
On my breadboard setup the Arduino is powered through its usb and the clock, display and capacitive sensor are powered through the Arduino. The stepper has a separate 5V 2A usb adapter. I tried powering the display or clock on the same 5V as the stepper, but they don't function due to low voltage. I measured the voltage, and it drops to 3.2-3.5V when the stepper is running.

This messes up my initial plan.. In the final design I want to power everything through a single micro-usb connection (soldered on a PCB) and power it with the 5V 2A usb adapter. My idea was to simply split the incoming 5V to the stepper, clock and display on one side, and the Arduino and capacitive sensor. Seeing the voltage drop, that's not going to work.

My alternative solution now is that I split the incoming 5V: one side to the Arduino, display, clock and cap switch (up for debate if these will be powered through the Arduino), and one side with a step-up converter to the stepper. Step-up could be something like a MAX757, or a off-the-shelf PCB with more current like this one: http://www.icstation.com/icstation-mt3608-step-converter-module-boost-converter-power-supply-module-icsa004a-p-3448.html

Any thoughts, comments, suggestions on this? Thanks in advance!


Those steppers take 100mA or so per phase, so at most 0.2A, there shouldn't be any problem running
one from a 2A supply.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]


I found that current is not a problem indeed. As long as I don't power the stepper through the Arduino, of course.

But the ULN2003 causes a voltage drop on the 5V supply, which makes it unusable for the other modules. Hence the question, how can I split the power supply (possibly with step-up converters) to ensure that both the stepper and the other stuff get a solid 5V? Do I need one step-up, or should I use one on both sides then?

The MAX757 is within specs considering current rating. I also found small ones on a print with a header that can do 200 mA and always output 5V.


I tried to share the stepper power with the clock or display, but the voltage drop is too much for them to receive sufficient power. And this is the problem.. I want to power the entire project on a single 5V/2A usb adapter.
What voltage drop?


I'll assume for the moment the voltage drop you are referring to is at the AC/DC adapter.  Further I'll assume the 28BYJ-48 consumes no more that 1 amp (grossly conservative).

I think the likely issues might be:

1) The instantaneous voltage drop of the AC/DC when there is a step change in current.
2) Voltage spikes from the motor reflected back to the Arduino board.

I would suggest:

1) wiring the ULN2003 to the output of the AC/DC adapter
2) wiring the arduino to the AC/DC adapter.

By this I mean literally two sets of wires to the AC/DC adapter.

I would then add a minimum of 100µF in parallel with 0.1µF near the power input of the Arduino and another set at the input power of the ULN2003 board.

The goal is to keep the voltage going to the Arduino board above the minimum required to not reset the processor.

Other possibilities that might be implemented if the above are not adequate are:

Increase the 100µF capacitors.
Add a diode going from the AC/DC adapter to the Arduino power input before the capacitors.  This would help if the problem is the ULN board is pulling down the AC/DC supply  and the capacitors are not able to counteract this drop.  The diode would decouple the ULN2003 from the Arduino capacitor when the ULN2003 dips low.

Please do not PM me with thread based messages.  If your thoughts are worth responding,  the group should benefit from your insight.


Thanks for the replies. And thanks to the mods for merging the topics, I stupidly posted this question twice.  :(

What I mean with "voltage drop" is that when I connect the 5V adapter to the ULN2003 and I measure the voltage on the breadboard, I only get 3.5V when the stepper is running. This is too low to power the clock or display.
The adapter should be fine because a) it does not happen when I use it to power my R-Pi's, and b) the same happens with brand new quality adapters. The stepper should draw at maximum 200 mA, see above. It should be able to deal with that.

I already tried your suggestion of splitting the power with two pairs of wires on the barrel jack, but I still measure 3.5 V on both sides.

As I wrote in the merged post, could I simply keep the voltage up with two step-up converters?


Sounds like your wiring is wrong, post a diagram.


It's wired like below now. Note: the stepper driver board and cap. sensor are not in the Fritzing library so I made a mock-up of these. I use this driver board and this capacitive sensor

Nothing wrong with that I think. I tried powering the display and clock on the same 5V rail, but that didn't work.


Oct 17, 2018, 11:13 am Last Edit: Oct 17, 2018, 11:26 am by outsider
I don't see a connection from the driver GND to the Arduino GND, no return path for signals.


Like I said, the stepper driver board is not in Fritzing so I just used the chip itself as mock-up.

It's wired like here, just with an external 5V.

Why should I connect the Arduino GND to the GND of the other power supply?


Electricity flows in a CIRCUIT, you are sending a signal from the Arduino to one of the inputs on the driver, there has to be a return path to the Arduino for the signal, no circuit, no signal seen by the driver.


Oct 18, 2018, 01:22 pm Last Edit: Oct 18, 2018, 01:22 pm by irPaul
Funny enough, the circuit does work as initially drawn. But the question was not that the stepper is not working (because it is), the question is how I can share the 5V source with the Arduino, stepper and other peripherals?

As said, connecting the peripherals parallel to the stepper gives them too little volts to function, although the power supply is well-capable of feeding the stepper.

Go Up