ESP32 Energy Monitoring Methods Compared: Pulse Meter vs CT Clamp vs PZEM vs Modbus

Quick Summary (TL;DR):
There is no single “best” ESP32 energy-monitoring method because the four common approaches solve different problems. A pulse reader is the cheapest and safest way to read whole-home energy from an existing utility meter; its accumulated kWh effectively follows the meter’s own metrology, but it usually cannot tell you voltage, current, power factor or individual circuits. A CT clamp is the best non-invasive way to monitor a specific circuit or whole-home current, but a CT alone measures current rather than true active power, so multiplying amps by 230 V is only an estimate unless you also measure voltage and phase. A PZEM-004T is the best low-cost DIY option when you want real voltage, current, watts, power factor, frequency and kWh from a single-phase circuit, but it requires mains-connected installation and is not the same class of installation as a certified DIN-rail meter. A Modbus DIN-rail meter such as an SDM120 or SDM630 is the best permanent solution when you need robust true-power measurement, import/export data, three-phase monitoring, long cable runs and professional switchboard installation. For most Home Assistant users: pulse reader for whole-home billing visibility, CT clamp for easy circuit monitoring, PZEM for cheap detailed DIY metering, and Modbus for the serious permanent installation.

Materials You’ll Need

MethodTypical hardware
Pulse meterESP32, optical/phototransistor sensor, USB power, light shield/holder
CT clampESP32, suitable CT, ADC/burden/bias circuit or voltage-output CT
PZEMESP32, PZEM-004T v3.0, suitable current sensor/shunt version, insulated enclosure
Modbus DIN meterESP32, isolated or suitable RS-485 transceiver, SDM120/SDM630-class meter, twisted pair
Home Assistant + ESPHomeFor local dashboards, Energy dashboard and automations
MultimeterUseful for low-voltage debugging and verification

Important safety note: a pulse reader can normally be installed without opening mains wiring. A CT clamp does not make an electrical connection to the conductor, but accessing conductors inside a distribution board can still expose dangerous voltages. PZEM and DIN-rail Modbus meters require direct mains wiring. Permanent mains work should be installed in a suitable enclosure and handled by a qualified electrician where required.

The Four Methods in One Table

FeaturePulse readerCT clampPZEM-004TDIN Modbus meter
Electrical connection to mainsNoNo direct connection to CT itselfYesYes
Whole-home energyExcellent if meter LED accessibleYesPossible, model/current limit dependentExcellent
Individual circuitsNoExcellentExcellentExcellent
True active power (W)Derived from utility-meter pulsesNot from CT aloneYesYes
VoltageNoNoYesYes
CurrentNoYesYesYes
Power factorNoNo with CT onlyYesYes
FrequencyNoNoYesYes
Import/export directionDepends on meter pulse behaviourNo with CT onlyUsually limited/not idealYes on suitable bidirectional meters
Three-phaseMeter total only if pulse represents totalUse one CT per phaseNot the normal PZEM-004T useYes with meters such as SDM630
Installation difficultyVery lowLow–mediumMedium–highHigh
Typical costLowestLowLow–mediumMedium–high
Best useBilling/whole-home visibilityNon-invasive circuit monitoringLow-cost detailed DIY meterPermanent professional metering

What Are You Actually Trying to Measure?

Before choosing hardware, decide which electrical quantity you actually need. “Energy monitoring” can mean several very different things.

QuantityMeaningUnit
VoltageElectrical potentialV
CurrentInstantaneous RMS current flowA
Active powerPower actually doing useful workW
Apparent powerRMS voltage × RMS currentVA
Reactive powerOscillating energy associated with reactive loadsvar
Power factorRelationship between active and apparent power0–1
EnergyPower accumulated over timeWh / kWh
FrequencyAC mains frequencyHz

A CT clamp by itself gives you current. A PZEM or proper energy meter simultaneously measures voltage and current and calculates real power. A pulse reader is different again: it is reading the output of an existing certified meter that has already done the electrical measurement internally.

