Make an AC Wattmeter using Arduino UNO

Published by MKDas on

A wattmeter is an useful meter to us. We can measure the power of the load with a wattmeter. You can buy this expensive meter but did you know that you can make one for yourself? In this article, we are going to learn how to make an AC Wattmeter using Arduino UNO.

Disclaimer: Electricity is always dangerous. Skill required to work with electricity. Do work at your own risk. The author will not be responsible for any misuse or harmful act. This website contents are also copyright protected. Anything copied and directly posted on your website and claiming it as yours is prohibited and nonsensical. The author published all the articles as open source to help you to make your project and learning purpose only. Learn and make one for yourself. If need any help feel free to ask the author. The author will be helpful to you. Thanks.

What is watt-meter and how it works?

A watt-meter does a complex job, measuring the power flowing through an electrical circuit. It simultaneously measures the voltage and current values and multiplies them to give power in watts.

Basic diagram of Watt-meter mechanism

For AC power, current and voltage may not be in phase, owing to the delaying effects of circuit inductance or capacitance. On an AC circuit, the deflection is proportional to the average instantaneous product of voltage and current, thus measuring active power, P=VI cos φ. Here, cosφ represents the power factor which shows that the power transmitted may be less than the apparent power obtained by multiplying the readings of a voltmeter and ammeter in the same circuit.

So to measure power we need to measure the voltage, current, and power factor for the AC circuit. And for the dc circuit, we can measure voltage and current and multiply them to get the power ratings.

How the voltage and current sensing circuit works?

Voltage Sensing:

For the AC circuit, we can use a step-down transformer to reduce the AC voltage (220V) into a lower (say 12V) range. A 220:12 step-down transformer can be used for this purpose. Then we have to use resistors to divide the voltages in a more suitable range for Arduino.

A common step-down transformer

Current Sensing:

For current sensing, we need a CT or Current Transformer as the formal name. A CT needs to use a shunt resistor according to the CT properties or manufacturer’s suggestion.

Anyone can be used after considering the system properties.

How to utilize Arduino libraries for power measurement?

Arduino is an open-source device with lots of libraries to use. Among them, EmonLib is one of the most popular Arduino libraries for power measurement.

Sensing circuit configuration for EmonLib:

For EmonLib to work properly, we need to hang our sensing circuit from a 2.5V reference voltage as it calculates both positive and negative cycles.

For voltage reference, we can use simple voltage dividers like this:

Circuit Diagram for our Watt-meter:

Here is the circuit diagram for our AC Wattmeter using Arduino UNO:

Circuit diagram

As you see, we hanged the voltage and current signal at 2.5V reference voltage. And for protection, we used two inverted diodes with the CT output. Any kind of CT you can use if you can calibrate in the code.

You can check: How to make a Single Phase AC voltmeter using PIC16F76 & Capacitor power supply too.

Testing and simulation:

As there is no physical data is used in proteus, we can’t get the actual results in proteus simulation. Although you can get something like this:

Download Proteus file.


Arduino UNO code for this project is:

#include "EmonLib.h"               // Include Emon Library
EnergyMonitor emon1;              // Create an instance
// include the library code:
#include <LiquidCrystal.h>  // initialize the library with the numbers of the interface pins
const int rs = 13, en = 12, d4 = 11, d5 = 10, d6 = 9, d7 = 8;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup()
  lcd.begin(16, 2); // set up the LCD’s number of columns and rows:
  emon1.voltage(0, 675.26, 1.7);   // Voltage: input pin, calibration, phase_shift
  emon1.current(1, 3.6);        // Current: input pin, calibration.
  lcd.setCursor(0, 0);
  lcd.print("Watt meter");
  lcd.setCursor(0, 1);
  lcd.print("With Arduino");
void loop()
  emon1.calcVI(20, 2000);         // Calculate all. No.of half wavelengths (crossings), time-out
  emon1.serialprint();            // Print out  variable power factor)
  float powerFactor  = emon1.powerFactor;        //extract Power Factor into Variable
  lcd.setCursor(0, 0);
  lcd.setCursor(3, 0);
  lcd.print(powerFactor * 100);

  lcd.setCursor(9, 0);
  lcd.setCursor(11, 0);

  lcd.setCursor(0, 1);
  lcd.setCursor(2, 1);

  lcd.setCursor(9, 1);
  lcd.setCursor(11, 1);


  lcd.setCursor(0, 0);
  lcd.setCursor(2, 0);

  lcd.setCursor(0, 1);
  lcd.setCursor(2, 1);

Download the Arduino file from here.

Download the EmonLib library file from here.

PCB diagram:

The PCB design for our AC Wattmeter using Arduino UNO:

PCB for Wattmeter

You can download the PCB files from here.

I fabricate my PCBs from my PCB partner and I’ve been fabricating my PCBs from them since 2016 because of their good service. Very fast delivery, Lowest price, Nice & Secured payment system, Excellent customer service. stands on top of anyone else due to its price & quality. I really recommend their PCB service.

Very easy to place an order. Just make the Gerber file and upload it.

How to order your PCB on JLC

Practical testing:

This project was made and tested practically. The test result was ok. I didn’t find the image of the test project yet. Once I find it, I’ll share it here.


The project was very simple and easy to understand. Using only a few parts you can now make a wattmeter for yourself.

I hope you enjoyed the project and will make one for yourself. Thanks, Enjoy!


I'm Mithun K. Das; B.Sc. in EEE from KUET, Bangladesh. Blog: "First, electronics was my passion, then it was my education, and finally, electronics is now my profession." I run my own electronics lab, M's Lab ( Where I work with the creation of new products from ideas to something in real life. Besides this is my personal blog where I write for hobbyists and newcomers in the electronics arena. I also have a YouTube channel where I publish other helpful videos, you can find the link inside the articles. I always try to keep it simple so that it becomes easy to understand. I hope these will help them to learn electronics and apply the knowledge in their real life.


Asimi · August 2, 2020 at 2:02 pm

Thank you sir. You have really gave a vital information. God bless you. Pls I would like you to post wattmeter measurements with PIC pls. God bless you and increased you in more knowledge, with more good health, long life and prosperity. You are a really God’s sent tutor with clean explanation, circuits diagram and some with simulation. We will be looking forward to seeing wattmeter measurements with PIC controller.

    Mithun K. Das · August 2, 2020 at 2:14 pm

    Hope to write on this in future. Thank you.

Chayan Mistry · February 24, 2021 at 3:58 am

Nice article dada

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *