myRIO based Biometric Bodysuit
Freek Klabbers & Roel van der Velden
You will not be able to find our faces on the ‘About us’ page on the site, but we are Roel and Freek and we made this bodysuit for our internships at VI Technologies. We got handed an assignment to create a Biometric Bodysuit with a myRIO as processor. The main goal for this bodysuit was monitoring the movement of the body, and monitoring vitals like heart rate and oxygen levels. For this Biometric Bodysuit we needed sensors that could be read by the myRIO and with the limited options we quickly set our sights on some I2C sensors.
For this project we used three types of sensors. The first sensor is the oximeter sensor, this sensor is placed on the index finger and measures blood pressure and heart rate, giving true biometric vibes. The second sensor is an ATH20 sensor and is a temperature and humidity sensor, the humidity can be used to detect if the wearer is sweating. The third sensor is an ICM20 sensor and is an inertia measurement unit (IMU) that can output acceleration and orientation data. If we place this sensor on the arms, we should be able to detect arm orientation and location. This would change the bodysuit into a VR or Wii controller. With an IMU on both arms and one on the chest we can calculate the relative movement of the arms, which can be used for gesture recognition in the future.
Software
When we started writing the driver classes for our sensors, which was an entire internship on its own, we quickly divided the work between the two of us. Roel created the Oximeter driver class and Freek created the AHT20 and ICM20 driver classes. Roel being a Mechatronic student was more proficient in hardware, where Freek had more of a knack for the software. So, after the creation of the drivers, Roel dove into the hardware side and Freek continued writing the software.
Freek created a Real-Time application that was able to independently manage and read the data from the sensors. Because the IMU sensors could only have two unique addresses and we had three of them, we needed to split the sensors over two I2C busses (see the image below). All that was needed now was a way for that data to be accessed by other applications and machines. A colleague suggested using MQTT to create a public API. With the LabVIEW Open Source LV-MQTT-Broker toolkit it was not long before we got this system running.
Figure 1: Schematic overview of the software
With the MQTT broker running, Freek made a MQTT Client in Python that could read the data that was being published. After the proof of concept worked, the program got ported to Blender which can run python code. Here the ‘Orientation’ property of an object could be changed to the orientation value that Python had received via MQTT, resulting in a live animation.
Hardware
Roel started with ordering the basis for the bodysuit. This would be housing the myRIO and figuring how we would route the necessary cables which will run towards the sensors. For the housing of the IMU sensors he created a design for a watch like device and after some revisions the housing was 3D-printed.
Figure 2: Final design of the IMU watch
After finishing the watch, Roel continued with the rest of the hardware of the Biometric Bodysuit. He researched which Battery pack would be best for the myRIO, so that it can run without plugging it in a power socket. The myRIO needs between 6 and 16 volts, so we need a battery that has an output between that. The second thing that’s important is capacity of the battery. A higher capacity means longer runtime, so we kept that in mind when choosing the battery.
The only thing left to do is finding a safe way to charge and use the battery. Because we are using a LiPo battery, we need to take care of overcharging and deep discharging. To protect the battery when it is operating, we need a low voltage cutoff switch. With a low voltage cutoff switch we can safely use the battery and prevent it from dropping below a certain voltage. This low voltage cutoff switch makes sure that it will shield a 3 cells battery. The switch will make sure that if the voltage is dropped below 9V it will cut off all power to the myRIO. That way we prevent the battery from discharging too much and creating unsafe situations.
Figure 3: Cutoff switch
After a long search we found the right battery. It’s a 3 cell LiPo battery pack outputting 11.1 volts. This is enough voltage for the myRIO. This battery has a high capacity, 5200 mAh which means the myRIO can run for two and a half hour. We also bought the correct charger for this battery to safely charge it without overcharing.
Figure 4: 3 Cell LiPo battery
Conclusion
However, there were dreams that could not be. The program was not able to transform acceleration data into a usable location. This could be because of a plethora of reasons, and if we had a definitive answer, we would have fixed it. But with our internship coming to an end, we ran out of time and couldn’t get that part working. For questions or tips feel free to contact us at: f.klabbers2@gmail.com for software or roelvandervelden@ziggo.nl for hardware.
Figure 5: Demonstration of the Bodysuit