A DIY emonTx with an strange problem with ZENER


Thanks all of you for this great open hardware-source Project.

I have made a little project to see my modified sine wave invertir’s wave form.

I have solder all components as emonTx’s schema (only one ammeter input). But I have found a strange error in my hardware.

The schema shows a 1K resistor and a 3.3V zener diode for the input of each analog value.

I have been getting crazy because, with any load, I could only get 1.43 Vdc in that pin, instead 1.66Vdc (more less)

I have found, after doing a lot of change in components and getting crazy, that if I disconnect ZENER diodes, I get 1.66Vdc and get it working.

With ZENER diodes connected, I get 1.43Vdc and the wave of an AC-AC adapter goes above 0Vdc. Without them, I can see perfect my AC-AC wave.

The way I have solder the zener diodes is::

  1. zener’s side with the line mark to the “end” of 1K resistor. That point is also connected with the analog input of my arduino uno board.

  2. zener’s other side to ground.


    ---------////----------------> to analog input
    / /

I have already changed one of them. Same result. I bought them one year ago to china (ebay).

May be they are defecctive ? The circuit is ok, as without zener, I can get a perfect sin wave between 100 and 900 (range for arduino 0-1023) analog values. I have powered it with 3.3V (it is a arduino buono, with both 3.3V or 5V power options; grounds connected, power rail from arduino 3.3V; (I have also tried power the emonTx hardware directly with AC-AC adaptor, same result: with zeners, bad, without them, perfect), …

I know I could change them with a BAT54S or similar. But for me, a newbie, the zener diode is very simple, but I don’t know what I am doing wrong.


A properly drawn circuit diagram showing the complete input circuit and the power supplies will be necessary before anyone can help you. I do not understand why you need a zener diode, there are no zener diodes in an emonTx.

Hi Robert

Thanks a lot again for your help.

I am talking about D2 and D6 in the next two images

Firstly I saw them as zener diodes. I have check now and they are TVS diodes. Doo they work as zener (more or less)?

My circuit is this (I have only changed resistor’s value and some capacitors as I haven’t got the values that EmonTX schema says).

I am going to test the zener diodes that I put with a voltage source (I have to make it with LM317). Does a zener diode affect?

If TVS and Zener are different, could I use BAT54S instead TVS?


As you say, those are not ordinary zener diodes. Although they are drawn as ordinary rectifier diodes, they are in fact 3.3 V TVS diodes. Their purpose is to divert the current from the internal protection diodes inside the Atmel processor, if the input is overloaded. They are essentially a zener diode, but their properties are optimised for handling spikes rather than for continuous operation. Transient-voltage-suppression diode - Wikipedia
Like zener diodes, they limit the voltage to their nominal clamping voltage in the forward direction, and to a normal diode drop in the reverse direction.

A BAT54S is a Shottky diode, not a zener.

I think your original problem is that your Chinese Fleabay diodes pass a relatively high leakage current even when they are not zenering - remember the bias voltage is supplied through what is effectively a 150 kΩ resistor, so it requires only a very small leakage current to pull that centre rail down - you have 1.53 μA from your numbers, according to my calculation.

Your C5 should be a lot bigger than 0.1 μF. What you have there is a RC high pass filter, which introduces amplitude and phase distortion, both of which are frequency dependent. So as not to introduce a significant phase shift at mains frequency (which is important for real power measurements), C5 must be much larger than is necessary to maintain the amplitude within acceptable limits.

Robert, thanks a lot. Perfectly explain.

I have read that BAT54S (two shottky diodes) can be used to PROTECT for overloaded. I understand that is better TVS diode than a BAT54S or zener.

I will check with my multimeter about leakage current of these zeners. (I have quickly test the zener resistance with my multimeter: >5Mohm. I have to check the leakege current after providing a 1.64Vdc to see if it is similar to the value you post).

Thanks a lot for your C5 value. In fact, I put a 0.1uF because I don’t have anyone. EmonTX is made with 1 uF so I supposed that it is the value that I have to buy and put.

  1. Does the best value 1uF as EmonTx has, doesn’t it?
  2. And for protect my IC’s inputs, and in case I don’t find any TVS diode, do you think that I could use BAT54S?


You can use a larger value than 1 μF for C5, that won’t be a problem.

You may not need the TVS diodes. The early emonTx V2 did not have them, and as far as I know, there were no reports of failures.

A multimeter on the resistance range will give an indication, but not a meaningful measurement, of leakage, because it will be applying a different voltage to the diode. Many multimeters apply less than 0.6 V in order to not cause semiconductor junctions to conduct. To do it properly, you need to apply a varying voltage, record the current each time and then plot a graph. You will see the current increase rapidly as you approach the zener voltage. In the reverse direction, the “knee” should start at around 0.6 V.

Hi everybody, after checking it, as usual, Robert Wall said the right reason. I was using some zener diodes that leaks this current:
at 3V, 851uA, and at 2.4V about 80uA

Thanks a lot.