Team: Teenage Engineering
Team Members: Dhruv Suthar, Pratham Patel, Hena Patel
Version: 4.1 (Updated: 7 July 2025)
The Intelligent Energy Management System (IEMS) is a smart, ESP32-based solution designed to manage energy flow between solar, battery, and grid power in real-time. It prioritizes energy efficiency, system protection, and autonomous decision-making using IoT capabilities and a modern web dashboard.
Built in response to SIH 2024 Problem Statement PS 1572, IEMS contributes to developing a robust Energy Storage System (ESS) that integrates renewable sources and enhances grid stability.
- Multi-Source Power Control – Smart switching between Solar, Battery, and Grid
- Live Monitoring – Track voltage, current, temperature, and system load
- Automated Decision Logic – Dynamic switching based on conditions
- Safety Systems
- Auto shutdown on high temperature (>80°C)
- Overcurrent protection
- Battery voltage monitoring
- Automatic fan control
- Web Dashboard (v1.6)
- Real-time charts, analytics, and energy trends
- Control buttons for Solar/Battery/Grid/Auto
- System Efficiency and Status Indicators
- Fail-Safe Mode – Ensures fallback functionality during fault conditions
Wire.h
– I2C CommunicationOneWire
&DallasTemperature
– Temp sensorsAdafruit_INA219
– Voltage & Current sensingZMPT101B
,EmonLib
– AC voltage & energy monitoringESPAsyncWebServer
,AsyncTCP
– Web serverArduinoJson
– Data serialization
├── main.ino # Main program logic for ESP32
├── config.h # Pin definitions and configuration constants
├── webui.h # Embedded HTML, CSS & JS for web dashboard
├── Logger.cpp # Implementation of logging system
├── Logger.h # Logging system header
├── PowerManager.cpp # Controls power source switching (Solar/Battery/Grid)
├── PowerManager.h # Power control logic declarations
├── SensorInit.cpp # Initializes sensors (voltage, current, temp, etc.)
├── SensorInit.h # Sensor setup declarations
├── SensorManager.cpp # Reads and processes sensor data
├── SensorManager.h # Sensor reading function declarations
├── README.md # Project documentation
To view the new dashboard (v1.6), open
CODE/iEMS-v1.6.html
in your browser.
It includes interactive analytics, real-time values, control buttons, system efficiency meter, and alert system.