Community project

Footstep Force Measurement

Arduino
Photo of Footstep Force Measurement
Generated with AI

jose amorim

Published September 21, 2026

This project measures the force exerted by footsteps using a load cell sensor platform. The system captures weight data through a 50 kg load cell connected to an HX711 amplifier, which converts analog signals into digital readings that the Arduino processes and outputs via serial communication.

The guide provides a complete parts list, wiring diagram, and step-by-step assembly instructions for building a rigid sensor platform and connecting the electronics. Included firmware handles calibration and real-time weight measurement, allowing makers to log footstep force data for biomechanics analysis, fitness tracking, or interactive installations.

Wiring diagram

Wiring diagram for Footstep Force Measurement

Gather all the parts

QtyComponent
1

HX711 Load Cell Amplifier

HX711

24-bit ADC front-end for strain-gauge load cells and weigh scales. DT/DOUT and SCK are MCU-facing pins; E+/E-/A+/A- connect to the load cell bridge.

1

50 kg Three-Wire Half-Bridge Load Cell

50 kg

One corner sensor that bends slightly under a footstep to help measure the platform's total force.

1

50 kg Three-Wire Half-Bridge Load Cell

50 kg

One corner sensor that bends slightly under a footstep to help measure the platform's total force.

1

50 kg Three-Wire Half-Bridge Load Cell

50 kg

One corner sensor that bends slightly under a footstep to help measure the platform's total force.

1

50 kg Three-Wire Half-Bridge Load Cell

50 kg

One corner sensor that bends slightly under a footstep to help measure the platform's total force.

Assemble it in 6 steps

1. Build a stiff platform over the four sensors

Put load_cell_1, load_cell_2, load_cell_3, and load_cell_4 under the four corners of a rigid top plate. Keep every sensor's arrow or marked loading direction facing the same way, and arrange them in order around the platform: 1 front-left, 2 front-right, 3 rear-right, 4 rear-left. Fasten the fixed end of each sensor to the base and let only its loading end support the top plate so the metal can bend slightly.

  • Leave enough clearance that the top plate cannot touch the base anywhere except through the four sensors.
  • The four 50 kg cells give a platform rating of roughly 200 kg only when the weight is shared evenly; use a safety margin.
  • Do not jump onto the platform or exceed the mechanical rating — a sudden impact can permanently bend a sensor or make the platform unstable.

2. Check each sensor wire before joining it

With the platform unplugged, use a multimeter on resistance mode for each load cell. Find the two wires with the largest resistance; these are the outer wires. The remaining wire is the centre wire. This design calls those wires BLACK and WHITE for the outer pair and RED for the centre wire, but label the actual wires you find because colours can differ between batches.

  • A typical cell measures about twice as much resistance between its two outer wires as from the centre wire to either outer wire.
  • Use small labels such as 1R, 1B, and 1W before soldering so the four corners do not get mixed up.
  • Do not rely on wire colours alone — joining the wrong wires prevents correct measurement and can make the reading move in the wrong direction.

3. Join the four outer sensor wires into a ring

Make four insulated joins: load_cell_1 BLACK to load_cell_2 BLACK; load_cell_2 WHITE to load_cell_3 WHITE; load_cell_3 BLACK to load_cell_4 BLACK; and load_cell_4 WHITE to load_cell_1 WHITE. These four joins make the outside loop of the measuring bridge.

  • Twist, solder, and cover each join with heat-shrink tubing; keep the cable away from moving or flexing parts of the platform.
  • Keep the cells in the front-left, front-right, rear-right, rear-left order while making these joins.
  • Bare wire joins can touch each other and stop the platform from measuring correctly, so cover every join separately.

4. Connect the four centre sensor wires to the HX711

Connect load_cell_1 RED to hx711_1 E+ (bridge power positive); load_cell_3 RED to hx711_1 E- (bridge power negative); load_cell_2 RED to hx711_1 A+ (measurement positive); and load_cell_4 RED to hx711_1 A- (measurement negative).

  • Use the HX711 terminals marked E+, E-, A+, and A-; leave B+ and B- unused.
  • If weight makes the final number negative after calibration, use the opposite sign for CALIBRATION_FACTOR rather than moving the bridge wires.
  • Do not connect any load-cell wire to the HX711 B+ or B- terminals — this design reads the A channel only.

5. Wire the HX711 to the Arduino Mega

Connect hx711_1 VCC to the Mega 5V pin (power); hx711_1 GND to a Mega GND pin (ground); hx711_1 DT to Mega D2 (data); and hx711_1 SCK to Mega D3 (clock).

  • Keep the four load-cell leads and HX711 close together and away from USB power leads where possible.
  • The Mega's USB cable powers this low-current circuit.
  • Make sure 5V and GND are not swapped — swapped power can damage the HX711 module.

6. Protect the electronics and set the zero reading

Put the HX711 and Arduino where feet cannot strike them, then plug the Mega into USB with the platform empty and still. The sketch sets that unloaded condition as zero during startup. To make kilograms accurate, replace CALIBRATION_FACTOR in the code with the value measured using a known mass placed near the platform centre.

  • Use a known mass that is large enough to give a stable change, then repeat the check near each corner.
  • The Serial output is one bare number every 50 milliseconds, ready for a plot or data capture.
  • Do not put weight on the platform while it starts, or that weight becomes part of the zero reference until the board is restarted.

Review all connections

1. Connections between "hx711_1" and "Arduino"

Functionhx711_1Arduino
powerVCC5V
groundGNDGND
digitalDTGPIO 2
digitalSCKGPIO 3
powerE+50 kg Three-Wire Half-Bridge Load Cell REDEXT
groundE-50 kg Three-Wire Half-Bridge Load Cell REDEXT
analogA+50 kg Three-Wire Half-Bridge Load Cell REDEXT
analogA-50 kg Three-Wire Half-Bridge Load Cell REDEXT

2. Connections between "load_cell_1" and "Arduino"

Functionload_cell_1Arduino
analogBLACK50 kg Three-Wire Half-Bridge Load Cell BLACKEXT

3. Connections between "load_cell_2" and "Arduino"

Functionload_cell_2Arduino
analogWHITE50 kg Three-Wire Half-Bridge Load Cell WHITEEXT

4. Connections between "load_cell_3" and "Arduino"

Functionload_cell_3Arduino
analogBLACK50 kg Three-Wire Half-Bridge Load Cell BLACKEXT

5. Connections between "load_cell_4" and "Arduino"

Functionload_cell_4Arduino
analogWHITE50 kg Three-Wire Half-Bridge Load Cell WHITEEXT

Deploy the firmware

#include <Arduino.h>
#include <HX711.h>

const uint8_t HX711_DOUT_PIN = 2;
const uint8_t HX711_SCK_PIN = 3;

// Replace this with the factor measured using a known reference mass.
const float CALIBRATION_FACTOR = -7050.0f;

HX711 scale;

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

  scale.begin(HX711_DOUT_PIN, HX711_SCK_PIN);
  scale.set_scale(CALIBRATION_FACTOR);
  scale.tare();
}

void loop() {
  if (scale.is_ready()) {
    const float weightKg = scale.get_units(1);
    Serial.println(weightKg, 3);
  }

  delay(50);
}

Remix this project

Make it yours in one click

Open a full copy of this project in your own Schematik workspace — diagram, code, parts, and assembly steps included. Swap the sensor, add features, or redesign the whole thing with AI. The author's original stays untouched.

Open in Schematik