# What is the ON resistance of a BJT like a 2N3904?

I wanted to use a BJT as a switch.e I want to drive the base from a uC pin at 3.3V. I have been told a FET needs a higher turn on voltage so I thought a BJT would be better. I am switching on a voltage divider and sampling the divider voltage with an ADC. So I wanted to know the ON resistance of the BJT to see how it will affect my calculations. But I don't see the on resistance in any BJT datasheets. Am I looking at this the wrong way?

## 2 Answers

BJTs have a saturation voltage. That will vary a bit with current, but not linearly so you would speak of a fixed resistance. The voltage is much more constant than that. This graph from the 2N3904 datasheet shows a typical saturation voltage around 50 mV between 1 mA and 10 mA collector current. That's typical, but elsewhere in the datasheet it says 200 mV maximum. If your ADC reference is 3.3 V that can give you an error of up to 6 %. Probably less, because that's when the resistor ratio is very large. With both resistors equal you'll have a 3 % error. It's up to you to decide if that's acceptable.

A FET will do much better. What you need is a logic level FET. There's plenty of FETs which will fit your application. The Si5406CDC, for instance, has a $V_{GS(th)}$ of 1 V maximum and an $R_{DS(ON)}$ of less than 20 mΩ at 3.3 V gate voltage, which is negligible.

• Wow, you more than answered my question. – BSEE Aug 9 '12 at 21:19

You won't find the on resistance of a BJT. What you want to do is put about 1 mA of current into the base. That should drive it to saturation. The parameter you want to find is Vce(sat) or something of the sort. This will be collector-emitter voltage drop when the transistor is saturated. It will be about 300 mV, depending on the actual load current. If in doubt, drive it into saturation with your circuit, measure Vce and use KVL to adjust your scaling equation.