I'm building an IC programmer (for the AS5043 sensor) that requires two voltage levels; 5V and 7.5V. I decided to control those with two PNP transistors. I'm controlling them from a 5V microcontroller.

The programming scheme requires a 2us pulse for each bit.

For the 7.5V line, I made an NPN driver based on the circuit here. Here's the schematic of the switcher:

transistor driver

The C3 capacitor is explicitly required by the manufacturer for the OTP programming process. For development purposes, I have a small (<100R) resistor at PROG to simulate a load and discharge C3 after each pulse.

The circuit works, but exhibits strange, to me, behavior:

oscilloscope pic

  • Magenta: control signal
  • Yellow: output
  • Blue: voltage after resistor R3, just at the Q3 base.

It seems that there's a delay to the transistor turning off. This delay is constant and doesn't change if I make the impulse longer.

For reference, the IC I'm trying to program is described here; the datasheet contains programming information as well as the simplified schematic of the reference programming board.

I'm not very well-versed at analog electronics, so I might need a good basics refresher and/or might be making a fundamental error.


2 Answers 2


Bipolar transistors exhibit a behaviour called charge-storage.

When the transistor is turned on charge builds up in the base region of the transistor. To turn the transistor off it is required that that charge is removed.

One way to do that is to force a reverse current into the base by adding a capacitor across the base driving resistor (as you have discovered).

Understanding Charge Storage


You are seeing the Miller capacitance holding the base on for an extra 1.5us or so. It's caused by the capacitance between the collector and base of Q3.

There will be a similar effect on the base of Q2.

If you need faster switching, replace NPN with 2N7002 and PNP with BSS84 and reduce R4 to 1K and R3/R5 to 100 ohms or 0.


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.