Method 1: Electricity-Meter Pulse Reader

Many electronic utility meters have a front-panel LED marked with a constant such as 1000 imp/kWh, 2000 imp/kWh or 10000 imp/kWh. The LED flashes in proportion to accumulated energy. An ESP32 can detect those flashes with a phototransistor, photodiode or optical module and convert pulse timing into power and energy.

Utility meter LED
      ↓
Optical sensor
      ↓
ESP32 pulse_meter
      ↓
Home Assistant
  ├─ live power
  └─ total energy

Why Pulse Reading Can Be Surprisingly Accurate

The ESP32 is not estimating current or trying to reproduce the utility meter’s analogue front end. It is simply counting pulses generated by the meter itself. For accumulated energy, this means the result can track the meter extremely well apart from pulse resolution, missed pulses and any interpretation rules used by the meter.

If the meter is marked 1000 imp/kWh, one flash represents:

1 kWh / 1000 pulses = 0.001 kWh per pulse
                     = 1 Wh per pulse

At 10,000 imp/kWh, each pulse represents only 0.1 Wh, giving finer time resolution.

How Instantaneous Power Is Calculated from Pulses

If you measure the time between two pulses, average power is simply the energy represented by one pulse divided by the elapsed time.

Power (W) = 3,600,000 / (imp_per_kWh × seconds_between_pulses)

For a 1000 imp/kWh meter, one pulse every 3.6 seconds corresponds to approximately 1000 W. One pulse every 36 seconds corresponds to approximately 100 W.

The Weakness of Pulse Monitoring: Low-Load Latency

At low power, flashes become infrequent. A meter with 1000 imp/kWh at a constant 20 W produces only about one pulse every three minutes. That means the accumulated energy remains correct, but the “live power” display reacts slowly.

ESPHome’s pulse_meter component is a good fit because it measures the time between pulses rather than only counting how many occurred in a fixed time window. That gives better low-rate resolution than a basic fixed-window pulse counter.

What a Pulse Reader Cannot Tell You

  • Voltage
  • Current
  • Power factor
  • Frequency
  • Which circuit caused the load
  • Phase-by-phase information
  • Import/export direction unless the meter’s pulse output specifically represents it

A pulse reader tells you what the meter chooses to encode in that pulse stream. On a normal household import meter this is often enough for excellent whole-home consumption monitoring, but it is not a general-purpose electrical analyser.

Best Uses for a Pulse Reader

  • Whole-home consumption without touching mains wiring
  • Home Assistant Energy dashboard
  • Cross-checking bills and daily consumption
  • Low-cost rented-property monitoring where panel modifications are undesirable
  • Situations where the utility meter is accessible but the distribution board should not be modified

Pulse Reader: Main Advantages and Disadvantages

AdvantagesDisadvantages
No electrical mains connectionOnly works if a suitable pulse LED/output is accessible
Very low costNo voltage/current/PF/frequency data
Accumulated kWh follows the utility meterLow-load power can update slowly
Easy ESPHome integrationAmbient light can cause false pulses
Excellent whole-home solutionCannot identify individual circuits

Method 2: CT Clamp

A current transformer (CT) measures AC current by magnetically coupling to a conductor. A split-core CT can be clipped around an existing cable conductor without making an electrical connection to it.

The critical detail is that the CT must go around one current-carrying conductor, not an entire live-and-neutral cable together. If both conductors pass through the same CT, their magnetic fields largely cancel and the reading approaches zero.

ONE conductor through CT → current measured

Live + Neutral together through CT → fields cancel → near-zero reading

Current-Output vs Voltage-Output CTs

CT sensors are sold in two broad forms.

CT typeWhat comes outWhat the ESP32 needs
Current-output CTSmall AC currentExternal burden resistor + bias/ADC conditioning
Voltage-output CTLow AC voltageBurden is already inside; still needs suitable ADC/bias arrangement

The popular SCT-013 family exists in multiple variants, so the exact model matters. Do not copy a burden-resistor value from another project unless the CT ratio/output is identical.

