Smart Energy Meter using Arduino

Nov 27th, 2020 | by: Trupane 1309
Category: Electronics Arduino
Views 1554

In this tutorial, I am going to show you how to make a Smart AC Energy Meter by using Arduino board. By using this Energy Meter, you can measure and monitor Voltage, Current and Power consumption of system. Also it has interlocking feature like protection against Over voltage and Under voltage, automatic shut-down when power consumption is higher then its registered value etc. It is collecting values like voltage, current, power and status from grid and pushing it to Google Firebase Realtime Database. Through App users can monitor their house's power consumption, voltage etc. Also they can control appliances through internet. As now only user can only 2 appliance but in future it will be upgraded. 

The goal of creating this project is to aware people about energy consumption and its optimization technique. This would reduce their energy costs, as well as conserve energy. 
Of course, a lot of commercial devices already exist for energy monitoring, but I wanted to build my own version which shall be simple and low cost.


Hardware Required:

Arduino Board
Current Transformer (2 Amp)
Voltage Transformer (0-12)V
2 Channel Relay Board
Bridge Rectifier
Zener Diode (5V)
And some discrete components...


Arduino to Firebase RTDB

Step 1: Arduino collect voltage and current consumption value using transformer with A-D conversion. Then it will find power by multiplying V*I and status from given operating condition. Using ArduinoJSON library it will generate JSON object and pass it to ESP-32 using UART communication.

Step 2: ESP-32 will receive JSON object and send it to database. It is equipped with database handling.

Firebase RTDB to Arduino 
 Step 1: DataStream has already established using ESP-32 on mains,switch1 and switch2 data path. So whenever data changes on that path it will automatically fetch data from database and send to ESP-32 in JSON format.

Step 2: Now ESP-32 will parse this object and send on/off command for (switch1 and switch2) to Arduino via UART.

Voltage And Current Measurement Circuit
Testing with Different types of Load
Google Firebase Realtime Database screenshots with different load condition
Over/Under Voltage Protection (Safe voltage range >198 and <250)


  • Noob 6504

    about 3 years ago

    Hey nice project Pls upload detailed tutorial on this along with codeThanks

    Noob 19129

    about 2 months ago

    Please try Google before asking about Best Product Blog 3d94c5f

  • Noob 6504

    about 3 years ago

  • Noob 6504

    about 3 years ago

    Hey nice project Pls upload detailed tutorial on this along with codeThanks

  • Cheri Crystal

    about 1 year ago

    Great project

Login or Sign Up to post comments on this project.