Stright: the Smart Haptic Running Cadence Trainer
by Wolf Vierbergen in Circuits > Wearables
33 Views, 0 Favorites, 0 Comments
Stright: the Smart Haptic Running Cadence Trainer

Make your running better with this DIY wearable that vibrates to keep you at your ideal cadence.
Ever wonder if you're running at the optimal cadence? Studies show that 170-180 steps per minute is the sweet spot for most runners, reducing injury risk and improving efficiency.
This project turns a regular sock into a smart wearable that vibrates when you are running outside your target cadence range.
Using the Seeed Studio MG24 Sense's built-in motion sensors (IMU) and a haptic motor, this device gives feedback at your Achilles tendon. When you're running too slow or too fast, it vibrates at the rhythm you should be hitting.
Before we start building, let's understand how the device works. This wearable device helps runners maintain optimal cadence (170-180 steps per minute) through haptic feedback at the Achilles tendon.
- IMU Sensor detects each footstep using the built-in accelerometer
- Microcontroller calculates your current cadence in real-time
- Control Logic determines if you're running too fast or too slow
- Haptic Motor vibrates at half your target cadence to guide you back on track
Supplies
Electronics
- Seeed Studio MG24 Sense microcontroller board (1x)
- 10mm Haptic/Vibration Motor (2-5V, 100mA @ 5V) (1x)
- PN2222A NPN Transistor (TO-92 package) (1x)
- 1N5819 Schottky Diode (40V) (1x)
- 1kΩ Resistor (1/4W) (1x)
- 150mAh LiPo Battery (single cell, 3.7V) (1x)
- Perfboard/Protoboard (30x70mm minimum) (1x)
Materials
- Athletic Sock (crew or mid-calf height works best) (1x)
- Insulated Copper Wire (22-24 AWG, ~30cm)
- Solder and flux
- Thread (any color, for sewing)
- Hot Glue
- Cyanoacrylate (Super) Glue
Tools
- Soldering iron and stand
- Wire strippers/sandpaper
- Needle (for sewing)
- Scissors
- Multimeter (optional but helpful)
- Computer with Arduino IDE installed
Methods


The Running Cadence Problem
Running cadence is measured as the number of steps taken per minute. It is very important for running efficiency and injury prevention. Research shows that maintaining a cadence between 170 and 180 steps per minute (SPM) helps reduce ground reaction forces and limits overstriding [1], most recreational runners tend to run at a lower cadence, typically around 160–165 SPM [2]. Overstriding and its effect can be seen in the left image above. This gap between the ideal and actual cadence is a contributing factor to the high injury rate among all types of runners, with approximately 56% experiencing injuries [3, 10].
Common strategies to adjust cadence, such as using metronome sounds (earbuds/headphone), visual cues from GPS devices (smart watch) or training coach, come with notable drawbacks. Audio cues can be unsafe in traffic, visual feedback demands constant screen-checking, which causes distraction, and a training coach is expensive. These limitations point to the need for a better feedback system: one that helps runners achieve optimal cadence without compromising safety or distraction.
Why Haptic Feedback?
In Ref. [5] it is show that haptic feedback consistently enables faster response times compared to visual or audio, as can be seen in the graph on the right. In activities like running, where precise timing is essential for the system to work well, this improvement is a nice addition.
Haptic feedback also supports the concept of sensorimotor integration, where touch-based cues can influence movement patterns without requiring conscious thought.
Haptic Feedback Metronome
Wearable haptic feedback has been successfully used to facilitate gait changes in various parameters including foot progression angle, tibia angle, and trunk movements [6]. For cadence control, vibrotactile metronomes can provide rhythmic pulses at target step rates. These systems can be positioned at different body locations (wrist, waist, ankle, or chest) similar to how haptic feedback has been applied either at the target joint/segment or at different body locations away from the desired change.
This system will use ankle placement for the adaptive metronome.
Design Requirements
In order to make sure the proposed design will work, some requirements must be put in place. Most of these come from Ref. [6].
R1: Adaptive Feedback
Monitor current cadence through wearable accelerometers and gyroscopes, providing corrective feedback when runners deviate from optimal step rates. Measurements include parameters such as step count and cadence.
R2: Feedback Intensity
The vibration amplitude must be carefully calibrated to overcome the sensory noise of running while remaining comfortable and non-distracting.
R3: Placement
Feedback can be applied either at the target joint or away from the target joint. While wrist, waist, and chest placements are possible, ankle placement is common and offers advantages for cadence training. The latter provides direct proximity to the step initiation point, creating a close connection between the haptic stimulus and foot strike timing.
R4: Battery Life
At least 30 minutes of continuous vibrations to sustain a run of 1 hour. Assuming the runner maintains proper cadence half of the time.
Perfboard Layout