Why the ESP32 ADC Needs a Bias

A CT produces an AC waveform centred around zero. A normal ESP32 ADC cannot measure a negative voltage, so a conditioning circuit typically shifts the waveform to roughly half the ADC supply.

CT waveform:      -AC  0  +AC
                     ↓ bias
ESP32 ADC sees:  ~1.65 V ± waveform

ESPHome’s ct_clamp component samples the waveform and calculates RMS current while effectively removing the DC offset introduced by the bias circuit.

The Most Important CT Limitation: Current Is Not Power

A CT alone measures current. It does not know the instantaneous mains voltage waveform or the phase relationship between voltage and current.

The common shortcut is:

Estimated apparent power ≈ 230 V × current

For a 5 A load this gives approximately 1150 VA. But if the real voltage is 236 V and the load has a power factor of 0.65, actual active power is much lower than 1150 W.

Active power ≈ Vrms × Irms × power factor

Example:
236 V × 5 A × 0.65 ≈ 767 W

This is why a basic CT-only project is excellent for relative load monitoring and current measurement but should not automatically be treated as a revenue-grade wattmeter.

Can a CT Clamp Detect Solar Import vs Export?

Not by itself. The magnitude of the current waveform looks similar whether power is flowing into or out of the house. To determine direction and true active power, the system needs a voltage reference and phase information, or a dedicated metering IC/meter designed for bidirectional energy measurement.

When a CT Project Becomes a Real Power Meter

A more advanced system samples both current and an isolated representation of the mains voltage waveform at the same time.

CT clamp → current waveform ─┐
                            ├→ simultaneous sampling → real power / PF
isolated voltage reference ─┘

At that point the project starts to resemble a dedicated energy-meter design. For permanent whole-home metering, a purpose-built metering IC or DIN-rail meter often becomes more sensible than expanding a basic CT circuit indefinitely.

Best Uses for CT Clamps

  • Monitoring one appliance circuit
  • Whole-home current monitoring where pulse output is unavailable
  • Comparing loads without cutting conductors
  • Detecting whether a heater, pump, compressor or EV charger is running
  • Multi-circuit dashboards using several CT channels

CT Clamp: Main Advantages and Disadvantages

AdvantagesDisadvantages
No direct electrical connection to measured conductorRequires access to a single conductor
Excellent for individual circuitsCT alone does not measure true active power
Low costNeeds calibration and analogue design
Scales to many channelsESP32 ADC quality/layout can affect low-current accuracy
Good for load signaturesCannot determine direction without voltage phase reference

Method 3: PZEM-004T

The PZEM-004T v3.0 sits between a hobby CT circuit and a professional DIN-rail meter. It is a low-cost dedicated AC energy-measurement module that measures the voltage and current waveforms internally and exposes calculated values digitally.

  • Voltage
  • Current
  • Active power
  • Active energy
  • Frequency
  • Power factor

This is a major upgrade over a CT-only project because the PZEM has the information needed to calculate real active power, not merely current or apparent-power estimates.

PZEM-004T Versions

VersionTypical use
PZEM-004T 10 ADirect/shunt measurement for lower-current single-phase loads
PZEM-004T 100 AExternal current transformer for higher-current circuits

The common v3.0 documentation specifies an 80–260 V voltage range, 45–65 Hz frequency range and active-energy accumulation up to 9999.99 kWh. Manufacturer specifications commonly quote about 0.5% measurement accuracy for voltage/current/power/energy and 1% for power factor, but those should be treated as module specifications rather than proof of utility billing certification.

Important: PZEM Also Uses Modbus

The word Modbus creates confusion in this comparison because the PZEM-004T v3.0 itself uses a Modbus-RTU-style register protocol over its serial interface.

PZEM-004T
  electrical meter module
  + TTL serial interface
  + Modbus-style register protocol

SDM120 / SDM630 class meter
  DIN-rail energy meter
  + RS-485 physical layer
  + Modbus RTU
  + professional switchboard form factor

