best suggestion for over voltage


Looking for a simple good solution to prevent a Analog input pin from receiving over 5 volts.

First thing that comes to mind is a Zeaner Diode shunted to ground threw a resistor (1K ohm?) - any others?

I think that is about as simple as it gets but looking for other ideas AND possibly how to give visual indication that over voltage is present, maybe drive a transistor to turn on a LED ?

Thanks for any suggestions.

A 5V1 zener diode is good proceeded by a series resistor. You can also use rail catching diodes:-

possibly how to give visual indication that over voltage is present

that is much more tricky because you have to consider both too much +ve voltage and too much -ve voltage. A window comparator will work but you need rails outside those you are monitoring.

What you are looking for is something called a "Crowbar" circuit in power supplies. For this low current alp, the zener would protect the excessive + voltage, and the SCR portion of the Crowbar circuit would trigger a transistor to turn on a light/alarm, or to signal Arduio to send an alarm. (only one version of crowbar)

Take a look see how to mod the circuit - while triggering the Triac (with resistor in series to prevent overvoltage), also trip an alarm

[edit]I should have checked Mike's link - he has all the questions answered there with good circuits. You do great work Mike - thanks for all your input.[/edit]

Ken H>

Hay Grumpy_Mike, thanks for the reply.

I figured the Zener was the simple solution.

I don't think I need to worry about the input being negative and the max the over voltage would be is 10 volts on the input, or 5 volts over. A Negative or higher voltage than 10 then I have something more to worry about.

So it's possible that I could use an LED with a limiting resistor set so the LED is maxed at 10 volts, and it would possibly glow dim at 5.1 volts

EDIT Thanks for your reply also Ken H, However the Crowbar needs ot be "reset" by removeing the power. I need something that will automaticly return to normal operation once the over voltage is removed.

AND possibly how to give visual indication

If the transient has a high enough voltage, a gas discharge tube will do both! ;D

(very pretty light show from the main distribution frame in a hill-top telephone exchange during a thunderstorm!)

What is the impedance of the signal you wish to measure? That is how much current can it supply? Also a hint of how high 'worst case' you think it could reach. Keep in mind that all the I/O pins have built in rail clamping protection diodes but are limited to very small current capacity.

I've seen one micro-controller application note where you could wire a 120vac voltage to a input pin (to use as a time base) by having a very high ohm series resistor wired to the input pin. That would limit the current flow to under a milliamp or less (I forget the actual continous current limit value) as the internal clamping diodes turned on as the signal went above Vcc or below chips ground voltage.

So if we knew more about the signal you are wanting to measure maybe a best solution would be easier to flesh out.


OK, for more info -

Basically I am measuring the voltage on a 12 volt battery system. Float charge is 13.2v, Bulk charge is 14.2volts. For simplicity, the max charge rate is 15 volts. That will be ran through a voltage divider with 3 equal resistors, so 15/3 = 5 volts across each resistor.
That will be picked off and sent to an analog input on an Arduino for 0 - 5 volts.

However there is a chance that someone might connect a 24volt supply to it, which means a max charge rate of 29.6 volts, or 30 for simplicity, 30/3 = 10 volts on the Arduino.

So your voltage divider has three series equal size resistors. The bottom one (relative to ground) is your 0-5 volt output to the Arduino analog input pin. I would just wire a 10v zener diode (between the junction of the top and middle resistor (relative to battery input) to ground. Be sure your zener is wired in the correct direction and that you have a wire connection between the battery ground and the Arduino ground.


Yep, I see what your saying. After some testing here I can also place an LED after the Zener and it lights when the Zener conducts. The higher the over voltage the brighter it gets.

Thanks everyone :D

EDIT ANd changed my photo to better suit me ;D

After some testing here I can also place an LED after the Zener and it lights when the Zener conducts.

If you add the LED you may have to change the value of the zener to account for the forward voltage drop on the LED. Be sure to test out the complete divider/voltage protector to make sure it starts conduction at the proper 'battery voltage" value.