I have come up with the following circuit to protect my device's IOs from overvoltage conditions.


simulate this circuit – Schematic created using CircuitLab

The idea is that as soon as the input voltage is higher than D2's Zener voltage M1 will shorten M2's gate to it's source and disconnect the input from the output.

The main reason for this protection circuit is to protect the rest of the circuit from accidental misconnections (e.g. accidentally connection In to 12V). D3 is there to prevent transient voltages from damaging the circuit.

My question is: Does this work? What happens if the input voltage is less than 0V? I think it also lockout negative voltages which would be desirable, but I am not sure.


I am not too worried about ESDs because they are short and the TVS diode D3 should be able to handle them. My main worry is a high constant voltage (12-24V), when the circuit to be protected is only rated for 5V.


I added a fuse (PTC) to protect against overcurrent, because it has a lower resistance than a series resistor in normal operation. But my main question is still if the cicuit will work as expected or not.


Turns out I didn't have to qorry about the voltage drop across the series resistanse. After simulating it I found that there will be a voltage drop across M2's source and drain if it's drain is connected to ground. Therefore the input voltage can never be pulled low.

  • \$\begingroup\$ Hm. Why not to use this very common technique ? \$\endgroup\$
    – Eugene Sh.
    Commented Mar 17, 2016 at 13:21
  • \$\begingroup\$ Have a look at this digikey.com/en/articles/techzone/2012/apr/… \$\endgroup\$
    – Tyler
    Commented Mar 17, 2016 at 13:22
  • \$\begingroup\$ @EugeneSh. because if somebody connects a 12V power supply to this, a very large current would flow through the diodes probably fry them if you don't use really big ones. \$\endgroup\$
    – Karsten
    Commented Mar 17, 2016 at 13:25
  • \$\begingroup\$ Suppose I applied 100V DC at the input from a source which can deliver high currents (ESD discharges behave like this). D3 will blow itself up, R1 will smoke, R2 possibly. Sounds like a disaster right ? What you need to add is some series resistance at the input, only then will clamping (like done by D3) have any effect. Note how the examples from the links in the other comments also recommend series resistance. \$\endgroup\$ Commented Mar 17, 2016 at 13:28
  • \$\begingroup\$ a very large current would flow through the diodes Yes, but only if there is no series resistance and/or fuse. Don't only look at the first schematic in Eugene's link, it is not a proper protection. \$\endgroup\$ Commented Mar 17, 2016 at 13:30

2 Answers 2


If the I/O to be protected is a microcontroller I/O, no your circuit will not protect it very well.

Try simulating this with a fast rise-time 24V with 0.5 ohm series impedance and see what happens. (lower than 0.5 ohm and the PTC will probably not work, depending on its specs).

M1 will only turn on when the input exceeds 5V by a volt or two, at which time your microcontroller is already dead.

If you must have protection of bidirectional I/O I would suggest a couple of BSS139 N-channel MOSFETS back-to-back in series with the input, and a clamp designed to handle maybe some tens of mA per input, whilst keeping the input voltage/current within spec for the micro.

You can easily handle +/-200V spikes or +/-24V continuous with this method- and series resistance can be < 100 ohms.

For dedicated inputs, adding a lot of series resistance is easier (or an opto with a bit of protection circuitry).

Be sure to pay attention to possible user-induced faults involving ground. For example, if you have more than one pin connected to ground, the user may connect one pin to +24 and the other to the return. After the trace burns off, the resulting 24V on part of the ground net can have far-reaching and rather sad consequences.

Edit: Series current limiter


simulate this circuit – Schematic created using CircuitLab

  • 1
    \$\begingroup\$ +1 for the last comment about ground faults in particular. Sounds like the voice of experience :) \$\endgroup\$
    – Phil Frost
    Commented Mar 17, 2016 at 15:43
  • \$\begingroup\$ Can you please elaborate on the N-channel protection? How would I have to wire them up? Do I need depletion mode MOSFETs? \$\endgroup\$
    – Karsten
    Commented Mar 17, 2016 at 15:49
  • \$\begingroup\$ @Karsten. In series back-to-back. The clamp will depend on requirements. Yes, you need depletion mode if you want it to work. ;-) \$\endgroup\$ Commented Mar 17, 2016 at 15:55
  • \$\begingroup\$ @SpehroPefhany I don't know what you mean by "back-to-back". I don't know where the backside of a MOSFET is... ;) \$\endgroup\$
    – Karsten
    Commented Mar 17, 2016 at 15:58
  • \$\begingroup\$ One of the two ways is to tie the two gates and two sources together (all four connected together), and connect your circuit only to the drains. One MOSFET will limit current in each direction while the other one conducts. (see edit above) \$\endgroup\$ Commented Mar 17, 2016 at 16:36

One problem with your design is if the overvoltage exceeds M2's maximum drain-source voltage, M2 won't actually disconnect the circuit.

