Published on Nov 23, 2015
Shoe-mounted wearable sensors can be used in applications, such as activity monitoring, gait analysis, post-stroke rehabilitation, body weight measurements and energy expenditure studies. Such wearable sensors typically require the modification or alteration of the shoe, which is not typically feasible for large populations without the direct involvement of shoe manufacturers. This article presents an insole-based wearable sensor (SmartStep) that has its electronics fully embedded into a generic insole, which is usable with a large variety of shoes and, thus, resolves the need for shoe modification.
The Smart Step is an always-on electronic device that comprises a 3D accelerometer, a 3D gyroscope and resistive pressure sensors implemented around a CC2540 system-on-chip with an 8051 processor core, Bluetooth low energy (BLE) connectivity and flash memory buffer.
The SmartStep is wirelessly interfaced to an Android smart phone application with data logging and visualization capabilities. This article focuses on low-power implementation methods and on the method developed for reliable data buffering, alleviating intermittent connectivity resulting from the user leaving the vicinity of the smart phone. The conducted tests illustrate the power consumption for several possible usage scenarios and the reliability of the data retention method. The trade-off between the power consumption and supported functionality is discussed, demonstrating that SmartStep can be worn for more than two days between battery recharges. The results of the mechanical reliability test on the SmartStep indicate that the pressure sensors in the SmartStep tolerated prolonged human wear. The SmartStep system collected more than 98.5% of the sensor data, in real usage scenarios, having intermittent connectivity with the smart phone.
Shoe-based activity and/or gait monitoring systems are gaining widespread popularity in research, as well as in the commercial market place. Shoe-based sensors are being used in applications ranging from studies of obesity to post-stroke rehabilitation, from energy expenditure studies to training activities in sports. One of the most popular applications for shoe-based sensors is gait analysis, and various analysis systems based on different sensor modalities have been proposed and applied both to healthy individuals and patients with neurological disorders [1–10].
In-shoe sensors have been applied for the monitoring of plantar pressure , ground reaction forces , estimation of center of mass displacement during walking , pedestrian navigation  and pedestrian tracking . A number of publications describe the use of shoe-based sensor systems for biofeedback in rehabilitation applications, such as PDShoe , a system that provides biofeedback to improve the gait of Parkinson’s patients and that provides feedback on an Android smart phone . Shoe sensors have also been applied in several different populations: children with cerebral palsy , Parkinson’s patients [4,16], post-stroke individuals [19,20] and, of course, healthy individuals .
Our laboratory developed various generations of a shoe-based platform named SmartShoe that incorporated pressure transducers and an accelerometer and that had been used in a number of different applications. SmartShoe had demonstrated the accurate (98%) classification of the six major postures and activities  in healthy individuals and the comparable recognition of postures and activities in post-stroke individuals . The ability of SmartShoe to reliably recognize postures and differentiate between weight-bearing and non-weight-bearing activities enables accurate energy expenditure prediction  in models branched by activity. SmartShoe was also used for the estimation of the body weights of wearers  and to accurately capture the temporal gait parameters of healthy and post-stroke individuals .
Most of the above-mentioned shoe-based platforms, including the SmartShoes, have obvious limitations, mainly accommodating the sensors and wireless electronics in the shoes; either there is a need to modify the shoe or to attach additional hardware to the shoe. Such modifications are typically labor-intensive and may potentially diminish the original functionality of the shoe (e.g., by creating holes and allowing moisture into the shoe), while attachments may not be reliable and can create trip hazards. Commercially available sensor-equipped shoes that minimized such issues appeared as early as 1986 (PUMA RS100 Computer Shoe ) and continue to be manufactured to this day (Adidas 1 , Nike Lunar ).
However, these commercially available shoe platforms do not offer all of the rich features that the research platforms offer (e.g., easy access to sensor data), which can be used in multiple studies and target applications.
Smart Step Hardware
We had reported a framework for the Smart Step development in our previous work . This manuscript presents and characterizes the final prototype. The electronic printed circuit board (PCB) houses a low-power 3D accelerometer, ADXL346, a low-power 3D gyroscope, L3GD20, a low-power flash memory, MX25L16 (16 M bit), and Blueradios BLE module, BR-LE4.0-S2A, which is based on CC2540 SOC from Texas Instruments (TI). The PCB also has on-board power management circuitry and 3 pressure sensor interfaces. The accelerometer, gyroscope and Flash are all interfaced to the CC2540 on the same serial peripheral interface (SPI) bus with different chip select pins. The accelerometer and gyroscope both have the provisions to interrupt the CC2540 core. The design utilizes 16 out of 17 available I/O pins from the BLE module. The PCB is 24 mm × 19 mm in dimension and weighs 4 g. A rechargeable lithium battery, ML2020 (3 V, 45 mAh), powers the whole system.
The SmartStep insole system is assembled on a flexible 8 mil (0.2 mm)-thick FR4 PCB. Three Interlink FSR402 pressure sensors are located under biomechanically important support locations: the heel, the first metatarsal head and the big toe. After placing the pressure sensors at the proper locations, the entire FR4 PCB is laminated to provide higher strength to the assembly. The electronic PCB is mounted on the FR4 PCB at the location of the arch of the foot (where forces developed during ambulation are minimal) and encapsulated in epoxy resin. The whole assembly is then encapsulated in urethane rubber for cushioning and protection. Individuals can wear additional cushioning materials based on the need. The insole weighs 71 g in total. Figure 1 demonstrates the block diagram of SmartStep, along with pictures of the fully mounted PCB and fully encapsulated insole.
The firmware for the SmartStep is built around TI’s BLE stack version 1.4.0 . The algorithm for the application from the SmartStep point of view is completely reentrant. It is an “always on” system, which has no reset or power switch on-board. Below are the definitions of the terms from the BLE perspective that are repeatedly referred to in the article:
1. Characteristic: A characteristic contains a single readable and/or writable value and descriptors that describe the characteristic’s value. In the case of SmartStep, there is a characteristic that is used for the purpose of control and another for sensor data transmission.
2. Descriptor: A Descriptor is a defined attribute that describes a characteristic value.
3. Service: A service is a collection of characteristics.
4. Server: A device that has defined characteristics in it. In the present context, SmartStep is the server, and the terms are used interchangeably in the article.
5. Client: A device that reads from or writes to the server. The Android application is the client in the case of the SmartStep system, and the terms are used interchangeably in the article.
6. Connection event: The event that takes place periodically when there is an established connection, where the server and the client can communicate the data.
7. Connection interval: The time interval that defines the connection events’ period.
8. Event timers: The timers provided by the BLE stack that are used to schedule events. In SmartStep, one event timer handles the sensor reading event and another timer handles the notification events. Normally, both timers operate at 25 Hz (a sampling frequency shown to be sufficient for accurate posture and activity recognition in an earlier study ).
9. Notification: A method of data communication from the server to the client during the connection events, in which the client does not acknowledge the reception of the data from the server. As per the BLE standard, each notification data packet can have a maximum size of 20 bytes. SmartStep transmits sensor data to the smart phone using notifications, each containing sensor data acquired during a sensor read event along with a timestamp. Figure 2 shows the format of a notification packet when pressure sensors and the accelerometer are being read during sensor read events, excluding gyroscope readings
10. Indication: A method of data communication from the server to the client during the connection events, in which the client acknowledges the reception of the data from the server.
11. Advertising event: The event that takes place in SmartStep periodically when there is no established connection. During this event, SmartStep transmits the advertising packet, attempting to get connected with the client.
12. Advertising interval: The time interval that defines the period of advertising events. In the case of SmartStep, this is 1 s.
13. Sleep State: A state of the SmartStep system, while all the electronic components are in sleep mode, drawing minimal current from the battery. During the firmware initialization action in SmartStep, the default connection interval is set to be at 160 ms. Automatic updating of the parameters defining the connection interval can take place on the fly, when the SmartStep intends to have it altered.
This section describes the system design aspects utilized in SmartStep, which help in achieving low-power functionality in an “always-on” SmartStep system:
1. During advertising, the SmartStep remains in limited discoverable mode.
2. For the sensor data transmission from the server to the client, notification methodology is used as opposed to indication methodology.
3. Enabling/disabling of a notification is carried out in two steps from the client side. In the first step, the client application writes to a characteristic variable in the server, before enabling or disabling the notification. If the action from the client requests for enabling of the notification stream, the accelerometers and/or gyroscope are put into measurement mode (the mode in which the sensors sense and measure the motion/rotation), and the event timers are started. As a second step, notifications are turned on.
4. The event timers are running and sensors are in the measurement mode as long as the SmartStep is in the notification/modified notification mode. Before stopping the notifications, the client again writes to the characteristic variable, after which, the whole system is put in a lower power mode.
5. While in measurement mode, the ADXL346 operates in low power, with the output data rate (ODR) set to 25 Hz. This low-power mode is slightly noisier than the normal operating mode of ADXL346 , but consumes 50% less current than in the normal mode.
6. Only during ADC reads, the resistive pressure sensors are supplied with current.
7. BLE allows up to 80 bytes of user data to be transmitted in each connection event. Hence, SmartStep’s connection interval is defined as 4-times that of the notification set events, and this implies, in the place of 4 connection events, one for each notification packet, that SmartStep has one connection event, saving the radio power consumption.
The current implementation of the Android application (App) is based on Google’s most recent Android version 4.4.2, which has native android support for BLE . The app can scan for available SmartStep servers, connect to the server, search for the available services from the server, read/write characteristic variables in the server and enable/disable notifications from the server. The app user can select whether the data retention mechanism is needed for the data logging session and also whether the SmartStep needs to read the gyroscope or not.
During the session, the sensor data notified by the SmartStep can be displayed on the screen in real time and also can be written to a comma separated value (csv) file on the smart phone’s storage. During the data logging session, if there is an accidental connection loss, the app immediately gets connected back in the same mode as it was operating. If a connected server goes outside the range and if there is a time out, the app starts periodic scanning, in an attempt to find the server.
When the server comes back in the BLE range, the app reconnects with the server and re-enables the notification stream. When there is inconsistent network strength, reconnecting to the server is prone to constant disconnections, which may cause additional data loss in SmartStep. To avoid this from occurring, the application checks radio signal strength indicator (RSSI) during scanning and automatic reconnection takes place only when RSSI is higher than −75 dB, which is an empirically established threshold determined by the authors.
This seminar described the solutions to the system design challenges identified during the development of SmartStep—a fully integrated, low-power insole monitor. The conducted power tests demonstrated that average power consumption in SmartStep was ~28-times lower than that of the original SmartShoe monitor, and the real-life experiment conducted in this study suggested that the present implementation of SmartStep can be used for more than two days on a single charge. The present implementation of the data retention scheme was functioning as it was intended and with minimal loss of data (<1.5%). The results from the mechanical reliability experiment suggested that the SmartStep pressure sensors tolerated prolonged human wear.
These results, along with the proposed improvements, suggest that the SmartStep can be used in the long-term monitoring of gait, physical activity or other parameters. Utilizing the SmartStep monitoring systems in studies on the physical activity and gait monitoring of human subjects, in free living conditions, and processing the sensor data captured from SmartStep will be the topics of our future research.
1. Wagner, R.; Ganz, A. PAGAS: Portable and accurate gait analysis system. In Proceeding of the Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC), San Diego, CA, USA, 2012; pp. 280–283.
2. Bamberg, S.J.M.; Benbasat, A.Y.; Scarborough, D.M.; Krebs, D.E.; Paradiso, J.A. Gait analysis using a shoe-integrated wireless sensor system. IEEE Trans. Inf. Technol. Biomed. Publ. IEEE Eng. Med. Biol. Soc. 2008, 12, 413–423.
3. Lopez-Meyer, P.; Fulk, G.D.; Sazonov, E.S. Automatic Detection of Temporal Gait Parameters in Poststroke Individuals. IEEE Trans. Inf. Technol. Biomed. 2011, 15, 594–601
More Seminar Topics:
Wearable Photoplethysmographic Sensors,
Footwear-Based Wearable Systems,
Flexible Electronic Skin,
Face Liveness Detection,
Eye Directive Wheelchair,
Lip Contour Detection,
Automatic Sun Tracking System,
Automatic Street Light,
Piezoelectric Energy Harvester,
Life Detection System,
Oculus Rift and Project Morpheus