Submitted by deb on Wed, 03/13/2013 - 01:42


     SqueakySock is a medical device prototype that provides audio feedback to help PT patients limp less during recovery from ankle injuries.

     The inspiration for this project came from a friend of mine who was having difficulty during the transition from a stiff cast, that kept his ankle fixed at a right angle, to a canvas cast, which allows for greater muscle development but is less supportive. When interviewed, he explained that his new canvas cast allowed for a particular range of motion that didn't hurt but left him more prone to re-injury due to atrophy caused by his previous course of treatment. In addition, the new canvas cast would not correct him if he unintentionally began to limp throughout his day; a repetitive motion that could also contribute to re-injury.  

     After a few laps walked up and down the corridors of South Hall, we identified that the big toe of his injured foot was engaged (receiving pressure) during this vulnerable range of motion essential to his ankel's rehabilitation. The big toe had little to do with the injury but simply happened to coincide with the correct un-limping stride.

     To call attention to this ideal but dangerous range of motion, I affixed an FSR sensor in the big toe of a sock and a Piezo speaker to the inside top seam of that sock. If the FSR measured that the toe was properly engaged - indicating a healthy stride - the Piezo speaker would squeak with positive feedback. Finally, a POT read to the serial would allow the user to calibrate SqueakySock to their own age appropriate weight based off of average BMIs for children, tweens, teens, and adults.

     In this prototype, both pressure input and sound output were co-located in the sock. Future revisisions of SqueakySock would use a more durable sensor and provide sound as a negative feedback, triggered only when a limp was detected. Limp detection could be identified by inadequate engagement of the big toe based on the users age appropriate weight e.g. if teen && toe pressure > 60 lbs && toe pressure < 80lbs: 'SQUEAK!'



  • Arduino
  • FSR
  • 1k Resistor
  • Sock
  • Piezo speakers


Arduino Code:

// Analog pin settings
int aIn = 0;    // FSR
int bIn = 1;    //   POT

// Digital pin settings
int aOut = 9;   // Piezo speakers connected to digital pin 9
int bOut = 10;  //   Read by serial

// Values
int aVal = 0;   // Variable to store the input from the FSR
int bVal = 0;  // Variable to store the input from the POT
int PRINT = 1;
void setup()
  pinMode(aOut, OUTPUT);   // Sets the digital pins as output
  pinMode(bOut, OUTPUT);  
  Serial.begin(9600);     // Open serial communication for reporting

void loop()
  aVal = analogRead(aIn) / 4;  // Read input from FSR
  bVal = analogRead(bIn) / 4;  // Read input from POT

  analogWrite(aOut, aVal);    // Send new values to Piezo speaker
  analogWrite(bOut, bVal);    // Send new POT values to serial for user feedback

  if (PRINT){                 // Continuous prints sensor values to guide users
if (bVal < 50 && bVal < 51){
  if (bVal < 100 && bVal > 51){
  if (bVal < 255 && bVal > 100){
        Serial.print(aVal);  // FSR
        Serial.print(bVal);   // 100-255 lbs = Adult  // 50-100 lbs = Teen // 0-50 lbs = Kid
        PRINT = 1;


Your rating: None
Drupal theme by Kiwi Themes.