The problem
This Wireless Energy Meter Reading System using LoRa for Apartment Complexes replaces door-to-door manual meter reading with a radio link: a meter node fitted at each flat measures that flat's electricity use and sends the reading over LoRa to a gateway, which shows every flat's consumption in one place. Each node uses a PZEM-004T module clamped onto the flat's live wire — the module measures 80–260 V AC and 0–100 A with ±0.5% accuracy — and an ESP32 reads those values over Modbus-RTU and hands them to an SX1278 LoRa radio at 433 MHz. LoRa works here because it spreads each bit across a rising-frequency chirp, letting the receiver decode signals buried below the noise floor, so the link keeps working through concrete floor slabs that stop Wi-Fi. The gateway, an ESP32 with an SX1278 radio, listens for packets tagged with each flat's ID and shows the latest reading per flat on a 16x2 LCD.
| Reading method | Visit needed | Needs internet | Works through concrete floors | Running cost |
|---|---|---|---|---|
| Manual meter reading | Yes, every flat | No | Not applicable | Person-hours every billing cycle |
| Wi-Fi smart meter reading | No | Yes, at every meter | Poor, Wi-Fi is blocked by slabs and steel | Broadband at every flat |
| GSM meter reading | No | Yes, mobile network | Depends on indoor signal | SIM recharge per meter |
| LoRa remote reading (this project) | No | No | Yes, chirp spread spectrum penetrates floors | No per-meter subscription |
Measures voltage, current, power, energy, frequency and power factor for one flat.
Follow the working sequence
How it works
The complete path runs from the flat's live wire to the gateway display in six stages: the PZEM-004T measures the flat's electrical quantities, the ESP32 reads them over Modbus-RTU, the node packs them with its flat ID, the SX1278 radio sends the packet over LoRa, the gateway radio receives it, and the gateway ESP32 updates the display and the serial log. Each node works on its own schedule, so the gateway simply listens and updates whichever flat's packet arrives next, and a node that misses one transmission window sends a fresh reading at the next interval. Because the packets are tiny — a few dozen bytes carrying six measured values and an ID — the link stays reliable even at the slow spreading factors that push the signal through concrete floors.
- The split-core CT clamp is fitted around the flat's live wire only, and the PZEM-004T measures voltage, current, active power, energy, frequency and power factor for that flat.
- The node ESP32 reads the six values from the PZEM-004T over UART using Modbus-RTU at 9600 baud, polling the module at the configured reading interval.
- The ESP32 packs the values into a short LoRa packet together with the node's flat ID, so the gateway can attribute every reading to the correct flat.
- The SX1278 LoRa radio transmits the packet at 433 MHz using chirp spread spectrum, which carries the signal through concrete floors to the gateway in the meter room.
- The gateway ESP32 receives the packet on its own SX1278 radio, checks the flat ID, and stores the values as that flat's latest reading.
- The gateway updates its 16x2 LCD to show the flat's voltage, current, power and accumulated energy, and prints the same reading over serial for logging.
- The cycle repeats at the configured interval, so the gateway display always reflects the most recent reading from each flat in the complex.
Tech stack:
- ESP32 (node and gateway controllers)
- PZEM-004T energy meter module with CT clamp
- Ra-02 LoRa module · Semtech SX1278
- Arduino IDE (ESP32 firmware)
- Modbus-RTU over UART (9600 baud)
- 16x2 LCD display (gateway readout)
- arduino-LoRa library (SX1278 driver)
- 5 V DC power supply (USB adapter per unit)
| Parameter | Value |
|---|---|
| Voltage measurement | 80–260 V AC (datasheet) |
| Current measurement | 0–100 A via external CT (datasheet) |
| Active power measurement | 0–23 kW, 100 A variant (datasheet) |
| Measurement accuracy | ±0.5% for voltage, current and power (datasheet) |
| Energy resolution | 0.001 kWh (datasheet) |
| Starting current | 0.02 A (datasheet) |
| LoRa radio | Semtech SX1278, 433 MHz, chirp spread spectrum (datasheet) |
| Receiver sensitivity | −137 dBm at SF12 and 125 kHz bandwidth (datasheet) |
| Transmit power | Up to +18 dBm, Ra-02 module (datasheet) |
| Node controller | ESP32 dual-core, 3.3 V logic |
| Meter interface | Modbus-RTU over UART, 9600 baud, 8N1 |
| Nodes per gateway | Design target: up to 8 meter nodes (addressable flat IDs) |
| Reading interval | Configurable in firmware, default 60 s |
| Gateway display | 16x2 LCD, flat-wise voltage, current, power and energy |
| Node supply | 5 V DC, approximately 150–250 mA (expected, load-dependent) |
Project features
The three capabilities that define this build are the per-flat measurement, the multi-node LoRa link and the single-point collection. The PZEM-004T at each flat measures voltage, current, active power, energy in kWh, frequency and power factor, so the gateway receives a complete electrical picture rather than a single pulse count. The LoRa link carries those readings from every flat to one gateway without Wi-Fi, broadband or a SIM card, and each packet is tagged with its flat's ID so readings never get mixed up between neighbours. The gateway shows the latest reading for each flat on its LCD and also prints the same data over serial, so the reading can be logged on a laptop during a demonstration or a reading round. A builder note from the demo build: the gateway antenna was moved out of the steel meter cabinet onto the cabinet door, because inside the cabinet packets were lost.
- [Per-flat energy measurement] Each meter node uses a PZEM-004T module with a split-core CT clamp to measure voltage, current, active power, accumulated energy, frequency and power factor for one flat, with ±0.5% accuracy (datasheet value).
- [Multi-node LoRa link] Every node carries an SX1278 LoRa radio at 433 MHz and transmits its reading in a short packet tagged with a unique flat ID, so one gateway can tell Flat 301 apart from Flat 302.
- [Single gateway collection] The gateway unit receives packets from all nodes, keeps the latest reading per flat, and shows flat-wise voltage, current, power and energy on its 16x2 LCD without any visit to the flats.
- [No internet or Wi-Fi needed] The meter-to-gateway link is a direct LoRa radio link, so readings keep flowing in basements and stairwells where Wi-Fi does not reach and no broadband connection is required.
- [Non-invasive CT installation] The split-core CT clamp fits around the flat's live wire without cutting it, so a node can be fitted at an existing meter point without breaking the circuit.
- [Configurable reading interval] The time between transmissions is set in firmware (default 60 seconds) and can be shortened for a fast demonstration or lengthened to reduce radio traffic.
- [Per-flat energy totals] Each node tracks accumulated energy in kWh, so the gateway shows both the current load and the running total that a monthly bill is based on.
- [Serial reading log] The gateway prints every received reading over its serial port, so readings can be captured on a laptop and saved as a record of a reading round.
What is included
- Working meter node hardware (per quoted flat count) with PZEM-004T, ESP32 and Ra-02 LoRa module
- Working gateway unit with ESP32, Ra-02 LoRa module and 16x2 LCD display
- Complete firmware source code for node and gateway
- Circuit and wiring documentation, including CT fitting and LoRa antenna placement notes
- Project report PDF (background, methodology, architecture, results, limitations)
- Project abstract PDF
- PPT presentation for final review
- Viva Q&A preparation document (PZEM-004T, Modbus-RTU, LoRa chirp spread spectrum, multi-node addressing)
Limitations & prerequisites
- Single-phase AC only — the PZEM-004T measures one phase, so three-phase flats need a different metering approach.
- LoRa range inside a building depends on concrete thickness, steel reinforcement and the gateway's position; the link must be verified on site in the actual complex.
- Energy accuracy depends on the CT clamp sitting on the live wire only — clamping both wires of a cable cancels the reading to near zero.
- Every PZEM-004T ships with the same default Modbus address (0xF8), so each node must be re-addressed in firmware before deployment or nodes will answer each other's queries.
- The gateway LCD shows one flat at a time, so checking many flats means cycling through the display or reading the serial log.
- This is an academic prototype, not a billing-grade or utility-certified meter — it demonstrates remote reading and cannot replace the official meter for billing.
- All mains wiring work must be done with the supply isolated and under supervision; the CT and PZEM-004T work directly with live 230 V AC.
- The base build has no cloud dashboard — readings appear on the gateway LCD and serial log, and a cloud upload is an optional addition.
Frequently Asked Questions
Is this project suitable for a final-year project?
Yes — for Electrical, Electronics and Instrumentation programs. It demonstrates AC energy measurement, Modbus-RTU communication, LoRa wireless networking and a real multi-node system with a working prototype to demonstrate, which together give a strong viva story across power, embedded and communication topics.
How many flats can one gateway cover?
The design target is up to 8 meter nodes per gateway, each with its own flat ID in firmware. The demonstration build is configured for 2 flats, and the count can be raised within the address range by adding nodes and setting their IDs.
Does the system need internet or Wi-Fi?
No. The meter nodes talk to the gateway over a direct LoRa radio link at 433 MHz, so no broadband, router or SIM card is needed at any meter. The gateway only needs its 5 V supply to receive and display readings.
How is this different from a Wi-Fi smart energy meter?
A Wi-Fi meter sends one home's readings to the cloud over the home's internet, while this project sends many flats' readings to one local gateway over LoRa. It is built for apartment complexes where the meter room has no Wi-Fi, and it needs no per-flat internet connection.
Can it detect energy theft?
No — theft detection is not implemented in this build. The system only reads and reports each flat's consumption. Comparing readings against a building total to flag mismatch is possible as an optional addition, but it is not part of the base project.
Is it safe to install on a live meter?
The CT clamp itself is non-invasive and fits around the live wire without cutting it, but the PZEM-004T terminals carry live 230 V AC. Installation must be done with the supply isolated and under supervision, and the finished node must be enclosed before it is powered.
Components & software requirements
- ESP32 (node and gateway controllers)
- PZEM-004T energy meter module with CT clamp
- Ra-02 LoRa module · Semtech SX1278
- Arduino IDE (ESP32 firmware)
- Modbus-RTU over UART (9600 baud)
- 16x2 LCD display (gateway readout)
- arduino-LoRa library (SX1278 driver)
- 5 V DC power supply (USB adapter per unit)
Delivery information
Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.
Support terms
Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.
Download free synopsis (PDF)
Enter your name and WhatsApp number — the synopsis PDF downloads immediately. We may send occasional project updates on WhatsApp; no spam.