A SIX-CHANNEL OPEN-SOURCE ENERGY METER SHOWS WHICH CIRCUIT IN THE HOUSE IS ACTUALLY EATING THE BILL
This board turns a breaker box into a live per-circuit power graph that runs inside the house.
by CircuitSetup
EnergyHome
Built withESP32
- difficulty
- ●●●●○
- time
- a weekend
- license
- MIT
- repo
- repo ACTIVE693 stars
●●●●○ · a weekend · MIT · 693 stars · repo ACTIVE
WHAT YOU’LL NEED
Jump to section
COMPAREE VERDICT
The Expandable 6-Channel ESP32 Energy Meter is an open-hardware way to see which circuit in the house is actually eating the bill. Two ATM90E32AS metering chips give 16-bit resolution with a typical metering-chip accuracy of 0.1 percent, reporting active, reactive and apparent power, power factor, frequency and temperature. Six current channels sit on the main board, and up to six add-on boards stack for 42 channels total. Current is picked up by clip-on current transformers that clamp around existing wiring rather than cutting into it. The board needs a supported ESP32 dev board plus a 9 or 12 volt AC-AC adapter — not a DC one — because it uses the mains waveform as its voltage reference. Software options are ESPHome with Home Assistant (recommended), EmonESP with emonCMS, and CircuitPython or MicroPython libraries, so the data can stay on your own network. The catch: you either buy the assembled board from CircuitSetup or have the Eagle design made yourself, the current transformers are sold separately, and fitting the clamps means opening a consumer unit, which is regulated electrical work in many places. For someone comfortable with that, or willing to pay an electrician, it scales from a few circuits to a whole panel.
IN THE REPO
GOOD TO KNOW
- —Eagle board and schematic files (plus PDFs), printable case STLs and setup documentation are in the repository under the MIT licence.
- —Firmware is ESPHome (recommended), with support for direct Home Assistant integration, EmonESP with emonCMS, CircuitPython and MicroPython.
- —The board itself must be ordered from a PCB house or bought assembled from CircuitSetup — no pre-made kit.
- —Current transformers, the ESP32 development board, and the 9-12 V AC-AC adapter are not included and must be sourced separately.
- —Opening a live consumer unit is regulated electrical work in most jurisdictions, even though the clamps themselves never touch conductors.
- —The 0.1 percent accuracy figure is the project's stated typical value, not an independent measurement.
Parts to buy
5 itemsFrom our check of the build. Exact quantities and part numbers are in the creator’s BOM.
Can I build this?
This build involves mains voltage — for adults comfortable with electrical work only.
Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.
Videos
DIY Whole Home Power Monitoring with ESPHome & Home Assistant
digiblur's walkthrough of calibration and ESPHome setup, recommended in the project README.
More builds like this
All projectsGallery
Start here
Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.
- 1.Check local regulations on who may open a consumer unit(In most jurisdictions this is restricted electrical work, even though the clamps themselves are non-invasive.)
- 2.Order or buy the main board (Board files are Eagle .brd/.sch — export Gerbers yourself, or buy assembled boards from circuitsetup.us.)
- 3.Source current transformers (SCT-013-000 100 A / 50 mA CTs are the common choice. One per circuit.)
- 4.Flash ESPHome firmware (ESPHome YAML config is in the repository. Alternative firmware options are also documented.)
- 5.Fit the clamps and connect to Home Assistant or emonCMS(If not qualified for mains work, this is where the electrician comes in.)
Resources
Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.
KNOWN ISSUES
- The board requires a 9-12 V AC-AC adapter, not a DC one — the project samples the mains waveform for its voltage reference and a DC adapter will not work.
- Current transformers are not included. SCT-013-000 100 A / 50 mA CTs are the common choice, but the project supports others — check the documentation before ordering.
- Opening a live consumer unit is regulated work in most places, even though the clamps themselves never touch conductors. Budget for an electrician if not qualified.
- The 0.1 percent accuracy is the project's stated typical value for the ATM90E32AS chips, not an independent calibration — real-world accuracy depends on CT quality and placement.
- There is no official pre-made kit. The board files are Eagle .brd/.sch, so you export Gerbers yourself and order from a PCB house, or buy the board assembled from CircuitSetup.
- Home Assistant or emonCMS is expected — the firmware pushes data but does not include a built-in dashboard.
Can I monitor a three-phase supply?
Yes, with extra hardware: accurate 3-phase metering needs a voltage reference per phase. The README's cleanest setup is a v1.4+ main board plus one add-on board, three AC-AC transformers and a few jumpers cut, and the repo includes a 3-phase ESPHome example.
Do I need to cut or splice any wiring?
No. The current transformers are clip-on clamps that hug the existing cable. Nothing is cut, but the panel must be open to fit them.
Can I use a different ESP32 board?
Only if it has the same pinout. The documented boards are the NodeMCU 32s and ESP32-DevKitC-32E/VIE (19 pins per side); other ESP32 boards such as ESP32-C6 dev boards are not drop-in. Ethernet works with the documented LilyGO or Waveshare ESP32-S3 options.
What is the difference between this and a whole-house monitor?
A whole-house monitor gives one number for the entire property. This gives one number per circuit, which is what turns a vague bill into a list of named appliances.
Can I stack more than six add-on boards?
The project supports up to six add-on boards (42 current channels). Each board needs its own pair of ESP32 chip-select pins on the SPI bus, and the documented jumper table stops at six; for more circuits, use a second meter and combine the totals in Home Assistant.
Community builds
No community builds yet — be the first, we feature the best ones.
Discussion1
FROM THE COMPAREE TEAM
Six channels on the main board, 42 if you stack the add-ons — and the whole thing runs ESPHome locally. Which circuit would you monitor first?
CircuitSetup
CircuitSetup makes and sells the Expandable 6-Channel ESP32 Energy Meter and keeps its hardware files, ESPHome configs and documentation open on GitHub under the MIT licence.
DISCLAIMER
- Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
- Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
- Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.
CompareeTEAM2mo agoedited
Practical notes from our verification: the repository is active and well documented, with a web installer for ESPHome, setup steps and several software options — ESPHome with Home Assistant is recommended, with EmonESP/EmonCMS, CircuitPython and MicroPython libraries as alternatives. The README also links calibration and setup videos from Digiblur and TH3D. The single biggest decision is whether to buy the assembled board from CircuitSetup or make your own: the repo has the board and schematic design files, but ready-made Gerbers are only included for the Ethernet adapter, and assembling two ATM90E32AS metering chips by hand is not trivial. Current transformers are not included; the README lists several compatible clamp types. Opening a consumer unit is regulated work in most countries, and that is the step most likely to require an electrician, even though the clamps themselves never touch conductors. Correction (4 October 2026): we re-checked this page line by line against the project's own repository, documentation and videos, and fixed errors in earlier versions.