Inspiraton

We wanted to create a small, portable device that helps people track their daily activity without needing a smartwatch. The goal was to combine health tracking and accessibility using simple hardware and an ESP32.

What it does

The portable fitness tracker calculates BMI, counts steps, and estimates calories burned. The user enters their height and weight on a keypad, and their BMI appears on the OLED display. Step and calorie data are continuously updated and displayed on a live web dashboard.

How it was built

The tracker uses an ESP32, an IMU, an OLED display, and a 4x4 keypad. The IMU detects motion to count steps, the OLED shows BMI data, and the ESP32 hosts a simple web server for viewing step and calorie counts in real time and takes input and gives output for the whole system. The system was coded in the Arduino IDE.

Challenges I ran into

One of the biggest challenges was managing pin assignments on the ESP32, since several components share I²C communication. Another was filtering noisy accelerometer data to detect steps accurately. The casing sizing also had to be constantly adjusted to fit the jumper wires and machinery inside the fitness tracker as well.

Proud Accomplishments

We successfully created a fully functional fitness tracker that works wirelessly, logs real-time step data, and calculates BMI all on a single ESP32. The seamless integration of hardware and software was a big achievement. The casing design was very seamless, I think with more time we would've been able to make it look perfect.

What I learned

This project strengthened our understanding of I²C communication, real-time data handling, and ESP32 networking. I also learned how to optimize sensor readings and manage multiple inputs within a single embedded system.

What's next for the portable fitness tracker

Next, we plan to add more functions to the fitness tracker like heart rate monitoring, and possibly Bluetooth connectivity for mobile app integration. We also want to make the design more compact and wearable.

Built With

Share this project:

Updates

Submission history