So “PZEM vs Modbus” is not really a protocol comparison. It is a comparison between a cheap embedded metering module and a DIN-rail RS-485 energy meter.

PZEM Communication with ESP32

The ESP32 normally communicates with PZEM-004T v3.0 using a hardware UART. Multiple PZEM devices can be assigned different slave addresses, although practical multi-drop wiring deserves more care than a proper RS-485 bus.

ESPHome and Arduino libraries can expose the electrical measurements directly to Home Assistant, making PZEM one of the easiest ways to add detailed real-power data without writing a metering algorithm.

PZEM Safety and Installation

The PZEM is not an external sensor that can simply be taped to a cable. Its voltage-measurement section is connected to mains, and the module must be installed with appropriate insulation, terminals, enclosure, clearances and protection.

The 100 A external-CT version reduces the need to pass the full load current through the measurement PCB, but the module still needs a mains voltage connection for measurement and operation.

Where PZEM Is Better Than a Basic CT Clamp

MeasurementBasic CTPZEM-004T
CurrentYesYes
VoltageNoYes
True active powerNoYes
Power factorNoYes
FrequencyNoYes
Accumulated energyDerived/estimatedInternal meter counter

Where PZEM Is Weaker Than a DIN-Rail Modbus Meter

  • Less convenient/professional enclosure and terminal format
  • Normally aimed at single-phase DIY use
  • Not the natural choice for three-phase systems
  • Short TTL-style serial interface is less robust than differential RS-485 over long cable runs
  • Certification and metering-class options are not comparable with certified DIN-rail meter families
  • Bidirectional solar import/export measurement is not its strongest use case

Best Uses for PZEM

  • Detailed monitoring of one single-phase appliance/circuit
  • ESP32 + Home Assistant projects where watts and power factor matter
  • Low-cost workshop or lab energy monitor
  • Laundry/heat-pump/pump load signatures
  • DIY sub-metering where certified billing is not required

PZEM: Main Advantages and Disadvantages

AdvantagesDisadvantages
Very low cost for true power dataMains-connected installation
Voltage/current/watts/PF/frequency/kWhNot as mechanically robust as DIN-rail meter
Easy ESP32 UART integrationSingle-phase focus
No analogue ADC calibration on ESP32 sideNot the natural choice for certified billing
Good Home Assistant data setTTL-style interface less robust than RS-485

Method 4: DIN-Rail Modbus Energy Meter

A DIN-rail Modbus energy meter is the most “professional” option in this comparison. Devices such as the Eastron SDM120 family for single-phase systems and SDM630 family for three-phase systems are designed to live in a distribution board and expose metering data over RS-485 Modbus RTU.

A suitable model can provide:

  • Voltage
  • Current
  • Active power
  • Apparent power
  • Reactive power
  • Power factor
  • Frequency
  • Import energy
  • Export energy
  • Demand values
  • Per-phase values on three-phase models

Some meter variants are available with MID approval and specified metering accuracy classes, which moves them into a completely different category from a DIY analogue circuit.

Why RS-485 Matters

RS-485 uses a differential A/B pair rather than single-ended TTL serial. It is designed for electrically noisy environments, longer cable runs and multi-device buses.

ESP32 UART
    ↓
RS-485 transceiver
    ↓ A/B twisted pair
 ┌────────────┬────────────┬────────────┐
SDM120 #1   SDM120 #2   SDM630 / other Modbus device

Each slave has an address, so one ESP32 gateway can poll multiple meters or other Modbus equipment on the same bus, provided baud rate, parity, termination and addressing are designed correctly.

SDM120: Typical Single-Phase Use

The SDM120-Modbus class is a compact single-phase DIN meter. Current Eastron variants provide voltage, current, watts, power factor, frequency and energy data over RS-485, with some models supporting bidirectional import/export measurement and MID approval.

This makes an SDM120-style meter ideal for a heat pump, EV charger, solar feed, apartment sub-circuit or other permanent single-phase load where the installation should look like normal switchboard equipment.