Start by placing the components on the perfboard as shown in the figure above.
Use hot glue to mount the battery on the left.
Mount the Seeed Studio [4] upside down in the middle. In this position the battery terminals are easily accessible for soldering. Now the usb-C port sticks out and thus a riser is needed for elevation. Use some hot glue and a piece of cardboard/plastic for the riser. Avoid using excessive heat, as this may damage fragile components on the board.
In the next step we'll start soldering! Do not mount the perfboard to the sock just yet.
Soldering Electronics

Solder a wire from the negative pin on the battery to the "-" pin on the Seeed labeled "bat". Ideally this wire is blue or black.
Solder another wire from the positive battery to two jumpers (or any kind of switch you have laying around). From the other side of the jumper solder a wire to the "+" pin on the Seeed labeled "bat". Ideally this wire is red.
The motor driver schematics are visible on the right, adapted from [9]. Electronic assembly goes as follows:
- Insert the PN2222A transistor into the perfboard:
- Base (B) - middle pin
- Emitter (E) - flat side left pin
- Collector (C) - flat side right pin
- Solder the 1kΩ resistor:
- One end to a trace that will connect to Seeed pin 10
- Other end to the transistor Base (B)
- Install the 1N5819 Schottky diode:
- Cathode (silver band) connects to positive battery terminal
- Anode connects to transistor Collector (C)
- Create motor connection points:
- Two solder pads in parallel with the diode
- These will connect to the motor wires
- Wire the ground connections:
- Transistor Emitter (E) to ground
- Create a ground trace connecting to Seeed GND
Transistor [8]: Pin 10 → 1kΩ → Base | Emitter → GND | Collector → Diode Anode
Diode: Battery + → Diode Cathode | Motor in parallel with diode
Mount the Perfboard and Haptics to the Sock

