HX711 Load Cell Amplifier: Wiring, Calibration, and PCB Design Guide

HX711 Load Cell Amplifier: Wiring, Calibration, and PCB Design Guide

Load cells are sensors that convert applied force or weight into a small electrical signal. Because this millivolt-level output is much smaller than the signals a microcontroller typically reads from components such as analog temperature sensors or potentiometers, it requires amplification and an analog-to-digital converter (ADC).

The HX711 is a load-cell interface integrated circuit (IC) that solves both problems in one inexpensive IC. It combines a programmable-gain amplifier with a 24-bit analog-to-digital converter designed specifically for bridge sensors such as strain-gauge load cells, which use a Wheatstone bridge to convert small resistance changes into a differential voltage. This makes the HX711 a popular choice for digital scales, force measurement systems, material testing equipment, and connected weighing devices.

This guide explains how the HX711 works, how to wire it to a load cell and microcontroller, and how to calibrate it for accurate measurements. It also covers practical PCB-design considerations for engineers building the HX711 into a custom board.

What Is the HX711?

The HX711 is a precision 24-bit ADC designed to interface directly with bridge sensors such as strain-gauge load cells.

A typical load cell produces a differential output across its two signal terminals, measured in millivolts. Such a signal is too small for most general-purpose microcontroller ADCs to measure accurately. The HX711 amplifies the differential voltage and converts it into a digital value that a microcontroller can read and, after calibration, translate into a weight or force measurement.

According to the HX711 datasheet, the IC includes:

  • A 24-bit sigma-delta ADC
  • A programmable-gain amplifier
  • Two differential input channels
  • An integrated oscillator
  • An on-chip power-supply regulator
  • A simple two-wire digital interface
  • Selectable 10 or 80 samples-per-second operation

Channel A supports gains of 128 or 64. Channel B uses a gain of 32. Most weighing applications connect the load cell to Channel A and use the maximum gain. The HX711 multiplexes the two channels rather than sampling them simultaneously, so only one channel is converted at a time. Software can select Channel A or Channel B for the next conversion, allowing Channel B to serve as a second measurement input when its lower fixed gain of 32 is suitable.

The HX711 does not communicate through standard I²C or SPI. Instead, it uses two signals:

  • DOUT or DT for data
  • PD_SCK or SCK for the clock and power-down control

Many development boards and libraries hide the timing details, allowing the microcontroller to request measurements through a simple software interface. For example, an Arduino HX711 library may provide functions such as is_ready(), tare(), and get_units() instead of requiring application code to manually generate and count the HX711 clock pulses.

HX711 Load Cell Wiring

A four-wire load cell is normally a Wheatstone bridge with two excitation wires and two signal wires.

Common HX711 breakout-board connections include:

Connection Purpose
E+ Positive bridge excitation
E− Negative bridge excitation
A+ Positive differential signal
A− Negative differential signal
B+ / B− Optional second input channel
VCC Module supply
GND Ground
DT or DOUT Digital data output
SCK or CLK Digital clock input

Note that the wire colors are not standardized. One manufacturer may use red for excitation positive, while another may use red for a signal wire. Always verify the load cell’s datasheet or measure the bridge resistance before relying on wire color.

To connect an HX711 module to an Arduino:

HX711 Arduino Uno example
VCC 5 V
GND GND
DT Digital pin 3
SCK Digital pin 2

The load cell connects separately to E+, E−, A+, and A−.

During an initial wiring check, gently apply a load in the direction that will later be defined as positive. If the raw HX711 count decreases instead of increasing, swap A+ and A−. Reversing the signal wires changes the measurement polarity without damaging the bridge. Alternatively, the polarity can be fixed later via software during calibration.

For a three-wire or half-bridge sensor, additional sensors or completion resistors (e.g., fixed resistors that form the missing arms of the Wheatstone bridge) may be required to form a full Wheatstone bridge. Do not assume that every strain-gauge sensor can connect directly to the four terminals used by a full-bridge load cell.

How to Calibrate an HX711

The HX711 returns a raw ADC count, not a measurement in grams or kilograms. Calibration establishes the relationship between ADC counts and physical weight.

The process requires two reference points:

  1. The unloaded reading, also called the zero offset
  2. The reading produced by a known reference weight

A simple calibration equation is:

Calibration-factor equation

Suppose the unloaded reading is 8,400 counts and a 500-gram reference weight produces 408,400 counts:

The system therefore produces approximately 800 counts per gram.

Several Arduino HX711 libraries use this scale factor internally. The following example illustrates the general workflow:

