Strain gauges are the invisible heart of almost every weighing and force measurement system in the world. From kitchen scales to aircraft wings, this tiny piece of metallic foil bonded to an elastic carrier does one remarkable thing: it translates mechanical deformation into a measurable electrical signal. If you have ever used a load cell with an Arduino or HX711 amplifier, you have already used a strain gauge without necessarily knowing the physics behind it. This guide takes you from the fundamental physics of strain measurement through Wheatstone bridge theory, signal conditioning circuit design, and all the way to a working Arduino sketch that reads bridge output in microstrain.
1. Strain Gauge Physics: Resistance and the Gauge Factor
Strain is defined as the change in length divided by the original length: ε = ΔL / L. It is dimensionless and typically measured in units of microstrain (με), where 1 με = 1 part per million of deformation. Structural materials typically operate in the range of ±500–3000 με before yielding.
A strain gauge exploits the piezoresistive effect: when a conductor is stretched, its resistance increases; when compressed, it decreases. This happens for two reasons — a geometric change (longer, thinner wire has higher resistance) and a quantum-mechanical change in resistivity of the metal itself.
The gauge factor (GF) captures this relationship:
GF = (ΔR/R) / ε
For foil gauges made from constantan or Karma alloy, GF ≈ 2.0. For semiconductor gauges (silicon), GF can be 50–150, giving much higher sensitivity but worse temperature stability. Almost all commercial load cells use foil gauges for their stability.
A typical 120 Ω foil gauge under 1000 με strain sees a resistance change of only:
ΔR = GF × ε × R = 2.0 × 0.001 × 120 Ω = 0.24 Ω
That 0.24 Ω change on a 120 Ω baseline is impossible to measure accurately with a simple voltage divider against a fixed resistor — the self-heating and resistor tolerance would swamp the signal. This is precisely why the Wheatstone bridge was invented.
2. Bridge Configurations: Quarter, Half, and Full Bridge
A Wheatstone bridge connects four resistors in a diamond (rhombus) topology. The bridge is driven by an excitation voltage (Vex) across one diagonal and the output is read as a differential voltage across the other diagonal. By replacing some resistors with strain gauges, the bridge becomes exquisitely sensitive to strain while rejecting common-mode signals like temperature.
Quarter Bridge
One active strain gauge (SG1) plus three fixed precision resistors. Simple to implement and uses only one gauge, but has no inherent temperature compensation — if the gauge heats up, the resistance change looks like strain.
- Sensitivity: Vout/Vex ≈ GF × ε / 4
- Use case: Low-cost, single-axis strain measurement where temperature is controlled
Half Bridge
Two active gauges (SG1 and SG2) plus two fixed resistors. If both gauges are mounted on the same structure — one on the tension side, one on the compression side (or bending beam) — the bridge automatically doubles the sensitivity and cancels temperature effects since both gauges heat equally.
- Sensitivity: Vout/Vex ≈ GF × ε / 2
- Use case: Bending beams, torque shafts; used in many commercial load cells
Full Bridge
All four elements are active strain gauges. In a bending configuration, two gauges are on the tension surface and two on the compression surface. This doubles sensitivity again and provides the best temperature compensation and linearity.
- Sensitivity: Vout/Vex ≈ GF × ε
- Use case: High-precision load cells, torque transducers, accelerometers; standard for commercial weigh scales
A 10 kg bar-type load cell typically uses a full bridge with all four gauges, which is why it has four output wires (E+, E-, A+, A-) and produces a clean differential voltage output that the HX711 was designed to amplify.
3. Wheatstone Bridge Mathematics
With excitation voltage Vex applied across the bridge, the output differential voltage for a balanced full bridge with small strain is:
Vout = Vex × (GF × ε) / 4 [quarter bridge]
Vout = Vex × (GF × ε) / 2 [half bridge]
Vout = Vex × (GF × ε) [full bridge, all active]
For a full bridge load cell with GF = 2, ε at full load = 2000 με, Vex = 5 V:
Vout = 5 × 2 × 0.002 = 20 mV
This is the maximum output signal from the bridge. With the HX711’s gain 128 amplifier, the input range for channel A is ±20 mV — exactly matched to this output, giving the full 24-bit range to represent the full load span.
Bridge offset (null balance): Even with no load, manufacturing tolerances cause a small unbalance voltage. The HX711 software tare function zeroes this out in the digital domain. For hardware zero balancing, a 10-turn potentiometer can be connected as a trimmer resistor in series with one leg of the bridge.
4. Signal Conditioning: Amplifiers and Filtering
Signal conditioning is the chain of electronics between the bridge output and the ADC input. The three main stages are:
Instrumentation Amplifier (InAmp)
An InAmp amplifies the differential bridge signal while rejecting common-mode noise. Unlike an op-amp, it has very high input impedance (10 MΩ+ typical) that avoids loading the bridge. The INA128, AD8221, and the HX711’s internal PGA are all instrumentation amplifiers.
Key specifications to check:
- CMRR: Common-mode rejection ratio. Higher is better. Aim for >100 dB.
- Input offset voltage: Should be <1 µV for accurate low-level measurements.
- Gain bandwidth product: Sets the maximum useful frequency at a given gain.
Low-Pass Filter
Mechanical strain signals are almost always DC to a few hundred Hz. A simple first-order RC low-pass filter (e.g., 1 kΩ + 100 nF, fc = 1.6 kHz) placed before the InAmp input removes high-frequency EMI. The HX711’s internal sinc filter provides additional digital low-pass filtering.
Reference Voltage
The ADC must compare the bridge signal against a stable reference voltage. The HX711’s internal bandgap reference maintains stability over temperature, which is one reason it outperforms a raw Arduino ADC for bridge measurements.
5. The HX711 Signal Chain Explained
The HX711 integrates all the signal conditioning stages you would otherwise build discretely:
- Precision voltage regulator: Generates the stable AVDD used both as the bridge excitation reference and the ADC reference, ensuring that bridge sensitivity variations track the ADC reference — a major source of error cancellation.
- Programmable gain amplifier: Gain 128 (channel A), 64 (channel A), or 32 (channel B). The PGA has an input-referred noise of about 50 nV/√Hz.
- 24-bit delta-sigma ADC: Achieves high resolution by oversampling at ~10 MHz and decimating digitally. The effective noise-free resolution at 10 SPS is approximately 16–17 bits after the internal digital filter.
- Serial output: Two-wire clocked interface. No I2C addressing means you cannot share an address bus — each HX711 needs its own DOUT pin.
10Kg Load Cell – Electronic Weighing Scale Sensor
A full Wheatstone bridge load cell that demonstrates all the bridge configuration theory covered in this article. Includes 4-wire colour-coded leads.
6. Temperature Compensation Techniques
Temperature is the greatest enemy of accurate strain measurement. Two mechanisms cause temperature-related errors:
Thermal Output (Apparent Strain)
Even with no mechanical load, a strain gauge changes resistance with temperature due to the gauge material’s temperature coefficient of resistance (TCR) and the difference in thermal expansion between the gauge and the host material. Self-temperature-compensated (STC) gauges are manufactured to match the TCR of common materials like steel or aluminium, minimising this effect.
Lead Wire Compensation
In a quarter-bridge configuration, the lead wires carrying current to the gauge also have resistance. A 3-wire quarter bridge adds a third wire to one side of the bridge to cancel lead wire resistance changes — always use 3-wire quarter bridges in field installations with long cable runs.
Half and Full Bridge Inherent Compensation
When all active gauges are on the same structure and at the same temperature (the usual case for commercial load cells), temperature-induced resistance changes are equal in all arms and cancel in the differential bridge output. This is why full-bridge load cells are inherently temperature-compensated without special correction.
7. Wiring Guidelines and Best Practices
- Use shielded cable for runs longer than 30 cm. Connect the shield to GND at the amplifier end only to avoid ground loops.
- Twist wire pairs: Twist E+ with E- and A+ with A- to cancel magnetic interference.
- Avoid ground loops: Power the bridge excitation from the same supply that powers the ADC reference to ensure ratiometric cancellation.
- Strain-relief the gauge leads: On bare gauges (not encapsulated load cells), the delicate bonding wires from the gauge to the terminal pads are easily broken by flexing. Use a solder blob as a mechanical strain relief.
- Do not over-excite: High excitation voltages cause self-heating in the gauge, creating apparent strain drift. For constantan foil gauges on steel, limit power dissipation to <50 mW; on plastics or poorly conducting substrates, keep it even lower.
8. Arduino Project: Bridge Strain Reader
This project reads a full-bridge load cell through an HX711 module and displays strain in microstrain on the serial monitor.
#include <HX711.h>
#define DOUT_PIN 3
#define CLK_PIN 2
HX711 bridge;
// Calibration constants
const float GAUGE_FACTOR = 2.0; // Foil gauge GF
const float VEX = 5.0; // Excitation voltage (V)
const float ADC_FULLSCALE = 8388607.0; // 2^23 - 1 (24-bit signed)
const int GAIN = 128;
void setup() {
Serial.begin(115200);
bridge.begin(DOUT_PIN, CLK_PIN);
bridge.set_gain(128); // Channel A, gain 128
bridge.tare(20); // Average 20 readings for tare
Serial.println("Bridge zeroed. Reading strain...");
}
void loop() {
if (bridge.is_ready()) {
long raw = bridge.read_average(10);
// Convert raw count to differential voltage
// HX711 full scale = ±20mV at gain 128 → maps to ±8388607 counts
float vDiff = (float)raw / ADC_FULLSCALE * 0.020; // volts
// Strain from full-bridge: ε = Vout / (Vex * GF)
float strain_ue = (vDiff / (VEX * GAUGE_FACTOR)) * 1e6; // microstrain
Serial.print("Strain: ");
Serial.print(strain_ue, 1);
Serial.println(" µε");
}
delay(200);
}
Note: This formula assumes a full-bridge configuration. For quarter bridge, divide the result by 4; for half bridge, divide by 2. The tare step captures the bridge offset (zero strain state) so the reading represents mechanical strain relative to the tare condition.
9. Calibration and Units Conversion
The approach above derives strain analytically from known bridge parameters. In practice, load cells are calibrated empirically using reference weights:
- Record raw ADC output at zero load: rawZero
- Apply a traceable reference weight; record raw ADC output: rawFull
- Sensitivity factor = (rawFull – rawZero) / knownWeight
- For any reading: weight = (rawReading – rawZero) / sensitivityFactor
Store the calibration constants in EEPROM. For best accuracy, repeat the calibration process at two temperatures bracketing your operating range and implement a linear temperature correction using a DS18B20 or NTC thermistor mounted near the load cell.
1Kg Load Cell – Electronic Weighing Scale Sensor
A great way to experiment with bridge configurations hands-on. Use this with an HX711 module to verify the Wheatstone bridge theory explained in this guide.
10. Practical Applications in Maker Projects
Understanding strain gauge bridge theory unlocks a wide range of real-world projects:
- Smart kitchen scale: A single full-bridge load cell under a 3D-printed platform reads ingredients with 0.5 g resolution.
- Bicycle power meter: Strain gauges bonded to a crank arm measure pedalling force and, combined with cadence, calculate watts.
- Structural health monitor: Gauges bonded to a bridge or building beam detect overload or fatigue cracking long before visual inspection would reveal it.
- Robotic gripper force feedback: A quarter-bridge gauge on the gripper finger detects whether an object is being held too tightly, preventing damage to delicate items.
- Soil pressure sensor: Embedded load cells measure soil compaction or frost heave forces in geotechnical experiments.
FAQ
What is the difference between a strain gauge and a load cell?
A strain gauge is the individual resistive element. A load cell is a complete transducer — an elastic metal body (the spring element) with strain gauges already bonded in a Wheatstone bridge configuration, calibrated and packaged for easy use. When you buy a bar-type load cell, you are buying the whole assembly including gauges.
Can I use a strain gauge directly with an Arduino without an HX711?
Technically yes, but the results will be very poor. A standard Arduino ADC has 10-bit resolution over 0–5 V, giving 4.9 mV per count. A full-bridge signal at full load is only 10–20 mV total. The HX711’s 24-bit resolution and 128× gain make it essentially mandatory for accurate strain measurements.
Why does my bridge output change when I touch the wires?
Your body is acting as an antenna, coupling 50/60 Hz mains noise into the high-impedance bridge output. Twist and shield the cable, ensure the shield is connected to signal GND at one end, and keep cables away from power wiring. A low-pass filter capacitor (10–100 nF) across the A+ and A- inputs also helps.
How many ohms should a strain gauge bridge be?
Most foil strain gauges (and the bridges inside load cells) have a nominal resistance of 120 Ω or 350 Ω. Higher resistance gauges dissipate less power at a given excitation voltage, reducing self-heating errors. The HX711 works well with both 120 Ω and 350 Ω bridges.
Can I use an INA128 instead of an HX711?
Yes. The INA128 is a discrete instrumentation amplifier you would connect to a standard ADC (like the Arduino’s or an external 16-bit ADS1115). This gives more flexibility in gain selection, input bandwidth, and referencing, but requires more components and careful PCB layout. The HX711 is more convenient for typical maker load-cell applications.
Start Your Strain Measurement Project
From bare strain gauges to fully assembled load cells and HX711 amplifier modules, Zbotic stocks everything you need for precision force and weight measurement projects in India.
Add comment