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. Proper skill is required to work with electricity. Do work at your own risk. The author will not be responsible for any misuse or harmful act or any mistake you make. The contents of this website are unique and copyright protected. Kindly don’t do any nonsensical act copying and claiming it as yours. Most of the articles published here are kept as open-source to help you. Take the knowledge for free and use it, but if you are interested you can buy the ready resources offered here. If you need any help or guide feel free to comment below, the author will try to help 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.

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.

### 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:

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.

## 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:

## Coding:

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");
delay(2000);
lcd.clear();
}
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.print("PF:");
lcd.setCursor(3, 0);
lcd.print(powerFactor * 100);

lcd.setCursor(9, 0);
lcd.print("P:");
lcd.setCursor(11, 0);
lcd.print(emon1.realPower);

lcd.setCursor(0, 1);
lcd.print("V:");
lcd.setCursor(2, 1);
lcd.print(emon1.Vrms);

lcd.setCursor(9, 1);
lcd.print("I:");
lcd.setCursor(11, 1);
lcd.print(emon1.Irms);

delay(3000);
lcd.clear();

lcd.setCursor(0, 0);
lcd.print("P:");
lcd.setCursor(2, 0);
lcd.print(emon1.realPower);
lcd.print("watt");

lcd.setCursor(0, 1);
lcd.print("P:");
lcd.setCursor(2, 1);
lcd.print(emon1.apparentPower);
lcd.print("VA");
delay(3000);
lcd.clear();
}```

## PCB diagram:

The PCB design for our AC Wattmeter using Arduino UNO:

## 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.

## Conclusion:

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! JLCPCB – Only \$2 for PCB Prototype (Any Color)

24 Hours fast turnaround, Excellent quality & Unbeatable prices

\$18 Welcome Bonus for new registrations Now!!! https://jlcpcb.com

Check this out: 5 coolest multimeters you can buy

#### Lab Projects BD

This is a personal electronics blog. The author loves to write on different topics and shares his knowledge to help others.  