Overview

The NAU7802 is a 24-bit dual-channel precision Sigma-Delta Analog-to-Digital Converter (ADC) manufactured by Nuvoton Technology. Optimized for weigh scales, industrial process control, and force gauge measurement, it interfaces directly to wheatstone bridge strain-gauge load cells.

Integrating a low-noise Programmable Gain Amplifier (PGA with gains up to ×128\times 128), dual differential input channels (Channels 1 and 2), a built-in low-dropout (LDO) voltage regulator for load cell excitation power, and an I2CI^2C interface (0x2A), the NAU7802 serves as a modern, high-precision alternative to the bit-banged HX711 chip. It is natively supported by ESPHome, SparkFun Qwiic libraries, and Arduino.

Quick reference

Operating voltage (VCC)2.7 V to 5.5 V DC (3.3 V or 5.0 V nominal)
InterfaceI2CI^2C (up to 400 kHz)
Fixed I2CI^2C address0x2A
ADC resolution24-bit Sigma-Delta ADC (2323-bit Effective ENOB at 10 SPS)
Differential channels2 differential input channels (Ch1 for load cell, Ch2 for 2nd cell / battery)
Programmable Gain (PGA)×1,×2,×4,×8,×16,×32,×64,×128\times 1, \times 2, \times 4, \times 8, \times 16, \times 32, \times 64, \times 128
Sample rates10 SPS, 20 SPS, 40 SPS, 80 SPS, 320 SPS (Samples Per Second)
Load cell excitation LDOBuilt-in programmable LDO regulator (2.4V2.4\text{V} to 4.5V4.5\text{V} output)

Pinout

Breakout module header & Qwiic / STEMMA QT connectors:

PinNameTypeDescription
1VCCPowerSupply input (+2.7 V to +5.5 V DC)
2GNDPowerGround reference (0 V)
3SCLDigital InputI2CI^2C Serial Clock
4SDADigital Input / OutputI2CI^2C Serial Data
5E+ / AVDDPower OutputExcitation voltage output to load cell positive terminal
6E- / AGNDPower OutputExcitation ground to load cell negative terminal
7A+ / IN1PAnalog InputChannel 1 positive differential input (Green load cell wire)
8A- / IN1NAnalog InputChannel 1 negative differential input (White load cell wire)

Specifications

ParameterSymbolMinTypMaxUnitConditions
Supply VoltageVCCV_{CC}2.73.3 / 5.05.5VDC
Active Operating CurrentICCI_{CC}2.13.0mAActive conversion state
Power-Down CurrentIpdI_{pd}1.05.0µASleep mode
PGA Gain (×128\times 128)G128G_{128}128V/VFull-scale input voltage ±19.5 mV\pm 19.5\text{ mV}
Input Referred NoiseVnoiseV_{noise}50nV RMSAt 10 SPS, Gain ×128\times 128
Internal LDO VoltageVAVDDV_{AVDD}2.43.34.5VConfigurable excitation output
Offset Temp DriftDriftoffDrift_{off}5nV/°CTemperature compensated

Load Cell Wiring (Standard 4-Wire Wheatstone Bridge)

NAU7802 TerminalLoad Cell Wire ColorFunction
E+Red WireExcitation Positive (VEXC+V_{EXC+})
E-Black WireExcitation Negative / Ground (VEXCV_{EXC-})
A+Green WireSignal Positive (VSIG+V_{SIG+})
A-White WireSignal Negative (VSIGV_{SIG-})

Wiring

NAU7802 PinArduino / MCUESP32Notes
VCC5V / 3.3V3.3VPower rail
GNDGNDGNDSystem ground
SCLA5GPIO 22I2CI^2C Clock
SDAA4GPIO 21I2CI^2C Data

Example (SparkFun NAU7802 Arduino Library)

cpp
#include <Wire.h>
#include "SparkFun_NAU7802_Arduino_Library.h"

NAU7802 myScale;

void setup() {
  Serial.begin(115200);
  Wire.begin();

  Serial.println("NAU7802 24-Bit Scale Test");

  if (!myScale.begin()) {
    Serial.println("NAU7802 not detected! Check I2C wiring.");
    while (1);
  }

  // Set gain to 128 for strain gauge load cell
  myScale.setGain(NAU7802_GAIN_128);
  // Set sample rate to 10 SPS for maximum noise filtering
  myScale.setSampleRate(NAU7802_SPS_10);
  // Calibrate internal ADC offset
  myScale.calibrateAFE();

  Serial.println("Scale initialized. Zeroing...");
}

void loop() {
  if (myScale.available()) {
    int32_t rawReading = myScale.getReading();
    Serial.print("Raw 24-bit ADC Reading: "); Serial.println(rawReading);
  }
  delay(100);
}

Common mistakes

  • Comparing NAU7802 to HX711 libraries: NAU7802 uses standard I2CI^2C (0x2A); HX711 uses a proprietary 2-pin bit-banged pulse-clock interface. Do not use HX711 Arduino libraries with the NAU7802.
  • Forgetting internal AFE calibration: Call calibrateAFE() on power-up to remove internal ADC and PGA offset voltage errors before taring weight measurements.

Notes

  • NAU7802 vs HX711 vs ADS1232: NAU7802 uses I2CI^2C (freeing up GPIO pins) and includes programmable gain, channel switching, and internal LDO control in software.

Assets & downloads