The perfboard must be mounted near the location for the haptic motor, which is the ankle as discussed in step 2: design requirements. In this case, on the top and side of the sock, where the leg is fairly straight.
- Position the circuit board on top of the sock, centered above where your ankle bone would be
- Thread a needle and sew through the four corner holes
- Make several passes to ensure it's secure
- Tie off and trim excess thread
Tip: The board should be snug but not so tight it affects sock stretch
For the haptic motor:
- Turn the sock inside out
- Position the haptic motor at the Achilles tendon location
- Apply a small amount of super glue to motor back
- Press firmly for 30 seconds
- Let cure for 5 minutes
- Thread the motor wires along the inside of the sock to the circuit board
- Turn sock right-side out
Now the wires from the motor can be soldered on the board.
- Cut two pieces of insulated wire, each about 5-10cm long
- Sand or strip 5mm of insulation from all four ends
- Tin the exposed wire ends with solder
- Solder wires to the haptic motor
Functional Overview
The algorithm to control cadence is actually quite simple. There are four main components that make the device work.
Function 1. Initialize System (runs only on startup)
Function 2. Main Loop (runs continuously)
Function 3. Cadence Calculation
Function 4. Feedback Logic
Programming and Firmware
Now we'll upload the firmware that handles step detection and haptic feedback control. First some setup for the board and sensor. [7]
Board: Add Seeed XIAO board package
- Arduino IDE > Tools > Board > Board Manager
- Select Board: Type "Seeed XIAO MG24 Sense" and click install
Library: LSM6DS3.h
- Arduino IDE > Sketch > Include library > Manage libraries
- Select Library: Type "Seeed Arduino LSM6DS3" and click install (confirm that "by Seeed Studio" is written next to it)
- To include it in the code, type:
Download: Save the stright-cadence-monitor.ino to your computer and open it in the Arduino IDE.
Connect: Use an usb-C cable to connect the Seeed to your computer. Then select the correct port (Arduino IDE > Tools > Port > Seeed Studio)
Uploading: Click the right pointing arrow "→" on the top left hand corner.
Testing: Click "serial monitor" in the top right hand corner. Now verify that the serial output shows step detection when you shake the device.
Downloads
Run!
Put the sock on, turn on the device, and go for your first run! Start running slowly and follow the pace of the vibration pattern until it stops providing feedback.
Due to use of licensed music, the video appears as unavailable. If clicking "Watch on YouTube" above does not work, try clicking here.
Discussion
Requirements:
The device successfully gives proper cadence guidance when running above or below the target range. Validation of correct rhythm was done during running using an audio metronome, and it does vibrate at half cadence: one vibration each time the foot where the wearable is mounted touches down.
Requirement R1: ✅
The vibration intensity does not suffices, only when paying great attention the vibration pattern becomes clear. This is a limitation of the developed design, and must be improved. Improvements in cadence can only happen when the vibration pattern is clear to the user.
Requirement R2: ❌
The ankle placement has been successful. The location of the haptic motor feels very intuitive, but can become slightly irritating when sustained running outside the target range.
Requirement R3: ✅
The device has been tested (without running) up to forty minutes of vibrating at 85 beats/min without the battery running out. Indicating that running over one hour is possible. When maintaining proper cadence this could be even longer. This test does not include the energy usage of the IMU, as it was deactivated. The power consumption of the IMU is negligible [5].
Requirement R4: ✅
Limitations:
The cadence detection algorithm is not 100% accurate. Sometimes it will vibrate even when running on the correct cadence.
In the first prototype the perfboard came loose from the sock. This is due to improper stitching. Using more wire and better knots the problem was resolved.
Thermal management has not been accounted for. Overheating of the microcontroller could seriously damage the device and pose a risk to the runner.
Conclusion and Future Work
Conclusions
The Stright haptic running cadence trainer successfully demonstrates the feasibility of using wearable haptic feedback to guide runners toward optimal cadence. This DIY project makes from a regular sock a training device that monitors step frequency and provides corrective feedback when runners deviate from the target 170-180 steps per minute range.
The project achieved three out of four design requirements. The adaptive feedback system (R1) successfully detects cadence deviations and provides rhythmic guidance at half the target frequency. The ankle placement strategy (R3) proved intuitive and effective, positioning the haptic motor at the Achilles tendon by being closer to the foot that needs to step. Battery performance (R4) exceeded expectations, more than 40 minutes of operation during testing on a desk.
However, the most critical limitation was insufficient vibration intensity (R2). The haptic feedback requires significant user attention to notice it, limiting its effectiveness during real-world running scenarios where noise from ground impact and muscle activation can mask subtle vibrations.
Despite these limitations, the device validates the core concept that ankle-mounted haptic feedback can influence running cadence. The system's ability to provide real-time, non-distracting guidance represents a meaningful alternative to audio metronomes or visual feedback systems that compromise safety or require constant attention.
Future work
Future development should focus on improving the algorithm using, perhaps including the power of machine learning to eliminate false positives and enhance step detection accuracy. More powerful motors, or perhaps multiple motors, could provide stronger haptic feedback that cuts through the sensory noise of running. The Seeed Studio board's Bluetooth capability has possibilities for data logging and smartphone connectivity to track performance over time. Additional sensors, placed on the top of the midfoot, could detect foot angle placement and provide more comprehensive gait analysis beyond basic cadence monitoring. Finally, the device needs proper heat management, waterproof housing, and better mechanical design to withstand real-world running conditions.
References
[1] R. B. Souza, ‘An Evidence-Based Videotaped Running Biomechanics Analysis’, Physical Medicine and Rehabilitation Clinics of North America, vol. 27, no. 1, pp. 217–236, Feb. 2016, doi: 10.1016/j.pmr.2015.08.006.
[2] A. G. Schubert, J. Kempf, and B. C. Heiderscheit, ‘Influence of Stride Frequency and Length on Running Mechanics’, Sports Health: A Multidisciplinary Approach, vol. 6, no. 3, pp. 210–217, Oct. 2013, doi: 10.1177/1941738113508544.
[3] T. Musgjerd, J. Anason, D. Rutherford, and T. W. Kernozek, ‘Effect of Increasing Running Cadence on Peak Impact Force in an Outdoor Environment’, International Journal of Sports Physical Therapy, vol. 16, no. 4, Aug. 2021, doi: 10.26603/001c.25166.
[4] Seeed Studio. (2024). "XIAO MG24 Sense Technical Documentation," Seeed Technology Co., Ltd. [Online]. Available: https://wiki.seeedstudio.com/xiao_mg24_getting_started/
[5] LSM6DS3 inertial module: 3D accelerometer and 3D gyroscope [Online]. Available: https://www.st.com/en/mems-and-sensors/lsm6ds3tr-c.html
[6] P. B. Shull, W. Jirattigalachote, M. A. Hunt, M. R. Cutkosky, and S. L. Delp, ‘Quantified self and human movement: A review on the clinical impact of wearable sensing and feedback for gait analysis and intervention’, Gait & Posture, vol. 40, no. 1, pp. 11–19, May 2014, doi: 10.1016/j.gaitpost.2014.03.189.
[7] Arduino IDE Documentation [Online]. Available: https://docs.arduino.cc/learn/starting-guide/the-arduino-software-ide/
[8] Texas Instruments. (2013). "PN2222A NPN Switching Transistor Datasheet," SLPS049G. [Online]. Available: https://www.ti.com/lit/ds/symlink/pn2222a.pdf
[9] Sparkfun motor driver schematics [Online]. Available: https://learn.sparkfun.com/tutorials/driving-motors-with-arduino/all
[10] In-person conversation with Stijn V. from Runners Lab Zaventem. Talk of 30 min on 02/04/2025. https://runnerslab.be/running/