I have a voltage divider to measure the voltage in a DC bus. Parallel to R1 I have a suppressor diode (D1) to protect the input of the microcontroller from transient overvoltages. This diode has a reverse leakage current that can be around 1% of the current through the resistors.

I know how to calculate the accuracy of the sensor without the diode, but how does the diode alter the measurement? How can I do an extreme value analysis of this circuit?


simulate this circuit – Schematic created using CircuitLab

  • 4
    \$\begingroup\$ Model it in a sim tool. Many free ones available. I use micro cap (full version now free). Get it while you can. You’ll thank me for this one day. \$\endgroup\$
    – Andy aka
    Commented Feb 3, 2020 at 21:49
  • 2
    \$\begingroup\$ I know how to calculate the accuracy of the sensor without the diode I guess you assume the uP as an ideal part having no leakage current at all?? Quite a few uP also have internal clamping diodes. Why not make use of them and put a current limiting resistor in series with the path from R1/R2 to the uP? \$\endgroup\$
    – Huisman
    Commented Feb 3, 2020 at 21:54
  • \$\begingroup\$ I agree with Huisman and was just about to say the same. But better , what is your worst case error budget and then consider a better design. You already have 2% shown \$\endgroup\$ Commented Feb 3, 2020 at 21:58
  • \$\begingroup\$ Also remember the leakage will rise exponentially with temperature, so you may need to take the operating temperature range into account, not just the leakage at 25C. \$\endgroup\$
    – John D
    Commented Feb 3, 2020 at 22:03

3 Answers 3


Assuming you've found resistors that divide by exactly the right amount (or you've used a trim-pot to achieve that), then the fact that the diode is passing 1% of the total current through R2 means that you can expect approximately a 1% decrease in voltage across R1.

Since the actual reverse current through D1 is unlikely to vary linearly with input voltage, even this error has uncertainty.

Also, the source impedance of the signal you are measuring will influence the accuracy of your measurement.

On top of all that, there's the input impedance to the ADC that will influence the input somewhat.

The question is, are the cumulative errors introduced by all these factors approaching the significance of the least significant bit of your microcontroller's ADC?

I'll assume your ADC has a resolution of 10 bits. The least significant bit (LSB) of the conversion result will represent:

$$ \frac{1}{2^{10}} = 0.1\% $$

That is, the LSB represents 0.1% of the full scale reading (FSR) of the ADC. If your ADC's reference voltage is 5V, that's 5mV.

If the input to your ADC is anywhere near 0.1% wrong, the LSB means nothing, and your ADC becomes a 9-bit converter. If you have an error of 1% at the ADC's input, then you can't trust the lower 4 bits of the ADC's conversion, and you effectively have a 6-bit converter.

Without knowing the source impedance of the signal you are measuring, or its voltage range, it's impossible to say if you need to buffer the signal, or where you should perform diode clamping if you do. Without knowing the input impedance of the ADC, it's impossible to say where resistor dividers should be, or what resistances are acceptable. Without knowing the ADC's resolution (or at least the accuracy you need from the conversion), it's impossible to say how much distortion is acceptable.


Your best guess is probably to take the typical curves from the datasheet and shift them downward by taking into the worst-case numbers where (i.e. at the current) the latter are available. If they're far from your operating point, try to pick a part that's better specified for your application. Then add a safety margin, because extrapolation is a blood sport.

But basically, I'd suggest avoiding this circuit entirely in most cases. There's not enough information to suggest a better one, but almost anything else that works is better than using a low-voltage zener to clamp an input signal. The zener tolerance at Iz is just the start of the problems.


You need to check if the current inside the diode is between the Izmin and Izmax:


If it is then you can approximate the behaviour of the zener diode like a resistor (taken from the datasheet) in series with a voltage source(Vz)


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.