Skip to the content
PCBKitNew board
2 layers121.9 × 99.1 mmSmart Meter PoC, the printed circuit board in 3D

So, I got tired of manually toggling between grid power, generators, and inverters while completely guessing how much power everything was drawing.

Size
121.9 × 99.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
14
Nets
36
Pads
61
Tracks, vias
98, 0
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
20 Oct 2026
Updated
5 Nov 2026

Overview

Smart Meter PoC is an open-source printed circuit board by debugAyo, from the debugAyo/ESP32-Smart-Energy-Meter repository on GitHub. It is a 2-layer board of 121.9 × 99.1 mm with 14 parts on 36 nets, routed with 98 tracks and 0 vias.

It is built around the HLK-PM01. Its parts include 8 connectors, 1 resistor, 1 IC, 1 diode and 1 fuse.

Main components

1

README

README.md

ESP32 Smart Energy Meter & Load Controller

So, I got tired of manually toggling between grid power, generators, and inverters while completely guessing how much power everything was drawing. This project is my fix: a custom ESP32-powered smart energy meter that tracks live electrical data and handles automated safety cutoffs without blowing up.

What This Board Does

  • Keeps things safe: Uses an HLK-PM01 5V power supply backed up by a 1A fuse and a Metal Oxide Varistor (MOV) so voltage spikes don't fry the board.
  • Tracks the numbers: Hooks up a PZEM-004T module with a CT clamp to measure real voltage, current, and power usage on the fly.
  • Switches heavy loads: Uses an optoisolated 5V relay module to trigger a high-voltage AC contactor safely from low-voltage digital pins.
  • Maintains boundaries: Designed the double-sided KiCad layout with a strict physical isolation gap keeping the spicy 220V AC mains completely away from the low-voltage DC logic.

Stack & Hardware

  • Brain: ESP32 DevKit V1 (plugs into carrier headers J4/J5)
  • CAD & Layout: KiCad
  • Core Parts: HLK-PM01, PZEM-004T, 5V relay module, Phoenix screw terminals

Bill of Materials (BOM) & Budget

ComponentDescriptionLCSC Part #QtyUnit PriceTotal Amount
ESP32-C3 ModuleESP32-C3-MINI-1-N4C28385021$3.0700$3.07
3.3V LDO RegulatorAMS1117-3.3 (SOT-223)C34722210$0.0491$0.49
USB Type-C Receptacle16-Pin SMDC1659485$0.1736$0.87
Tactile Push Buttons3x4mm SMDC31888420$0.0208$0.42
Green LED (Through-Hole)3mm THT (D=3mm)C8516120$0.0365$0.73
Green LED (Discrete SMD)0805 SMDC8426030$0.0223$0.67
Axial Resistors1kΩ 1/4W Carbon Film THTC6664950$0.0133$0.67

Funding Request Breakdown

  • Merchandise Subtotal: $7.02
  • LCSC Handling Fee: $3.00
  • Merchandise Discount: -$0.10
  • DHL Express Shipping (Nigeria): $55.65
  • Grand Total: $65.57

How to Flash Firmware

To upload code to the onboard ESP32 via the Arduino IDE:

  1. Connect the ESP32 board to your computer using a USB cable.
  2. Select ESP32 Dev Module under Tools > Board, and choose the active COM port.
  3. If the upload does not start automatically, press and hold the BOOT button.
  4. When Connecting....... appears in the terminal, release the BOOT button.
  5. Once the upload hits 100%, press the EN / RST button once to start the firmware.

Visuals & Design

Schematic Capture

Schematic Design

PCB Layout

PCB Layout

3D Board Render

3D PCB Render

Repo Structure

  • Smart_Meter_PoC.kicad_sch — KiCad schematic file.
  • Smart_Meter_PoC.kicad_pcb — KiCad PCB layout file.
  • production/ — Generated Gerbers (SEM-V1_gerbers.zip), BOM, and position files.
  • images/ — Visual assets and screenshots.
  • firmware/ — Microcontroller test and operational firmware.
  • JOURNAL.md — Build log, time tracking, and workflow notes.

Parts

14
QtyValueFootprintReferences
3Screw_Terminal_01x02TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_HorizontalJ2, J3, J8
2Conn_01x04_PinConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ1, J7
2Conn_01x15Connector_PinHeader_2.54mm:PinHeader_1x15_P2.54mm_VerticalJ4, J5
1Conn_01x03_PinConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ6
1FuseFuse:Fuseholder_Cylinder-5x20mm_Schurter_FPG4_Vertical_ClosedF1
1HLK-PM01Converter_ACDC:Converter_ACDC_Hi-Link_HLK-PMxxU1
1LEDLED_THT:LED_D5.0mmD1
1LOGOLOGOG***
1RResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1
1VaristorVaristor:RV_Disc_D7mm_W3.4mm_P5mmRV1

Questions

How big is the Smart Meter PoC PCB?

It measures 121.9 × 99.1 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Smart Meter PoC use?

14 parts, built around the HLK-PM01. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Smart Meter PoC KiCad files?

From the debugAyo/ESP32-Smart-Energy-Meter repository on GitHub, at the commit this page was made from: the board is Smart_Meter_PoC.kicad_pcb and its schematic Smart_Meter_PoC.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Smart Meter PoC design in my own project?

Its repository states no licence, so its author keeps all rights: ask debugAyo before reusing the design.

Similar boards

  • 2 layers121 × 68 mmFreeds sanchez, the printed circuit board in 3D

    Freeds sanchez

    pablozg/freeds

    Derivador de energía solar excedente creado por Pablo Zerón, Diseño PCB por Amcalo, Tester original por Aeizoon, Wiki por Zoilo Mora

    42 parts108
  • 2 layers129.9 × 63.6 mmTraeger rev 2.3.0.kicad pro, the printed circuit board in 3D

    Traeger rev 2.3.0.kicad pro

    jazzmonger/Traeger-PID-Controller

    Traeger Smoker/Grill Controller based on an

    45 parts36
  • 2 layers111.8 × 57.2 mmGaggia print, the printed circuit board in 3D

    Gaggia print

    rvt/espgaggia

    Automate your gaggia classic or other machine...

    29 parts31MIT
  • 2 layers89.8 × 72.1 mmHestiaPiOneUniversal, the printed circuit board in 3D

    HestiaPiOneUniversal

    HestiaPi/hestia-touch-pcb-dev

    Testing release for the PCB files for HestiaPi Touch

    18 parts11GPL-3.0
  • 2 layers93 × 61 mmZero crossing detector, the printed circuit board in 3D

    Zero crossing detector

    cs2dsb/zcssr

    A PCB and software for a SSR controller that monitors mains AC zero crossings to determine when to turn the SSR on.

    98 parts10Apache-2.0
  • 2 layers99.1 × 58.4 mmHEAT, the printed circuit board in 3D

    HEAT

    milar111/HEAT

    An open-source STM32 SMD assembly station for precision soldering. Uses a custom Smart Pulse & Coast algorithm to drive 400W mains heaters via SSR. Features OLED UI, NTC feedback, and safety cooling.

    57 parts9
  • 2 layers75 × 75 mmHotPlateController, the printed circuit board in 3D

    HotPlateController

    stasiselectronics/HotPlateController

    A simple ESP32 connected controller for a SMD reflow hot plate

    47 parts9
  • 2 layers70 × 70 mmAirSensor display, the printed circuit board in 3D

    AirSensor display

    MarcFinns/AirSensor-for-HomeAssistant

    AirSensor for HomeAssistant (hardware and software)

    30 parts8