Running insole degradation sensor

Running insole degradation sensor
Running insole degradation sensor
Sensors
Wearables
Data
Arduino

Aim: That old 'replace your shoes every 300 miles' rule always felt a bit arbitrary. This project is my attempt to explore whether dynamic impulse traces can provide personalised, data-driven guidance on exactly when a shoe's foam is shot, helping to reduce both unnecessary waste and injury risk.

Inspiration: I was initially inspired by high-end, lab-grade sensing insoles and consumer devices like the RunPod. I wanted to see if I could build a custom solution (considering both consumer add-on pods and brand-integrated insole sensors) that captures meaningful gait data without needing a research grant.

Sensor selection:
  • Strain gauge - Too fragile and pretty limited when dealing with the complex, multi-dimensional deformation of a running stride.
  • Force-sensing resistor (FSR) - Tends to saturate entirely under the heavy impact forces of running.
  • Piezoelectric film - The clear winner. It's flexible, durable, and perfectly suited for measuring dynamic stress and impulse changes.

Design rationale & Data collection: A thin piezoelectric film sits right under the ball of the runner's foot. When the foot strikes the ground, the shoe's foam deforms and bends the piezo, creating a distinct electrical signal that is read by the Arduino. Over the lifespan of the shoe, as the EVA or PEBA foam degrades and loses its spring, that deformation changes. By tracking this dynamic impulse trace (the time-integrated dynamic load) over time, the system can detect when the foam's shock-absorbing performance drops to a specific fraction of its original state, letting the consumer know exactly when it's time to retire the shoe based on actual wear, not just distance.

Implementation: For this prototype, I wired the piezo film and a small amplifier board up to an Arduino Pro Micro, powering the rig with a 9 V battery and logging data directly to an SD card. It's a functional proof-of-concept, though the SD card reader actually introduced some electrical noise into the early traces. Moving forward, upgrading to higher-quality logging, or perhaps designing a custom board around a microcontroller with native storage like an nRF52840, would be a massive improvement.

Prototype stages
Prototype stages

Testing and results: Taking the prototype out for comparative runs yielded some really promising data. Comparing the traces between a fresh pair of shoes and a heavily worn pair produced clearly distinguishable sensor patterns. The results are still preliminary, but it proves the core concept: foam degradation is absolutely measurable from inside the shoe.

Top: average trace from run with new shoes. Bottom: comparison between traces of new and old shoes
Top: average trace from run with new shoes. Bottom: comparison between traces of new and old shoes
Next steps:
  • Record synchronised video to validate which gait phases correspond to trace peaks, giving deeper context to metrics like ground contact time.
  • Increase the number of piezos to improve data collection across runners with differing striking techniques (e.g., heel vs. forefoot).
  • Design a compact, rechargeable pod (LiPo) that can easily clip to the laces or sit cleanly in the heel.
  • Produce multiple instrumented insoles/pods to collect a wider dataset across various runners and shoe models.
  • Consult running physiology resources or collaborators to better interpret trace features for injury risk and exact shoe lifespan metrics.