I have a circuit block (Let's name it as block A) with a set of GPIO pins. The HIGH state of these GPIOs are 3v. I have a motor bridge that requires 5v input to set its (motor bridge's) GPIO to HIGH.

What I am trying is, when the GPIO pin in block A is HIGH, make the motor bridge's GPIO pin HIGH as well. When I connect the two pins directly (block A pin to motor bridges pin) motor bridge circuit did not detect the pin as HIGH. However, when I give 5v input to the bridge's GPIO pin it works. And I know block A GPIO's are only outputting 3v (when set to HIGH).

So how can I solve this? Do I need to use something like a step-up transformer or use a transistor as a switch?

Is there a simple way to solve this?

Appreciate your thoughts.

EDIT: (Additional info) I have a 5V power supply to the motor bridge circuit. That can be used if required.

  • 1
    Not a Pi specific question. This applies to all devices which provide less than 5V at the GPIO. Use a transistor as a switch. Feed it 3V3 and it will switch 5V. Look online for circuits. Or buy a voltage translater chip.
    – joan
    Commented Mar 24, 2023 at 16:11
  • Oh, is this a duplicate then? raspberrypi.stackexchange.com/questions/41173/…
    – Mad
    Commented Mar 24, 2023 at 16:15
  • Or a level shifter thepihut.com/products/…
    – CoderMike
    Commented Mar 24, 2023 at 17:10
  • Look up the thresholds of the thresholds of the IC families such as HCT. Post a schematic if you can.
    – Gil
    Commented Mar 24, 2023 at 17:15
  • Does this answer your question? How To Switch On/Off A Circuit using GPIO
    – Vadim
    Commented Mar 25, 2023 at 9:22


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.