The GY-471 MAX471 3A Current Sensor Module is a compact and efficient solution for monitoring DC current and voltage in your projects. Built around the MAX471 IC, this module provides bidirectional current sensing (both positive and negative currents) and outputs analog signals proportional to current and voltage.
It’s ideal for applications like battery monitoring, solar systems, motor control, and power management. The onboard shunt resistor ensures precise current measurement without the need for external components.
Simply connect it to your Arduino, ESP32, STM32, or Raspberry Pi ADC pin, and start reading real-time current and voltage data effortlessly.
โ๏ธ Features
โก Measures DC current up to 3A and voltage up to 30V
๐ Bidirectional current sensing capability
๐ Built-in precision shunt resistor for accurate measurement
๐ก Analog output for easy integration with ADCs
๐ Compatible with 3.3V and 5V logic systems
๐งฉ Compact, ready-to-use module design
๐ง Ideal for battery management, solar charging, motor drivers, and power analyzers
๐ Specifications
Parameter
Description
Module Name
GY-471 MAX471 Current Sensor
IC Model
MAX471
Current Measurement Range
0 – 3A DC
Voltage Measurement Range
0 – 30V DC
Output Type
Analog Voltage Output
Input Voltage
3V – 5V
Interface Type
Analog
Accuracy
±1% (typical)
Operating Temperature
-40°C to +85°C
Dimensions
Approx. 27mm × 15mm × 5mm
๐
Pin Connections
1 Table
Pin Connections Table 1
Board
Sensor Pin
Connection
MAX471
VCC/GND/VOUT/IOUT
3.3-5V / GND / board analog pin / board analog pin
๐
GY-471 MAX471 Current Sensor Module - 3A DC 0-30V Bidirectional Current Measurement for Arduino & Microcontrollers
GY-471 MAX471 Current Sensor Module - 3A DC 0-30V Bidirectional Current Measurement for Arduino & Microcontrollers - Arduino Uno
GY-471 MAX471 Current Sensor Module - 3A DC 0-30V Bidirectional Current Measurement for Arduino & Microcontrollers - Arduino Nano
GY-471 MAX471 Current Sensor Module - 3A DC 0-30V Bidirectional Current Measurement for Arduino & Microcontrollers - Arduino Mega
GY-471 MAX471 Current Sensor Module - 3A DC 0-30V Bidirectional Current Measurement for Arduino & Microcontrollers - ESP32
GY-471 MAX471 Current Sensor Module - 3A DC 0-30V Bidirectional Current Measurement for Arduino & Microcontrollers - ESP8266
GY-471 MAX471 Current Sensor Module - 3A DC 0-30V Bidirectional Current Measurement for Arduino & Microcontrollers - STM32
GY-471 MAX471 Current Sensor Module - 3A DC 0-30V Bidirectional Current Measurement for Arduino & Microcontrollers - Raspberry Pi Pico
๐ File: gy-471_max471_current_sensor_module_-_3a_dc_0-30v_bidirectional_current_measurement_for_arduino_&_microcontrollers_-_arduino_uno.inoArduino Uno
712 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// Voltage-out pin A0, Current-out pin A1 on Arduino Uno
6#define V_PIN A0
7#define I_PIN A1
8
9voidsetup() {
10Serial.begin(115200);
11}
12
13voidloop() {
14float vOut = analogRead(V_PIN) * 5.0 / 1023.0;
15float iOut = analogRead(I_PIN) * 5.0 / 1023.0;
16
17float busVoltage = vOut * 25.0 / 5.0; // module divides input voltage by 25 (per MAX471 breakout reference design)
18float current = iOut; // module outputs ~1V per 1A (check your module's own scale factor)
19
20Serial.print("Voltage: "); Serial.print(busVoltage); Serial.print(" V ");
๐ File: gy-471_max471_current_sensor_module_-_3a_dc_0-30v_bidirectional_current_measurement_for_arduino_&_microcontrollers_-_arduino_mega.inoArduino Mega
713 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// Voltage-out pin A0, Current-out pin A1 on Arduino Mega
6#define V_PIN A0
7#define I_PIN A1
8
9voidsetup() {
10Serial.begin(115200);
11}
12
13voidloop() {
14float vOut = analogRead(V_PIN) * 5.0 / 1023.0;
15float iOut = analogRead(I_PIN) * 5.0 / 1023.0;
16
17float busVoltage = vOut * 25.0 / 5.0; // module divides input voltage by 25 (per MAX471 breakout reference design)
18float current = iOut; // module outputs ~1V per 1A (check your module's own scale factor)
19
20Serial.print("Voltage: "); Serial.print(busVoltage); Serial.print(" V ");
5// Voltage-out pin A0, Current-out pin A0 on ESP8266
6// NOTE: ESP8266 only has ONE analog pin (A0) - you can only read voltage OR current at a time, not both simultaneously as shown here; read them on alternate loop passes instead.
7#define V_PIN A0
8#define I_PIN A0
9
10voidsetup() {
11Serial.begin(115200);
12}
13
14voidloop() {
15float vOut = analogRead(V_PIN) * 3.3 / 1023.0;
16float iOut = analogRead(I_PIN) * 3.3 / 1023.0;
17
18float busVoltage = vOut * 25.0 / 3.3; // module divides input voltage by 25 (per MAX471 breakout reference design)
19float current = iOut; // module outputs ~1V per 1A (check your module's own scale factor)
20
21Serial.print("Voltage: "); Serial.print(busVoltage); Serial.print(" V ");
๐ File: gy-471_max471_current_sensor_module_-_3a_dc_0-30v_bidirectional_current_measurement_for_arduino_&_microcontrollers_-_raspberry_pi_pico.inoRaspberry Pi Pico
718 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// Voltage-out pin 26, Current-out pin 27 on Raspberry Pi Pico
6#define V_PIN 26
7#define I_PIN 27
8
9voidsetup() {
10Serial.begin(115200);
11}
12
13voidloop() {
14float vOut = analogRead(V_PIN) * 3.3 / 4095.0;
15float iOut = analogRead(I_PIN) * 3.3 / 4095.0;
16
17float busVoltage = vOut * 25.0 / 3.3; // module divides input voltage by 25 (per MAX471 breakout reference design)
18float current = iOut; // module outputs ~1V per 1A (check your module's own scale factor)
19
20Serial.print("Voltage: "); Serial.print(busVoltage); Serial.print(" V ");