# How to avoid NPN leakage current turning on a PNP darlington has high level switch for automotive electrics

I'm new to this forum; I have searched around but can't quite get the answer I need. I am building a kit car and using an Arduino to run all of the electronics. For my power output I am using TIP125 PNP Darlingtons, which are switched by the Arduino using an NPN transisitor: I'm worried that the gain of the PNP and NPN combined will be so high that leakage currents through the NPN maybe enough to turn on the darlington. How do I work out if this is possible and what could I do to reduce the risk? On another post I saw mention of a pullup resistor for the darlington, but I think they have these built in. I wasn't sure how to work out if these are sufficient.

• A resistor from the npn collector (pnp base) to the 12 V supply would make sure the pnp turns off when the adrino input is low. (10k ohm would be fine.) Nov 3 '14 at 17:12

You don't need to add anything. The TIP125 already has fairly low-value resistors in there: Note that the actual leakage current (2mA maximum at 25°C with zero base current- Iceo) is pretty loosely specified. I would expect it to be more like 200nA typically (10,000 times less than the maximum guaranteed).

To figure out if this is okay (rather than just eye-balling it like I did!), consider say 0.5V across R1 (not quite turning on), which would require a current of 63uA before it would begin to turn on the input transistor. Looking at the 2N3904 datasheet, the guaranteed maximum leakage from the 2N3904 is 50nA at 25°C. Rule of thumb is that this doubles every 10°C, but even so, even at 105°C we should have less than 13uA of leakage current, which is about 1/5 of the current required to begin worrying.

Spehro Pefhany's answer is correct. I just want to add few things. Keep in mind that NPN transistor gain doesn't combine with PNP when you consider leakage current. The only gain you have when NPN is off is the darlington gain. Then you have the minimum load current (let's say it's 50mA relay) divided by the darlington gain - 1000 => you need 50uA to turn the PNP on. Even without built in darlington resistors it's 1000 times larger than what leakage current of 2N3904 specified in datasheet (50nA). You can also calculate the other way around. 50nA of leakage * hfe=1000 = 50uA. So if you put a load of 50uA or less then you have to worry about leakage and calculate if the built in resistors will prevent turn on. Considering that a simple led is between 1 and 10 mA you'll rarely find a load that low. And if you do, you wouldn't need darlington anyway.

Another tip - if you only need 50uA (that's 5mA if you want to drive full 5A which the darlington is capable of) you don't need 1k at the NPN base. hfe minimum of 2N3904 is 100 at 10mA, so 5mA / 100 = 50uA. If arduino is 5V, the base resistor needs to be 5V - Vbe = 5V - 0.85 = 4.15V divided by required current 50uA (that's 50*10^-6) = 83kOhm. I reality you should use lower than that. I would recommend R1 = 20-47kOhm.

The calculation is the same for R2 - you should choose it to have 5mA at the base if you want 5A drive. So R2 = (12V-Vcenpn-Vbepnp)/0.005 = (12-0.2-2.5)/0.005 = 1.86k - use 1.8k. But if you want to drive a relay which is not more than 50-100mA you can use higher resistor - 10k-47k (for 100mA should be <93k)