Electric Meter Reading 1 – Arduino


Most electric meters has a blinking led (infrared or visible light). The blink frequency reflects the power level. The most common frequency is 1000 pulses/kWh.
Reading the number of pulses during a given time period or measure the time between two consequtive pulses, makes it possible to read the power. Different solutions exists for reading and analyze the pulses. For instance, Raspberry Pi or an Arduino could do the work. An ESP8266 provides a WiFi connection as well.
This article describes how to build a very simple system based on the Arduino Uno and also how to build an IR detector.

Future Improvements

This system works well in a controlled environment with no major electric noice like fluorescent lamps etc. The power value is only sent to the serial interface, for display by any serial reader.
If a more roboust system is required and an on-board display is preferred, check out article “Electric Meter Reading 2 – Arduino”.
If communication with a server for storing the values generated by the Electric Meter Reading, check out article “Electric Meter Reading 3 – Arduino”.

Step by Step

1. Connect all components according the circuit below. Connect your arduino to your computer (power, serial communication).
2. Download the arduino sketch (see below).
3. Attach the IR transistor to your electric meter (you have to find the solution best for you, magnet ,tape, glue…)
4. Start the Serial Monitor in the your Arduino IDE. You should now be able to see power reading values from your arduino.


Table 1: Components used
Component Quantity Link (Ebay affiliate link)
1 Arduino Uno UNO R3 ATmega328P CH340 Mini USB Board for Compatible-Arduino
1 IR transistor 50Pcs 5mm 940nm IR detector sensor Infrared Phototransistor
1 10k Ohm Resistor 64 values 1280pcs 1 ohm – 10M ohm 1/4W Metal Film Resistors Assortment Kit
3 330 Ohm Resistor see above
1 LED 5mm red 10 Value 200pcs Six colors 5mm Round Bright Light LED Diode Assortment Kit Set
1 LED 5mm green see above
1 LED 5mm yellow see above
1 Breadboard Solderless MB-102 MB102 Breadboard 830 Tie Point PCB BreadBoard For Arduino
1 2-lead wire, 2 meters link
1 Neodym Magnet20x3mm Round Countersunk Ring Magnet 5mm hole 10 Strong Round Ring Cylinder Countersunk Magnets 10mm x 5mm Hole 3mm Neodymium
1 Jumper Cables 65Pcs Male to Male Solderless Flexible Breadboard Jumper Cable Wires For Arduino


Note: the IR transistor shall be connected backwards. The IR transistor should be attached to a long wire (1-2 meters) in order to make the reading more practical


Arduino Sketch