Arduino HX711 calibration workflow

#include "HX711.h"

const byte HX711_DOUT = 3;
const byte HX711_SCK = 2;

HX711 scale;

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

  scale.begin(HX711_DOUT, HX711_SCK);

  scale.set_scale();
  scale.tare(20);

  Serial.println("Scale zeroed.");
  Serial.println("Place a known weight on the load cell.");
}

void loop() {
  if (scale.is_ready()) {
    long reading = scale.get_value(10);
    Serial.println(reading);
  } else {
    Serial.println("HX711 not ready");
  }

  delay(500);
}

After recording the change produced by the reference weight, apply the calculated scale factor:

scale.set_scale(800.0);
scale.tare();

float weightGrams = scale.get_units(10);

The sign and exact value depend on the load cell orientation, wiring, supply voltage, mechanics, and software library. Save the final calibration factor in nonvolatile storage if the device must retain calibration after power cycling.

For better calibration accuracy and measurement repeatability:

  • Use a reference weight near the center of the intended measurement range.
  • Average multiple readings.
  • Let the electronics and load cell reach a stable temperature.
  • Perform calibration after the sensor is mechanically installed.
  • Check multiple weights to identify nonlinearity.
  • Re-zero the scale only when it is genuinely unloaded.

Note that calibration cannot compensate for a mechanically unstable platform. Side loading, mounting stress, vibration, and flex in the enclosure can all cause inconsistent measurements.

HX711 PCB Design Considerations

A prototype HX711 breakout board is convenient for quickly wiring and testing a load cell without designing the analog circuitry from scratch. However, integrating the HX711 into a custom PCB gives you more control over noise, dimensions, power, and connectors.

The HX711 receives the load cell’s millivolt-level bridge signal through its differential analog inputs, such as A+ and A− for Channel A. These inputs are especially sensitive because the load cell signal is small. Treat the bridge connection as a low-level differential measurement path.

Place the HX711 close to the PCB connector where the load-cell cable enters the board. Keep the A+ and A− traces short, parallel, and away from switching nodes, clock lines, antennas, motors, and high-current traces.

Other useful layout practices include:

  • Place decoupling capacitors close to the HX711 supply pins.
  • Use a quiet ground reference around the analog section.
  • Avoid routing digital clock signals beside the load-cell inputs.
  • Keep DC/DC converters and inductors away from the analog front end.
  • Provide strain relief for the load-cell cable.
  • Add clearly labeled test points for power, ground, data, clock, and analog inputs.
  • Follow the datasheet’s regulator and bypass-capacitor recommendations.
  • Consider input filtering where the sensor environment is noisy.
  • Decide how cable shielding connects to circuit or chassis ground.
  • Protect external connectors against electrostatic discharge when appropriate.

Do not route high bridge current and sensitive return signals through long shared copper paths. Ground voltage differences that appear insignificant elsewhere can become visible in a precision measurement.

In Flux, you can place the HX711, load-cell connector, capacitors, programming header, and microcontroller in a single schematic before moving into PCB layout. Use the schematic to document connector pin assignments and calibration test points, then review the analog and digital routing separately.

Troubleshooting Unstable HX711 Readings

Unstable measurements are often caused by mechanics or power integrity rather than software.

Check the following:

The reading does not change

Verify that the bridge is receiving excitation voltage. Confirm that the signal wires are connected to Channel A and that the microcontroller pin assignments match the code.

The reading moves in the wrong direction

Swap A+ and A−, rotate the load cell mechanically, or use a negative calibration factor.

The reading changes when the cable moves

Inspect the connector and cable strain relief, including the clamp, tie-down, or other mechanical support that prevents cable movement from pulling directly on the electrical connections. Long unshielded cables can also pick up electromagnetic interference.

The zero value drifts

Allow the system to warm up. Check for mechanical preload, temperature changes, unstable power, mounting stress, and air movement around sensitive weighing platforms.

The reading is noisy

Reduce vibration, average several samples, separate the analog section from switching circuitry, and use the slower sample rate when the application does not require fast updates.

FAQs

About the author

Jharwin Barrozo

Electronics Engineer at Flux

Jharwin is an electronics engineer mainly focused on satellites. He built his own ground station using Flux to monitor RF activities on the International Space Station. Find him on Flux @jharwinbarrozo

More in Component & Platform Guides

Let’s start building.

Let’s build your idea together. All you need to do is describe what you want to make, or what problem you want to solve. Flux will work with you to make it a reality.

Try it Free
Close-up of a Flux-designed printed circuit board