20251HC1: Fitness Watch

black aluminum case Apple Watch and black Fitbit charge 2
Photo by Andres Urena / Unsplash

Brief Description & Functionality

A fitness watch using Arduino is a compact, wearable electronic device designed to monitor and display basic health and activity metrics such as steps walked, heart rate, and optionally time or calories burned. Built using affordable sensors and microcontrollers, this DIY project replicates the core features of commercial fitness bands in a customizable and educational way.

The device integrates motion sensing (via an accelerometer), heart rate sensing (using an optical pulse sensor), and a display to show real-time data. It can be powered by a small rechargeable battery and housed in a wrist-mounted enclosure, making it a fully portable wearable gadget.

đź§° Components Needed

Here’s a list of parts for a basic fitness watch:

Component Description
Arduino Nano R3 Main microcontroller board
MPU6050 6-axis accelerometer + gyroscope for step counting
MAX30102 Heart rate & SpOâ‚‚ (blood oxygen) sensor
OLED Display (0.96" I²C) Displays step count, BPM, SpO₂, and time
DS3231 RTC (optional) Real-Time Clock for timekeeping
Li-Po Battery (3.7V) Portable power source
TP4056 Module Battery charging module
Resistors, wires, protoboard/PCB For circuit connections
3D-printed or plastic enclosure To wear it on the wrist

Here are some core components you’ll need to build the fitness watch:

Arduino Nano R3 board

Classic Arduino Nano boardArduino Nano R3 board

MPU‑6050 accelerometer/gyro

6‑axis motion sensor moduleMPU‑6050 accelerometer/gyro

MAX30102 heart‑rate & SpO₂ sensor

Pulse‑oximeter sensor moduleMAX30102 heart‑rate & SpO₂ sensor

  • Arduino Nano R3 board – Compact and cost‑effective microcontroller board for your project.
  • MPU‑6050 accelerometer/gyro – Motion tracking to count steps and detect activity.
  • MAX30102 heart‑rate & SpOâ‚‚ sensor – Optical sensor module to monitor heart rate and blood oxygen levels.

🛠️ Basic Features

  1. Step Counter – Use accelerometer axis data to detect steps (double‑threshold or simple peak detection).
  2. Heart Rate Monitor – Use MAX30102 reading with a heart‑rate algorithm (e.g. pulse detection libraries).
  3. Display – Show time, steps, and heart rate (BPM) on OLED, updating periodically.
  4. Timekeeping – Use an RTC module (like DS3231) to keep time.

🚀Written Tutorials & Project Guides

đź’» Example Code Modules

  • Wire.h – For I2C communication
  • Adafruit_SSD1306.h – For OLED
  • Adafruit_MPU6050.h or custom step-counting logic
  • MAX3010x library – For heart rate sensor
  • RTClib.h – For DS3231
  • Accelerometer reading via Adafruit_MPU6050, or generically from MPU6050.
  • MAX30102 using MAX3010x library and pulse detection.
  • Adafruit_SSD1306 for the display.

🎥 Learn from Video Tutorials

đź§© Simple Workflow

  • Pick your board & sensors (Arduino Nano, MPU6050, MAX30102, OLED).
  • Wire sensors to board following I²C pinouts.
  • Install necessary Arduino libraries:Adafruit_MPU6050 / WireMAX30105 (or MAX30102), heartRate.hAdafruit_SSD1306
  • Start simple: read accelerometer and show step count; integrate heart rate next.
  • Build enclosure—3D print a case or use watch band holders to make it wrist‑worn.
  • Refine power usage, add battery and charging module (e.g. LiPo + TP4056).

🚀Circuit Diagram

🧑‍🔧Skills Required

  1. Arduino programming (C/C++)
  2. Circuit simulation
  3. PCB design
  4. PCB milling
  5. Manual soldering
  6. SMT soldering
  7. Electronic testing
  8. CAD modelling
  9. 3D printing (FDM)