Abstract
Energy Me Home is an open-source Internet of Things (IoT) project. Smart energy meter capable of monitoring up to 16 channels. Supports MQTT, REST API, Modbus TCP, InfluxDB, AWS IoT Core. Friendly UI and fully open source (PCB, schematics, components, source code). Want it ready to use? Pre-assembled and calibrated units. It is built using C++, ESP32, Arduino. The complete source code is publicly available on GitHub under the GNU General Public License v3.0, making it a useful reference for students building an Internet of Things (IoT) mini project or final-year project.
1. Introduction
Want it ready to use? Pre-assembled and calibrated units. Just install and monitor!
Built for makers and DIY enthusiasts who want to track their home's energy consumption. The hardware uses ESP32-S3 and ADE7953 energy measurement IC, while the firmware is written in C++ with PlatformIO and Arduino framework. You can build and customize it yourself - all hardware designs and software are open-source. Prefer it ready to go? Grab a pre-assembled unit.
Important: Installation requires working with your main electrical panel. Always consult a qualified electrician if you're not experienced with electrical installations. The user is responsible for ensuring compliance with local electrical codes and regulations, and assumes all risks associated with the installation and use of this device.
2. Objective
Smart energy meter capable of monitoring up to 16 channels. Supports MQTT, REST API, Modbus TCP, InfluxDB, AWS IoT Core. Friendly UI and fully open source (PCB, schematics, components, source code)
This project demonstrates how C++, ESP32, Arduino can be applied to a real-world Internet of Things (IoT) problem.
4. Technology Stack
- ESP32-S3: the brain of the project
- ADE7953: single-phase energy measurement IC
- ZMPT107-1: voltage transformer providing full galvanic isolation between the AC mains and the low-voltage measurement circuitry, with no direct connection between mains and the board's ground
- Multiplexers: used to monitor multiple circuits at once
- 3.5 mm jack connectors: used to easily connect current transformers
5. System Requirements
General requirements for this technology stack — check the README for exact versions.
- Arduino IDE / PlatformIO or a C++ compiler (g++)
- Target board (e.g. Arduino, ESP32) where applicable
- Git (to clone the repository)
6. Installation & Setup
git clone https://github.com/jibrilsharafi/EnergyMe-Home.git
cd EnergyMe-Home- Order the PCB: Download the design files from the Schematics folder and order from your preferred PCB manufacturer
- Populate the board: Solder all components using the BOMs in hardware/pcb/main_board/, hardware/pcb/top_board_1/, and hardware/pcb/top_board_2/
- Flash the firmware: Connect a USB-to-UART adapter to the UART pins and flash using PlatformIO
- Configure WiFi: Power on the device and connect to the captive portal to set up WiFi credentials
- Start monitoring: Access the web interface at http://energyme.local (default credentials: admin/energyme)
Full setup instructions are in the project README.
7. Future Enhancements
Suggested extensions you can add to make this your own project.
- Add a mobile dashboard using Blynk or Firebase
- Store readings in a cloud database for history charts
- Add alerts via SMS / Telegram when thresholds are crossed
8. Viva / Review Questions
Common questions examiners ask for projects in this domain.
- Which microcontroller / board and sensors are used and why?
- How does the device send data (Wi-Fi, MQTT, HTTP, Bluetooth)?
- Where is the sensor data stored and visualised?
- How is power consumption managed?
- How would you secure the device and its communication?
9. Source Code & License
This project is developed by jibrilsharafi and published on GitHub under the GNU General Public License v3.0. Please follow the license terms and credit the original author when you use or modify this code.
Want to build this as your internship project?
Work on an Internet of Things (IoT) project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.
Apply for Internet of Things (IoT) Internship