I am trying to make a rudimentary energy metering system for my workplace. We have several Countis E50 meters in place which feature a pulse output. The output is 100VDC at 0.5A.

What I would like to do is detect these pulses with a Pico W and transmit them to a server. The Pico requires 3.3V on the GPIO pins for the detection.

How can I lower the 100VDC down to the 3.3V for the Pico to detect, and maintain safety? I believe a resistor network / voltage divider may work but I feel like optoisolation might be a better option.

EDIT: The pulses are 100ms in length and happen every 10 WattHours of usage. So the time that the voltage is on will vary by usage of the downstream circuits.

  • \$\begingroup\$ If you can change your model of meter, the E53 appears to be the matching model with Modbus interface, which might make your work both easier and more complete. \$\endgroup\$
    – jonathanjo
    Oct 21, 2022 at 11:36
  • \$\begingroup\$ Thanks for the info, but we already have 20 of these installed and I dont think they want to replace them all! I just have to work with what I have in front of me at the moment but I will certainly retain this as an option. Thank you! \$\endgroup\$ Oct 21, 2022 at 11:39
  • \$\begingroup\$ Depending on what's practical for your situation, you might consider: a) a relay, b) a neon + phototransistor (similar interface from 2007), or even c) a TTL webcam aimed at the display + simple segment decoding software. \$\endgroup\$
    – jonathanjo
    Oct 21, 2022 at 12:24

1 Answer 1


How can I lower the 100VDC down to the 3.3V for the Pico to detect, and maintain safety?

I'd use an opto-isolator for sure. They don't cost much and they give peace of mind. The opto input needs to be current limited to around 10 mA so, if the input photodiode needs about 1.5 volts to drive 10 mA through it then you need to drop 98.5 volts at 10 mA across a resistor.

The resistor value therefore equals 9850 Ω. Depending on how often the pulses arrive you may need to choose a resistor with a power capability of 0.5 watts or more.

For instance, the pulse power will be 0.985 watts but, if the maximum pulse duty is only 30% then the average power will be less than 0.3 watts and a 0.5 watt resistor will be suitable.

The output of the opto will almost certainly work with a 1 to 10 kΩ pull-up resistor on the phototransistor's collector with the emitter tied to local 0 volts.

Anyway, that's what I'd do.

Edit to add a few words about the voltage rating of the resistor; it should be rated at 150 volts (or more). This isn't a power rating but a voltage breakdown rating. Most 0805 SMD resistors will be good for 150 volts (or more) but, do check the supply. A few 0805 resistors may only be rated at 100 volts and that's too close to the working voltage to make me comfortable.

  • \$\begingroup\$ I'll delete this comment if it becomes irrelevant. You may wish to mention ensuring that the resistor used is appropriately voltage rated. More an issue at 230 VAC than 110 VAC - others may find this Q&A and try 230 VAC version. \$\endgroup\$
    – Russell McMahon
    Oct 21, 2022 at 11:22
  • \$\begingroup\$ Just to clarify, we are sensing 100V DC not AC. \$\endgroup\$ Oct 21, 2022 at 11:30
  • \$\begingroup\$ @ColinNapier Russell is correct; the voltage rating of the resistor should be taken into account. I've added an edited section in my answer about this. \$\endgroup\$
    – Andy aka
    Oct 21, 2022 at 11:39
  • \$\begingroup\$ The voltage and potential power issues can both be sidestepped by using multiple series resistors, like they do in the high-voltage dividers used in multimeters. The power and voltage would each be spread across multiple resistors in that case. (of course consider failure conditions--if one resistor fails open, it will then have the full voltage across it. Resistors are pretty robust though, so failure is unlikely.) \$\endgroup\$
    – Hearth
    Oct 21, 2022 at 19:41

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.