I was reading through SparkFun's article on transistors when I came across something that confused me. The article showed this circuit:enter image description here

With this description:

Similar to the NPN circuit, the base is our input, and the emitter is tied to a constant voltage. This time however, the emitter is tied high, and the load is connected to the transistor on the ground side.

This circuit works just as well as the NPN-based switch, but there’s one huge difference: to turn the load “on” the base must be low. This can cause complications, especially if the load’s high voltage (VCC in this picture) is higher than our control input’s high voltage. For example, this circuit wouldn’t work if you were trying to use a 5V-operating Arduino to switch on a 12V motor. In that case it’d be impossible to turn the switch off because VB would always be less than VE.

I am confused because the part about the Arduino not being able to turn off a PNP transistor makes sense, but doesn't the circuit shown feature exactly the situation described that the transistor wouldn't work in? Is this an oversight by me and is there something else going on here that I don't understand, or is this a mistake in the article?

  • "this circuit wouldn’t work" Jul 31, 2016 at 23:20
  • That's what I'd think, but this is what was shown on the article.... Jul 31, 2016 at 23:22
  • I pulled that text from the posted description verbatim. Jul 31, 2016 at 23:23
  • .... For example, this circuit wouldn’t work if you were trying to use a 5V-operating Arduino to switch on a 12V motor. ....
    – Majenko
    Jul 31, 2016 at 23:45
  • 2
    Don't actually do this to your arduino. The 12v will damage your arduino, especially when the 5V state is meant to output voltage, not taking in the 7v difference from the 12v.
    – Bradman175
    Jul 31, 2016 at 23:56

1 Answer 1


The article is saying that the circuit wouldn't work, thus it illustrates (correctly) something that won't work. What is the confusion?

To turn the PNP transistor off, the base voltage needs to be low with reference to the emitter voltage. Thus with an emitter voltage of 12V, and the most the Arduino can output is 5V, the transistor will never be off.

  • Sorry learner comment here. I tried it on a bread board with 3.3 and 5v interestingly applying either +3.3 or gnd turned it on and floating was off? 1k resiter to base. I thought you could never turn it off. I must be missing somthing?
    – AndrewT
    Mar 5, 2019 at 9:01
  • I'm not sure what you mean by "floating was off". Perhaps you should make a new question and reference this one if needed.
    – Nick Gammon
    Mar 8, 2019 at 7:16
  • @AndrewT As a general rule applying a floating input will result in undefined behaviour. With floating input there might be leakage from other parts of the circuit, enough to produce behaviour you are not expecting.
    – Nick Gammon
    Mar 11, 2019 at 22:12

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.