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:
DOUTorDTfor dataPD_SCKorSCKfor 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:
- The unloaded reading, also called the zero offset
- 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
The converter produces a 24-bit result, but the usable noise-free resolution is lower and depends on gain, sample rate, layout, power quality, and the connected sensor.
Multiple load cells can be combined electrically into one bridge. The HX711 also has two input channels, although the channels use different gain configurations and are not sampled simultaneously.
No. It uses a dedicated clock and data interface rather than standard I²C or SPI.
Yes. The same circuit can measure tension, compression, and other forces if the load cell and mechanical assembly are appropriate, such as a compression load cell mounted to measure pressing force or a tension load cell installed inline with a pulling load.
A negative factor usually means the differential signal polarity is reversed relative to the direction defined as positive. It does not necessarily indicate a fault.
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.