# Using the MAX471 B43 Module as a Power Meter The MAX471 measures both current and voltage, thus making it ideal for a quick power measurement.

It is powered by the source to be measured.   The maximum measurable current is three amps and the voltage measurement range is from 3 volts to 25 volts.    This tutorial shows you how to make both these measurements and combine them into a power measurement.

# Getting One

There are two flavors of this module available.  The first module is configured for a current only measurement. It can be seen HERE.

This module is set up for both current and voltage.  They can be found from the vendors listed below.

eBay BangGood     AliExpress

# MAX471 Pin Outs GND:   All of the grounds are connected to the same electrical point

VIN:  Connects to the Positive Pole of your voltage source  ( This can be anywhere from 3 to 25 Vdc )

AT:  Provides 0 to 5V signal that is scaled to 1 V per amp.

VT:  Provides a 0 to 5V signal that is scaled to 1 volt per for every 5 volts input

# Arduino MAX471 Watt-meter Tutorial

## Connect Your Arduino to the MAX471, a Load and a Power Source

I’m using an 18650 battery,  while the nominal voltage is 3.6 volts it can be as high as 4.0 volts when fully charged.  I use that value to determine the load resistance for my test.

I find that if I put a 32 ohm resistor across the battery, I will draw about 0.124 amps and dissipated 0.5 watts through the resistor.

Since I had 1/2 Watt 68 0hm resistors,  I put two in parallel to yield a nominal 34 ohms with the ability to safely dissipate 1 Watt of heat.  So,  I am above the 3V supply requirement, below the 3A current ceiling and have chosen a safe enough load for test purposes. ## Copy, Paste and Upload the Power Meter Tutorial Sketch

Simple stuff.  We read voltage, current and multiply them to get power.   Remember, with voltage we’re going to multiply whatever value we read by five to yield the value measured by the MAX471.

```// Henry's Bench
// MAX471 Power Meter Tutorial

#define VT_PIN A0
#define AT_PIN A1

void setup()
{
Serial.begin(9600);

}

void loop()
{

float voltage = vt_read * (5.0 / 1024.0) * 5.0;
float current = at_read * (5.0 / 1024.0);
float watts = voltage * current;

Serial.print("Volts: ");
Serial.print(voltage, 3);
Serial.print("\tAmps: ");
Serial.print(current,3);
Serial.print("\tWatts: ");
Serial.println(watts,3);
Serial.println();

delay(500);

}
``` 