Soft Step

A wearable sensor project for understanding movement and impacts while hiking.

Go to your hikes

About the project

Going downhill puts a lot of load on your knees, especially when you land on a nearly straight leg instead of letting the knee bend to absorb the step. Soft Step is a wearable that measures how you land on every step, so you can see when your technique gets stiff and adjust it.

Two motion sensors, one above the knee and one below it, connect to an ESP32 that streams their readings to this website over Bluetooth. The website combines the readings to work out your knee angle and the impact of each foot strike as you hike.

How to use Soft Step

Before connecting the device, strap both sensors securely to your leg using the placement shown in the diagram to the sidebelow. One sensor should sit above the knee on the thigh, and the other should sit below the knee on the shin.

Drawing of a leg with the ESP32 and thigh sensor strapped above the knee and the shin sensor strapped below it
ESP32 and thigh sensor above the knee; shin sensor below it.
  1. Strap the device onto your leg before connecting it to the website.
  2. Open the hike page and connect to the Soft Step sensor using Bluetooth.
  3. Before starting the hike, stand with your leg fully straight. The system uses this position to calibrate a straight leg as 180 degrees.
  4. Start the hike while keeping your leg straight during the initial calibration.
  5. Once the website shows that the sensor is connected and the hike has started, begin hiking normally.
  6. During the descent, Soft Step tracks your knee angle and landing acceleration to help identify changes in your technique.
  7. Finish the hike in the app to save your data and review your landing technique afterward.

Frequently Asked Questions

How does an accelerometer work?

An accelerometer contains a microscopic suspended mass that responds to acceleration. Even when stationary, it measures approximately 1g because its internal structure supports the mass against Earth's gravity.

Why do we need both an accelerometer and a gyroscope?

The accelerometer estimates orientation using gravity, but its readings can be affected by movement. The gyroscope measures angular velocity, but accumulated errors can cause drift over time. We combine both measurements using a complementary filter to obtain a more reliable orientation estimate.

How do we calculate knee angle?

We attach one motion sensor to the thigh and another to the shin. Using a complementary filter, we estimate the orientation of each sensor and calculate their relative angle. The system is calibrated with the leg straight at 180 degrees. As the knee bends, the calculated angle decreases.

How do we detect foot strikes?

We calculate the acceleration magnitude from the shin-mounted sensor and measure its deviation from the stationary 1g baseline. When this deviation exceeds our configured threshold of 0.8g, and the detector's reset and cooldown conditions are satisfied, we register a potential foot strike.

How does the ESP32 communicate with the website?

The ESP32 collects measurements from both MPU6050 sensors through I2C communication. It then packages the measurements into a 24-byte binary packet and transmits them wirelessly using Bluetooth Low Energy (BLE). Our website uses the Web Bluetooth API to receive these measurements in real time.

Sign in to Hiking Sensor

Sign in or create an account to view and record your hikes.