Inspiration

Our inspiration is the lack of social interaction people are getting during lockdown, as well as the lack of exercise that many people are getting. We wanted to combine the solutions to both of these challenges in one, easy to use and interactive app.

What it does

This app allows users to interact with each other, while keeping the user engaged and competitive. The app allows the user to send other users challenges, which can be a range of exercises such as running, cycling or anything else. These challenges are worth a set amounts of points, and the receiving user can either accept or reject it. The users can the complete challenges, view leaderboards and compare progress with each other.

How we built it

We used a backend server to interact with an SQLite database. This was made in Django, a python web framework. We had no website, but just used post requests from Flutter app to interact with the database, so it is all controlled through the app.

We built the heart rate monitor using a TCRT1010 Reflective Optical Sensor with the Heltec ESP32 V2 board. It transpires that very small fluctuations are present in the proximity detector signal when your finger is placed on the sensor. These fluctuations are due to the reflectance changing as the blood is pumped around your finger. We also built a band-pass filter circuit to amplify these very small changes in the frequencies of interest enabling us to build a device which can measure your heart rate. The program would measure voltage spikes from an ADC channel connected to Fout on the circuit diagram, tally up the number of beats in a 60 second period using the millis() function. The bpm is the number of beats in the 60 sec time period. The bpm data can be sent to our Google Cloud server via POST requests using the WiFi.h and HTTPClient.h packages.

Components list:

  • TCRT1010 Reflective Optical Sensor
  • MCP602 Dual Operational Amplifier IC
  • Capacitors: 100nF capacitor, 1µF capacitor
  • Resistors: 100Ω resistor, 10kΩ resistor, 6.8kΩ resistor, 68kΩ resistor, 680kΩ resistor

See datasheets:

Challenges we ran into

On the hardware side:

  • initially constructing and testing the proximity sensor circuit
  • finding the correct placement for your finger on top of the LED to capture the fluctuations in light
  • constructing and testing the bandpass filter circuit
  • testing code to send bpm data to the Google Cloud server via POST requests

Accomplishments that we're proud of

Creating an app which helps improve the well-being and health of people in such a difficult time is something we are proud of. Allowing safe, healthy and fun social interaction with the added benefit of staying healthy is what we aimed to achieve throughout the development of this application.

What we learned

Our backend team learned Django and our frontend team learned Flutter. Hardware team gained experience of arduino coding and web server communications

What's next for Healthy App

It could potentially get a UI polish up, as well as some security patches, and could be ready for deployment. Although privacy of the data in the database is maintained through the use of hashing techniques for secure storage, the transmission could be made more secure. This is an important thing for us to consider in the next part of development living in such as active cyber space full of potential adversaries waiting to attack.

On the hardware side, we could compress the circuit into a purpose-built board to fully test a prototype and would need to have a smaller bluetooth capable chip to transfer the bpm information to the server through Wi-Fi on the app on a mobile device

Share this project:

Updates