To preface the question, my hook up works just fine, I only wish to understand a little better or if I am doing it wrong.

I am working with a Pi, a stepper and a driver board for the stepper.


According to this hook up guide for the driver board, there are multiple digital pins that want either HI or LO that will affect the drive of the stepper.

For instance, the RST pin, when pulled low, will disable any STEP commands. I have this hooked up via GPIO, and when I set the GPIO pin to 0(LO), my STEP commands are ignored as expected.

My question is, does setting an "out" GPIO pin to 0(LO) really pull it low, or does it just not put out voltage. I thought going LO meant to pull to ground? Would it be better to use a pull-up/down resistor to toggle HI/LO i/o from the Pi, or does setting a GPIO "LO" pull it to internal ground?

1 Answer 1


"not putting out a voltage" would mean that the pin was not an output, or high-impedance. So yes making a GPIO pin an output makes it actively drive the pin, and outputting a 0 means it will try to sink current (assuming it is not connected to a negative voltage source which would probably break the silicon in the pi CPU chip).

You could use a pull up/down resistor so the pin is biassed one way or the other, and that would mean you would get that level when the GPIO pin is not configured as an output. Would also mean that the pin will have to sink or source current to assert the level you set it to as an output when that is different from the direction of the pull up/down, in addition to whatever current the thing the pin is connected to takes. So if you have a 1k pull-up resistor to 3.3V, the GPIO pin must output 3.3mA (ish) when you output a 0 on the pin. Of course the GPIO output has some internal resistance so in reality if you make it sink current the voltage on the pin won't be 0V exactly.

Setting the GPIO pin to 0 will sink current into the chip back via the chip 0v pins to the pi 0V.

  • Thank you, can you provide a source for the information you provided before I mark it as the answer?
    – Lanet Rino
    Commented Jun 2, 2017 at 16:53
  • Source? AFAIK this is commonly known characteristics of embedded CPU I/O pins: if a pin has to sink or source current it must be enabled as an output, will have an impedance associated with it - if there were a datasheet for the electrical I/O characteristics of the chip on the Pi I would refer you to it, but AFAIK there isn't one. There is a functional description here raspberrypi.org/app/uploads/2012/02/BCM2835-ARM-Peripherals.pdf Commented Jun 2, 2017 at 17:41

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.