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
- arduino
- esp32

Log in or sign up for Devpost to join the conversation.