This is an old revision of the document!
The RunTracker32 Android application is a real-time health and location monitoring tool designed to interface with a custom Bluetooth-enabled fitness device. The app displays live data such as heart rate (BPM), blood oxygen level (SpO₂), GPS coordinates, and movement speed (in km/h), allowing users to track their vitals and position during physical activity. Additionally, the app offers quick access to Google Maps for viewing the current location.
The system is built around an ESP32 development board, which serves as the central controller. It integrates two key sensors:
The sensors are powered via the breadboard's power rails, and communication is established using serial (for GPS) and I2C (for MAX30100).
GPS (Neo-6M) Connections
TX → GPIO16 — Serial RX (ESP32 receives) RX → GPIO17 — Serial TX (ESP32 sends) VCC → 3.3V — Power GND → GND — Ground
MAX30100 Connections
SDA → GPIO21 — I2C Data SCL → GPIO22 — I2C Clock VCC → 3.3V — Power GND → GND — Ground
The system consists of two main software components: the embedded firmware running on the ESP32, developed using the Arduino IDE, and the Android application built with Kotlin. The ESP32 collects real-time health and location data from connected sensors, formats the information, and transmits it over Bluetooth. On the other side, the Android app receives this data, parses it, and presents it in a user-friendly interface for live monitoring.