A balanced output load cell is a force sensor that uses a Wheatstone bridge circuit of strain gauges to convert mechanical deformation into a proportional, temperature-compensated differential millivolt signal. When you bolt one of these to a bench and hang a weight from it, you aren't getting a neat 0-5V analog signal you can feed straight into a microcontroller. Instead, you get a tiny, balanced differential voltage that requires specific amplification. This changes how you design your circuit: it forces you to use an instrumentation amplifier (like the ubiquitous HX711) rather than a simple single-ended ADC read, but in exchange, it gives you massive immunity to electrical noise. The most common mistake hobbyists make is confusing the excitation voltage (the power feeding the bridge) with the signal output, or assuming the output is a single-ended 0-5V signal that can be read directly by an Arduino's analog pin.
The Core Concept: What a Balanced Output Load Cell Actually Is
Inside a standard aluminum straight-bar or S-type load cell, four strain gauges are bonded to the metal body in a specific geometric pattern. When the metal flexes under load, two gauges stretch (increasing resistance) and two compress (decreasing resistance). These four gauges are wired into a Wheatstone bridge configuration.
The term "balanced" refers to the state of the bridge when no load is applied. In an ideal, unloaded state, the voltage difference between the two signal output wires is exactly zero. The bridge is perfectly balanced. When force is applied, the resistances shift, unbalancing the bridge and creating a millivolt-level potential difference between the Signal+ and Signal- wires.
The Math: Calculating Differential Millivolt Output
Load cell sensitivity is rated in mV/V (millivolts of output per volt of excitation). Let's run a real numeric example using a standard Talonworks CZC601 50kg straight-bar load cell, which has a rated output of 2.0 mV/V.
- Capacity: 50 kg
- Sensitivity: 2.0 mV/V
- Excitation Voltage (V_exc): 4.2V (Typical output from an HX711 module's analog VCC)
First, we calculate the full-scale output (FSO) at maximum capacity:
FSO = Sensitivity × V_exc
FSO = 2.0 mV/V × 4.2V = 8.4 mV
This means when you hang exactly 50kg from the cell, the differential voltage between Signal+ and Signal- is a mere 8.4 millivolts. If you place a 12.5 kg bag of grain on the scale (25% of capacity), the output is exactly 25% of the FSO:
V_out = 8.4 mV × 0.25 = 2.1 mV
An Arduino Uno's 10-bit ADC has a resolution of roughly 4.88mV per step at 5V. Your 2.1mV signal is literally less than one single bit of the Arduino's native resolution. This is why the balanced output must be fed into a high-gain instrumentation amplifier before digitization.
Where You Meet This in Practice
You will encounter balanced output load cells in almost any precision weighing application, from DIY espresso shot timers to 10-ton industrial hopper scales. In the maker space, the SparkFun HX711 Breakout (SEN-10245) or its cheap clones are the standard interface.
The HX711 chip is specifically designed to read this balanced differential signal. It features two channels:
- Channel A: Differential input, programmable gain of 128 or 64. Used for the primary load cell.
- Channel B: Differential input, fixed gain of 32. Often used for a secondary sensor or a thermistor for temperature compensation.
When wiring these in practice, you are dealing with two distinct circuits sharing a common ground reference: the Excitation loop (powering the bridge) and the Signal loop (reading the imbalance). Mixing these up will instantly yield flatline readings or, worse, fry the delicate strain gauges if you accidentally apply 12V to the signal pins.
Real-World Scenario Walkthrough: The Drifting Brewery Scale
The Setup: A homebrewer builds an automated grain scale using a 50kg balanced output load cell, an HX711 module, and an ESP32. The load cell is mounted under a steel brewing stand. To reach the ESP32 on the wall, they splice in 15 feet of standard 22AWG unshielded stranded wire, routing the cable directly alongside the 120V AC power line feeding a chest freezer compressor.
The Numbers: The ESP32 code polls the HX711 at 10Hz. With no grain on the scale, the tare value should be a stable 0.00 kg. The expected noise floor for a well-shielded HX711 setup is roughly ±0.01 kg.
The Outcome: When the freezer compressor kicks on, the scale reading violently jumps between -2.4 kg and +3.1 kg. Even when the compressor is off, the zero-point drifts by 0.5 kg over ten minutes.
What Went Wrong: The 15-foot unshielded wires acted as an antenna. The 60Hz magnetic field from the AC freezer line induced a common-mode voltage on the signal wires. While the HX711 has good CMRR, the induced noise spike exceeded the amplifier's common-mode input voltage range during compressor startup, causing the internal ADC to saturate and output garbage data. Furthermore, the thermal drift was caused by the spliced wires creating unintended thermocouple junctions (copper-to-solder-to-copper) near the cold steel brewing stand, introducing microvolt-level thermal EMF errors that the high-gain amplifier interpreted as physical weight.
Wiring and Interfacing: Preserving the Balance
Getting the wiring right is 90% of the battle. Load cell manufacturers generally follow one of two color-code standards. Always check your specific datasheet, but here is the standard mapping for the most common 4-wire configurations:
| Function | Standard Color Code A | Standard Color Code B | HX711 Pin |
|---|---|---|---|
| Excitation+ (Power) | Red | Red | E+ |
| Excitation- (Ground) | Black | Black | E- |
| Signal+ (Output) | White | Green | A- (or B-) |
| Signal- (Output) | Green | White | A+ (or B+) |
Note: If your readings are negative when you add weight, simply swap the Signal+ and Signal- wires at the amplifier. You will not damage the circuit by reversing the differential signal pair.
Follow these numbered steps for a bulletproof bench connection:
- Verify Excitation: Before connecting the HX711, power the ESP32/Arduino and measure the voltage between the E+ and E- pins on the amplifier board with a multimeter. It should read between 4.2V and 4.3V.
- Check Bridge Resistance: Disconnect power. Measure the resistance between E+ and E- (typically 350Ω or 400Ω). Measure between S+ and S- (typically 350Ω or 400Ω). If you read an open circuit (OL), a strain gauge wire is broken internally.
- Wire the Pairs: Keep the excitation pair and the signal pair twisted together. Solder directly to the HX711 pads; avoid breadboards for the analog side, as breadboard contact resistance fluctuates and will look like shifting weight to a 128x gain amplifier.
- Software Tare: In your code, call
scale.tare()only after the physical setup has been powered on and thermally stabilized for at least 60 seconds.
Frequently Asked Questions
Can I connect two balanced output load cells to a single HX711 channel?
Yes, but you must wire them correctly to maintain the balanced bridge. You can wire two identical load cells in parallel (tying Red to Red, Black to Black, White to White, Green to Green) to sum their capacity, or you can wire them in a series-bridge configuration to average their output. Parallel wiring is most common for multi-cell bathroom scales, but it requires the cells to have closely matched output impedances to prevent cross-loading errors.
Why does my load cell output drift when I touch the wires?
The human body acts as an antenna for 50/60Hz mains hum. Because the balanced output signal is in the single-digit millivolt range, your body's capacitive coupling can easily inject enough noise to overwhelm the signal if the wires are unshielded. If touching the wires causes massive drift, your shielding is inadequate or your amplifier's common-mode rejection is failing due to a ground loop.
What happens if I accidentally wire Excitation to the Signal pins?
You will feed 4.2V directly into the HX711's high-gain instrumentation amplifier input. The amplifier will instantly rail (saturate) and output the maximum digital value (usually 8388607 in 24-bit signed integer format). While the HX711 usually survives this without physical damage, you will get no usable weight data until you correct the wiring.






