Use the MAX471 to Measure Current on the High Side

The MAX471 is a solid alternative to an ACS712 for measuring DC Current.   Its a high side device that is powered by a load source that can range anywhere from 3 to 36 VDC.   That said, a key benefit is its scale factor as it outputs 1 volt per amp measured.

This tutorial will walk you through some of the basics necessary to put this device to use.

There a few varieties available,  but they are basically the same.

Getting a Max471

The MAX471 is available from these online locations

MAX471 Current Sensor Module Pin Outs

There are five pins of interest for this device.   The image below, identifies them.

RS+:  This connects to the positive pole of your supply source.

GND:  This is circuit common on both the input and the output side.

OUT:  This is an analog output that provide 1 volt DC per amp measured.  The device can measure up to 3 amps DC.

How the MAX471 is Installed in the Circuit

As a high side current sensor, positioning is important, especially since the chip gets its power from the load’s source.

The picture below is intended to help you to visualize that requirement.

Notice how the power supply positive terminal is connected to R+.    Also notice how R- is connected to the positive side of the load.  Finally, take a gander a the module ground connection.  It is connected to the negative side of the power source.

Arduino MAX471 Current Sensor Module Arduino Tutorial

Make the Tutorial Connections

I’m using my trusty Minghe B3603 to drive a 10W LED.   I like the B3603 because I can monitor the relative validity of the results seen on my serial monitor.   The 10W LED for this tutorial as well.

Copy, Paste and Upload the MAX471 Arduino Sketch

The sketch is nothing more than a Simple Arduino Voltmeter that has been modified for this device.  At a scale factor of 1V per Amp,  it is very convenient.

/*
Henry's Bench
MAX471 Tutorial
*/
const int max471In = A0;

int RawValue= 0;
float Current = 0;

void setup(){
pinMode(max471In, INPUT);
Serial.begin(9600);
}

void loop(){