I want to pull a 5 V signal line down to 0.5 V via an open-collector NPN BJT.

I intend to implement a simple voltage divider by using a resistor between emitter and ground. The base is driven by a 5 V microcontroller using a 5 kΩ resistor between MC and the base.

Is it possible to calculate the value of this voltage divider resistor if I only know the pulldown current I_a (the current that flows when the line is pulled down to ground)? If so, how? I think you have to consider the specifics of the transistor?

Sorry if this is a noob question.

  • \$\begingroup\$ R=V/I so if you know the current you'll have and the voltage you want then now you can calculate the resistance you want. Note the NPN will possibly take 0.2V or so, so you might want 0.3V across the resistor, not 0.5V \$\endgroup\$
    – user253751
    May 16 at 15:43
  • \$\begingroup\$ Can you tell me whats wrong with this simulation? falstad.com/circuit/… \$\endgroup\$
    – RenX
    May 16 at 15:53
  • \$\begingroup\$ I don't see the problem with it? it is indeed simulating? If you want the voltage to be lower, decrease the resistance on the bottom (or increase the resistance on the top, but you can't) \$\endgroup\$
    – user253751
    May 16 at 15:54
  • 3
    \$\begingroup\$ Not sure I understand the emitter resistor. If you want a voltage divider, why not just use 2 resistors in the collector? The emitter resistor makes your output voltage dependent on the base drive voltage. Maybe that's what you want, but I'm not clear on that from reading your question. \$\endgroup\$
    – John D
    May 16 at 16:33
  • \$\begingroup\$ If you know there is 5V on one side of resistor and resistace is 5k, and you need to pull one end to 0.5V, you can calculate anything you want. The larger question is, why you need a transistor, as you could pull down directly with the MCU pin, at least based on the info given. \$\endgroup\$
    – Justme
    May 16 at 17:13

1 Answer 1


You don't want the resistor in the emitter circuit, with it there the voltage drop across it will depend on the current through it and that will be dependent on the transistor parameters such as beta, \$V_{BE}\$ and \$V_{CE_{SAT}}\$.

Ground the emitter and put the bottom divider resistor in the collector circuit like this:


simulate this circuit – Schematic created using CircuitLab

Now the transistor acts like a switch and you can calculate the resistance needed.

You have a 5k resistor in the top of the divider and you need 4.5 V drop across it if you want 0.5 V at the output, so that works out to: $$\frac{4.5 V}{5000\Omega} = 900 \mu A$$

Now you know the current you need in the divider, you can find the other resistor, but you'll need to know \$V_{CE_{SAT}}\$, the collector-emitter saturation voltage. For a 2N3904 that might be something like 30 mV, so you take that into consideration and the voltage across the divider becomes $$ 5V-30mV=4.97V$$ and the total resistance for 900\$\mu\$A would be $$\frac{4.97}{900\mu A}=5522\Omega$$

So subtract the existing 5k and you need a resistor of 522\$\Omega\$

There will be a bit of error, depending on the transistor parameters but it should be close, and you'll also have to take into account the load on the output of your divider, if it's not a high impedance load you need to figure out the resistance that in parallel with the load will get you approximately 522\$\Omega\$ (or whatever the resistance works out to with the \$V_{CE_{SAT}}\$ your transistor has).

As someone else pointed out, at 900\$\mu A\$ you probably don't need a transistor, you can use an MCU output directly. In that case you calculate the resistance the same way but use the MCU output low voltage instead of \$V_{CE_{SAT}}\$.


Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.