Another is that when it's tripped, you'll have significant current and significant voltage in D2 and R1 and they'll get hot, and maybe fail.

The canonical solution for non-transient overvoltage protection is a crowbar circuit. This is a circuit which responds to an overvoltage not by attempting to disconnect the load, but instead by throwing a short circuit across the source. The advantage here is the voltage across the crowbar is relatively low, and so there will be less power dissipated in it, which means less heat and less chance of failure of the protection device itself.

Of course this results in drawing a very large current from the source too, so you add a fuse. Hopefully when the crowbar is tripped, it also blows the fuse. The fuse disconnects the load similarly to M2 in your circuit, but has a much higher maximum voltage.

It looks something like this:


simulate this circuit – Schematic created using CircuitLab

T1 is a thyristor. Normally it does not conduct. When the gate (the lead coming out the side) reaches some threshold voltage above the cathode (on the bottom), the thyristor begins conducting and won't stop until the current through the thyristor (from anode to cathode) decreases below some threshold.

When the threshold of D1 is reached, current begins to flow in R1, and consequently the voltage across R1 also increases. The thyristor's gate-cathode is in parallel with R1, so its voltage increases too. When the voltage across R1 reaches T1's threshold, T1 begins conducting and the crowbar is tripped.

C1 is just there to reduce nuisance tripping.

Two things can happen:

  • the current will be very high, and blow the fuse
  • the current won't be very high, and the fuse won't blow, and T1 will keep conducting until the fault is removed.

Accordingly, you'll want to select the fuse and spec the thyristor such that if the fuse doesn't blow, the thyristor won't overheat. This is easier since the voltage across a thyristor in conducting mode is relatively small.

You'll probably want to add to this arrangement a diode across the input which is normally reverse biased, but is forward biased in case the input voltage polarity is backwards. In this case the diode will conduct and either clamp the voltage to a safe level or blow the fuse.

Another option is to not connect the devices at all.

Instead, use an optoisolator. These devices are essentially an LED that shines on a transistor, in a convenient dark box. The light hitting the transistor creates a base current, just like light on a photodiode creates a current.


simulate this circuit

Select R1 such that at the intended input voltage, there's just enough current through the input diode to make it work, according to the datasheet. If there's an overvoltage fault on the input, then there will be more current through the input side, but usually there's significant headroom before anything is damaged.

If there's a very high or prolonged overvoltage fault, then the smoke will probably come out of the optoisolator or the resistor, however damage to the microcontroller is very unlikely. If you think this might happen a lot, put the optoisolator in a socket for easy replacement. They are pretty cheap.

A third option is to just put a large resistor in series with the input. Since the microcontroller's inputs are already very high impedance, this won't make much of a difference under normal circumstances.

Microcontrollers almost always have ESD protection diodes on their inputs which clamp the inputs to within a diode-drop of the power supply rails. So in the case of overvoltage or reverse polarity on the input, one of these diodes will begin to conduct. If there's a resistor in series with the input, then the current through these diodes is limited and no damage is done.

A risk here is latch-up. If you have a current-limited power supply to the microcontroller, the risk of catastrophic failure can be reduced. One way to accomplish this is to power the MCU through a series resistor, shunted by a capacitor. The capacitor will supply the transient switching current for the microcontroller, but in the case of latch-up the resistor will limit the current, hopefully below the threshold of damage.

Usually if the current on the inputs and the power supply is limited, the latch-up won't be able to sustain itself once the fault is removed.


simulate this circuit

  • \$\begingroup\$ Thanks for your answer. I have considered crowbar circuits too, but I am worrdied about transients tripping the circuit. The input is normally at 5V. If a transient activates the thyristor, but fails to blow the fuse the 5V will keep the circuit tripped and the device stops working until somebody disconnects it per hand. This could be really annoying... \$\endgroup\$
    – Karsten
    Commented Mar 17, 2016 at 14:49
  • \$\begingroup\$ I agree with your first point, but if I choose a transistor with a high enough max drain-source voltage this shouldn't be a problem (if somebody wants to destroy the device by applying 100V to an IO pin that's not my problem). \$\endgroup\$
    – Karsten
    Commented Mar 17, 2016 at 14:54
  • \$\begingroup\$ I don't really understand your second point. Even if 24V are applied the current will be only 19mA which would result in 0.361W power dissipation at R1. So I would just have to use a bigger resistor maybe 4.7kOhm with a 1/10W rating and everything is fine. \$\endgroup\$
    – Karsten
    Commented Mar 17, 2016 at 14:59
  • \$\begingroup\$ @Karsten If you are sure the overvoltage will never be more than 24V, then that reasoning may be sound. But keep in mind that power increases with the square of voltage. I've added an optoisolator as a 2nd option, which might be better for you if you don't expect these faults to be frequent or severe. \$\endgroup\$
    – Phil Frost
    Commented Mar 17, 2016 at 15:04

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.