SDM630: Typical Three-Phase Use

For three-phase supplies, an SDM630-class meter can expose per-phase voltages/currents plus total active/reactive/apparent power and accumulated import/export energy. That is far beyond what one PZEM-004T or one CT clamp can provide.

Three-phase energy monitoring is exactly where a proper meter becomes compelling because correct total power depends on measuring all phases and their electrical relationships consistently.

ESPHome Modbus Controller

ESPHome’s modbus_controller component can poll register maps directly. The official ESPHome documentation even includes an SDM120 example reading total active energy as a 32-bit floating-point value.

ESP32
  UART
   ↓
RS-485 transceiver
   ↓
SDM meter
   ↓ Modbus registers
ESPHome
   ↓
Home Assistant

The Real Difficulty with Modbus Is Not the Protocol

Once communication works, Modbus is simple: read registers and decode values. Most problems come from mismatched configuration.

  • Wrong slave address
  • Wrong baud rate
  • Wrong parity/stop-bit settings
  • A/B wires reversed
  • Missing or inappropriate bus termination
  • Wrong register type
  • Wrong register offset
  • Float byte/word-order mismatch
  • Using the register map for a different meter revision

This is why the meter manual matters more than copying a random YAML snippet.

Best Uses for DIN Modbus Meters

  • Permanent whole-home monitoring
  • Solar import/export
  • Three-phase supplies
  • Heat pumps and EV chargers
  • Professional sub-metering
  • Long RS-485 cable runs
  • Multiple energy meters on one ESP32 gateway
  • Installations where certified/MID-approved meter variants matter

DIN Modbus: Main Advantages and Disadvantages

AdvantagesDisadvantages
Most complete measurement setHighest hardware/installation cost
Professional DIN-rail form factorRequires mains-panel installation
Robust RS-485 communicationsRegister maps/configuration add complexity
Excellent bidirectional/multi-phase optionsMore hardware than a simple DIY sensor
Certified meter variants availableUsually requires electrician for permanent install

Accuracy: Which Method Wins?

“Accuracy” needs to be separated into energy accuracy, instantaneous-power accuracy and installation/calibration error.

MethodPractical accuracy view
Pulse readerExcellent accumulated-energy agreement with the existing utility meter if every pulse is captured correctly
CT clampStrong for current after calibration; power accuracy limited without voltage/PF measurement
PZEM-004TGood low-cost true-power measurement; manufacturer commonly specifies ~0.5% for core quantities
DIN Modbus meterBest defined/traceable option; choose model/accuracy class/certification appropriate to the job

For checking your electricity bill, a pulse reader is often more useful than a beautifully calibrated DIY CT because it is literally tracking the billing meter’s energy output. For engineering analysis of a circuit, however, a meter that exposes voltage, current and PF is much more informative.

Update Speed: Which Feels Most ‘Real Time’?

MethodTypical behaviour
Pulse readerFast at high loads, slow at low loads because it waits for pulses
CT clampVery responsive; sample/update interval is under your control
PZEMRegular digital polling; usually plenty fast for Home Assistant
Modbus meterRegular polling; typically 1–10 s is more than enough for dashboards

If you want to detect that a washing machine just switched from heating to spinning, CT/PZEM/Modbus data is usually more responsive than a low-resolution meter pulse stream.

Safety: Which Method Is Least Invasive?

RankMethodSafety / installation view
1Optical pulse readerNormally never touches mains wiring
2CT clampNo electrical connection, but panel access may still be hazardous
3PZEMDirect mains voltage connection; enclosure and wiring matter
4DIN Modbus meterDirect switchboard installation; professional installation strongly preferred

“Non-invasive CT” does not mean “risk-free installation.” Opening a consumer unit to place the CT can expose live conductors even though the CT itself is isolated.

Best Method for Home Assistant Energy Dashboard

All four methods can ultimately feed Home Assistant, but they differ in how directly they produce a valid cumulative-energy sensor.

