⚙️Measure Real-Time Power Consumption Safely and Smartly
If you’ve ever wondered how much power your gadgets really use — this project is for you!
Using the ZMCT103C 5A Current Sensor (HW670 module) and an Arduino Uno, you can build a simple energy monitor that reads current draw and calculates power usage in real time.
It’s safe, educational, and a great way to explore IoT energy tracking.
“In this project, your Arduino becomes a mini power meter — no electrician’s license required.”
🧰 What You’ll Need
| Component | Description |
|---|---|
| Arduino Uno | Main controller board |
| ZMCT103C HW670 Sensor | AC current transformer module |
| LCD Display (16×2 or I2C) | To show live readings |
| Resistor / Calibration Load | For testing and scaling |
| Jumper Wires + Breadboard | For safe connections |
| AC Load (Lamp or Fan) | Example current source |
⚙️ Wiring the Circuit
| HW670 Pin | Arduino Pin | Description |
|---|---|---|
| VCC | 5V | Power to the sensor board |
| OUT | A0 | Reads analog voltage output |
| GND | GND | Common ground reference |
| LCD SDA / SCL | A4 / A5 | I²C connection for display |
“Double-check connections — remember, we’re measuring AC current indirectly. Keep mains wiring separate and insulated.”
💻 Example Arduino Sketch
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int sensorPin = A0;
float calibrationFactor = 0.050; // Adjust after calibration
void setup() {
lcd.init();
lcd.backlight();
Serial.begin(9600);
lcd.print("Energy Monitor");
delay(2000);
lcd.clear();
}
void loop() {
int rawValue = analogRead(sensorPin);
float voltage = (rawValue / 1023.0) * 5.0;
float current = voltage / calibrationFactor; // Convert to amps
float power = current * 120.0; // Assuming 120V AC
lcd.setCursor(0, 0);
lcd.print("I: ");
lcd.print(current, 2);
lcd.print(" A ");
lcd.setCursor(0, 1);
lcd.print("P: ");
lcd.print(power, 1);
lcd.print(" W ");
Serial.print("Current: ");
Serial.print(current);
Serial.print(" A, Power: ");
Serial.print(power);
Serial.println(" W");
delay(1000);
}
✅ Displays current (A) and power (W) on the LCD
✅ Sends real-time readings to the Serial Monitor
🧮 Calibration Tips
To calibrate:
1️⃣ Plug in a known load (like a 60W bulb).
2️⃣ Compare expected current (≈0.5A @120V) to your displayed current.
3️⃣ Adjust the calibrationFactor until values match closely.
Once set, your readings will be accurate for most household devices within 5A.
📊 Optional Add-Ons
- 🔹 Add an SD card module for data logging
- 🔹 Use an ESP32 to send data to a web dashboard
- 🔹 Include a ZMPT101B voltage sensor for full wattage and energy (kWh) calculation
- 🔹 Display running cost based on your electricity rate
“With a few tweaks, this simple circuit becomes a full-blown smart energy meter.”
🧠 What You’ll Learn
- How to safely measure AC current with isolation
- How analog sensors translate physical signals into digital data
- How to calculate power and energy
- How to display live readings on an LCD
- How to calibrate and scale real-world measurements
💬 In Simple Terms
“This project turns an Arduino, a few wires, and a current sensor into your own energy detective — tracking what’s really powering your home.”
It’s an easy, hands-on way to learn about electrical measurement, sensor calibration, and embedded monitoring.