Optical Utility Meter LED Pulse Sensor

The Optical Pulse Sensor works by sensing a utility meter's pulsed LED output. Each pulse corresponds to a certain amount of energy passing through the meter. The amount of energy each pulse corresponds to depends on the meter. By counting these pulses the meters KWh value can be calculated.

Unlike clip-on CT based monitoring, pulse counting is measuring exactly what the utility meter is measuring i.e. what you get billed for. The pulse counting cannot provide an instantaneous power reading like CT based monitoring can. Where possible, we recommend using pulse counting in conjunction with CT monitoring. The emonPi and emonTx can simultaneously perform pulse counting and CT based monitoring. 


Compatibility & Firmware Update

The pulse sensor is compatible with the emonPi and emonTx V3.4 (with RJ45 socket) . A firmware update may be required if the unit was purchased before July 2015. 

The sensor will also work with the older emonTx V3.2 if the RJ45 plug is snipped then wired direct into the terminal block. Or, an RJ45 breakout board could be used.


emonPi min firmware: V1.7

emonPi firmware is displayed on the LCD at boot-up or can be requested via serial:
$ minicom -D /dev/ttyAMA0 -b38400
then send the command 'v' to return the firmware version and RF settings. 

emonPi firmware can easily by updated by clicking 'Update' in the Admin section of Emoncms once logged in locally. See Firmware Update section of emonPi Getting Started Guide


emonTx firmware version can be checked by viewing serial output using a USB to UART cable see debugging section at bottom of emonTx page

emonTx V3.4 min firmware: V1.8

 To update the emonTx V3.4 firmware see: 

emonTx V3.2 min firmware: V2.0

 To update emonTx V3.2 firmware see: 

Sensor Installation

1. Identify your utility meter's pulse output, usually a red flashing LED marked 'KWh'. Stick the supplied self adhesive base-pad over the LED, carefully aligning the hole in the center of the circle so the flashing LED shines through clearly. Be sure to clean any dust or debris from the meter face before attaching the sensor. 

2. Attach the sensor to the circular base sticker by pressing the sensor head firmly in place. Take care to ensure sensor is centered over the pad.


EmonTX V3.4 onwards or emonPi:  Plug the  sensor cable into the  RJ45 socket (left side on the emonPi). With the unit powered up, switch on a large load such as a cooker or kettle. The green LED on the rear of the sensor should now flash in sync with the utility meter LED to indicate successful detection. Units with firmware from July 2015 allow the sensor to be plugged in without powering off the emonPi first.

EmonTX V3.2: Cut off the RJ45 plug, strip the insulation from the wires and connect them to the emonTx terminal block as follows:

emonTx Terminal 2 = 3.3V  Red wire
emonTx Terminal 3 = GND   Black wire
emonTx Terminal 4 = IRQ1​  Blue wire
Power up the emonTX and test as for the emonPi.


Configure Emoncms

​After logging into the local Emoncms, the pulse input (Node 5 on emonPi) at the bottom of the list should be a number greater than zero : 

Clicking the spanner icon brings up the feed input processor. It's a good idea to log the raw pulse count to a feed for debugging. The pulse count needs to be multiplied by a scalar to convert the pulses to Wh. The scale factor will depend on your meter, see the table in Appendix A below. Once the scalar has been applied, log the result to a Wh Accumulator feed. This feed is an ever increasing number which won't return to zero if the emonPi / emonTx is reset, which would result in the raw pulse count returning to zero. 

Viewing the Wh accumulator feed: 

To convert the wh accumulator feed to daily KWh bargraph use the bargraph visualization with delta = 1 and scale = 0.001


Appendix A 

Meter Image Pulses Per KWh

Multiplication factor for

Wh Accumulator feed

Elster A100c

(single phase)

1000 1000 / 1000 = 1

Actaris ace9000

(single phase)

800 1000 / 800 = 1.25

Xil XLA12

(single phase)

800 1000 / 800 = 1.25

Elster A1100


500 1000 / 500 = 2



Elster A1140


1000 1000 / 5000 = 1

Landis & Gyr 5254E

(single phase)

1000 1000 / 1000 = 1

 Inepro PRO1D

2000 1000/2000 = 0.5


AMR Smart Meter

1000 1000 / 1000 = 1

Landis & Gyr E110

(Single Phase)


1000 / 1000 = 1

Please help us expand this table by contributing details for your meter. Email photo and scale factor to [email protected]


Appendix B - Technical Info 

Voltage: 3.3 - 5V DC

Current Consumption - no Pulse (sensor in darkness): 0mA 

Current Consumption - Pulse: 5.3mA for duration of pulse (standard meter 100ms) 

Output: Positive pulses output in TTL, is synchronized with the LED light pulses.


Optical Sensor RJ45 Pinout 


  • Pin 2 = VCC
  • Pin 5 = GND
  • Pin 6 = IRQ1​