MethodHome Assistant Energy dashboard
Pulse readerExcellent — naturally counts meter energy
CT clampNeeds power estimation and integration to kWh; quality depends on method
PZEMExcellent — exposes internal cumulative energy
Modbus meterExcellent — import/export kWh often available directly

For solar or bidirectional grid monitoring, a meter that exposes separate import/export registers is far cleaner than trying to infer direction from a basic CT.

Best Method for Solar

Best: bidirectional DIN-rail Modbus meter.

Solar creates a directional-power problem. At different times the house can import from the grid or export to it. A current-only CT does not know direction, and a utility pulse LED may represent only one energy register depending on the meter.

A bidirectional Modbus meter can expose import watts/kWh and export watts/kWh directly. That is the most useful data model for Home Assistant solar dashboards.

PZEM can still be excellent for monitoring the output of a single inverter/circuit where power flow is known, but it is not my first choice for net-grid import/export metering.

Best Method for an EV Charger

If the EV charger is on its own circuit, a CT clamp is excellent for detecting current and charging state. If you want accurate kWh delivered to the car, voltage, power factor and long-term energy totals, PZEM or DIN Modbus is better.

For a permanent high-current installation, a DIN-rail meter is generally the cleanest solution because the hardware is designed to live in the distribution board.

Best Method for a Heat Pump

Heat pumps are a particularly good use case for detailed power monitoring because compressor speed, defrost cycles, immersion backup heating and circulation pumps create distinct power signatures.

A CT clamp is excellent for detecting those patterns. A PZEM adds true watts and power factor. A Modbus meter becomes attractive if you also want certified-style energy totals or the heat-pump installation already has RS-485 infrastructure.

Best Method for Appliance Cycle Detection

CT clamp or PZEM.

For a washing machine, dryer, dishwasher or pump, you care more about fast power signatures than about billing-grade accumulated kWh. PZEM gives the richest cheap data, while a CT is electrically simpler if approximate power is sufficient.

Best Method for Whole-Home Monitoring

There are two very different “best” answers.

  • Cheapest/safest whole-home solution: optical utility-meter pulse reader.
  • Best technically complete whole-home solution: suitable DIN-rail Modbus meter.

The pulse reader wins if the goal is simply “how much energy is my home using?” The Modbus meter wins if the goal is “show me voltage, current, real power, power factor, import/export and phase detail continuously.”

Best Method for Multi-Circuit Monitoring

CT clamps scale very naturally to many circuits because one small sensor can be clipped around each circuit conductor. A multi-channel ADC/metering board can then monitor multiple branches from one ESP32.

Installing a DIN energy meter on every circuit becomes expensive and consumes DIN-rail space, while multiple PZEM modules become mechanically messy. CTs therefore remain an excellent architecture for circuit-level energy dashboards even if a separate Modbus meter handles the whole-home reference measurement.

The Hybrid Approach Is Often Best

There is no rule saying a house must use only one method. In fact, the most useful Home Assistant setup often combines them.

Utility meter pulse reader
  → trusted whole-home kWh reference

CT clamps
  → individual circuits / appliances

Modbus meter
  → solar import/export / three-phase / high-value circuit

Home Assistant
  → combines everything

The whole-home pulse stream can even act as a sanity check against the sum of several CT/PZEM/Modbus measurements.

Cost vs Information

MethodRelative costInformation richnessBest value when…
Pulse readerVery lowLowYou mainly want whole-home kWh/power
CT clampLowMediumYou need circuit current/load detection
PZEMLow–mediumHighYou want cheap true electrical measurements
DIN ModbusMedium–highVery highYou want permanent/professional metering

ESP32 Requirements

None of these methods requires a particularly powerful ESP32. The measurement hardware is doing most of the specialised work.

MethodESP32 requirement
PulseOne digital GPIO with reliable interrupt/pulse measurement
CTGood ADC input or external ADC; classic ESP32 ADC1 pins are commonly preferred
PZEMOne hardware UART
ModbusOne hardware UART + RS-485 transceiver

An ESP32-C3 can handle pulse/PZEM/Modbus projects easily. A classic ESP32 remains attractive for CT projects because it offers many ADC1 options and is extremely well documented. The choice of measurement front end matters far more than whether the MCU is 160 MHz or 240 MHz.

ESPHome Support

MethodESPHome path
Pulse readerpulse_meter
CT clampadc + ct_clamp
PZEM-004T v3Dedicated PZEM sensor component / UART
DIN Modbusuart + modbus + modbus_controller

This is one reason ESP32 energy monitoring works so well with Home Assistant: all four architectures can stay completely local without depending on a vendor cloud.

Common Mistake: Calling CT VA ‘Watts’

If a basic CT project calculates current × 230, call it estimated power or apparent power unless you have justified the power-factor assumption. Resistive heaters may be close to PF=1; motors, switch-mode supplies and variable-speed equipment may not be.

Common Mistake: Installing a CT Around Live and Neutral

The magnetic fields cancel. A CT needs one conductor. This is one of the most common reasons a new CT project reads almost zero.

Common Mistake: Treating a PZEM Like a Low-Voltage Sensor

The ESP32-facing serial connection is low voltage, but the PZEM measurement section is connected to mains. It belongs in an appropriate enclosure with safe clearances and terminals, not loose on a breadboard beside exposed mains wiring.

Common Mistake: Assuming Every Modbus Meter Uses the Same Registers

Even within one manufacturer family, register maps, data types and firmware options can differ. Always use the manual for the exact meter model and revision. The ESP32 code may be perfect while the register address is wrong.

Common Mistake: Ignoring Pulse Resolution

A 1000 imp/kWh pulse meter can be extremely good for energy totals but look “slow” at low loads. That is physics, not an ESP32 failure. At low consumption, the meter simply takes longer to accumulate enough energy to emit the next pulse.

My Recommendation by User Type

UserRecommended method
Home Assistant beginnerPulse reader if utility LED available
DIY electronics enthusiastPZEM-004T for rich data at low cost
Non-invasive multi-circuit monitorCT clamps
Solar / import-export systemBidirectional Modbus meter
Three-phase home/workshopThree-phase Modbus meter
Permanent professional installationDIN-rail Modbus meter
Appliance load detectionCT or PZEM
Billing cross-checkUtility meter pulse reader

Decision Flow

Can you access a utility-meter pulse LED and only need whole-home energy?
 └─ YES → Pulse reader
 └─ NO
     Need to avoid electrical connection to the circuit?
      └─ YES → CT clamp
      └─ NO
          Need a cheap single-phase DIY meter with V/A/W/PF/kWh?
           └─ YES → PZEM-004T
           └─ NO
               Need bidirectional, three-phase, robust RS-485 or certified meter options?
                └─ YES → DIN-rail Modbus meter

Final Recommendation

If I were building an ESP32 energy-monitoring system today, I would not try to force one sensor type to do everything.

Pulse reader = simplest whole-home truth source
CT clamp    = easiest non-invasive circuit sensor
PZEM        = cheapest detailed true-power meter
Modbus DIN  = best permanent/professional meter

The pulse reader is underrated because it is so simple: for whole-home accumulated energy it can follow the same utility meter used for billing without touching mains wiring. The CT clamp is unbeatable for easy circuit-level monitoring, but do not confuse RMS current with true watts. The PZEM-004T gives an extraordinary amount of electrical information for very little money and is ideal for serious DIY projects. The DIN-rail Modbus meter is what I would choose when the installation is permanent, three-phase, solar/bidirectional, or intended to behave like proper electrical infrastructure.

For a sophisticated Home Assistant installation, the best architecture may be a hybrid: one pulse or Modbus whole-home reference, plus CTs or PZEM modules on the circuits that matter most.

Related ESP32 Guides

Datasheets & External Resources

All external manufacturer/framework references are collected here so the main article keeps readers inside esp32.co.uk.

Share your love