Skip to content

sw1tchblade/Smart_Rep

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

41 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SmartRep: A Wireless Fitness Coach for Bangle.js 1

SmartRep is a modular smartwatch application developed for the Bangle.js 1. It tracks strength exercises in real-time using motion data and provides immediate visual and haptic feedback. Designed for hands-free operation, SmartRep helps users focus on form and reps without needing a phone or screen interaction.


🎯 Project Overview

This app was developed as part of an academic project at UniversitΓ€t Siegen. The goal was to build a lightweight, fully on-watch fitness tracker using the Bangle.js 1. It is capable of detecting and counting repetitions for multiple strength-based exercises using built-in accelerometer data and logic derived from lightweight machine learning models.


πŸ’ͺ Supported Exercises

  • Bench Press
  • Bicep Curls
  • Cable Rows
  • Lateral Raise
  • Push-Up
  • Shoulder Press
  • Triceps Pushdown
  • Squats

πŸš€ Features

  • Clean green-and-black UI theme
  • Scrollable exercise list (BTN1 & BTN3)
  • Repetition target selection
  • Circular animated progress display
  • Vibration and screen flash after set completion
  • Modular architecture for easy extension
  • Works fully offline on Bangle.js 1

🧠 How Rep Detection Works

  1. Data Collection: Raw accelerometer data (X, Y, Z) was collected for each exercise.
  2. ML Model Design: ML classifiers (Decision Tree, Random Forest, KNN) were tested on motion features.
  3. Threshold Conversion: Models were converted into rule-based motion thresholds.
  4. Real-Time Execution: The final rep detection logic is optimized to run live on the watch.

πŸ“‚ File Structure

SmartRep/
β”œβ”€β”€ smartrep.app.js         # UI and navigation controller
β”œβ”€β”€ logic/                  # Individual exercise detection files
β”‚   β”œβ”€β”€ bench_press.js
β”‚   β”œβ”€β”€ bicep_curls.js
β”‚   β”œβ”€β”€ cable_rows.js
β”‚   β”œβ”€β”€ lateral_raise.js
β”‚   β”œβ”€β”€ pushup.js
β”‚   β”œβ”€β”€ shoulder_press.js
β”‚   β”œβ”€β”€ squats.js
β”‚   └── triceps_pushdown.js
β”œβ”€β”€ srlogo.png              # App logo (inspired by Omnitrix)
β”œβ”€β”€ metadata.json           # App descriptor for Bangle.js App Loader

πŸ“² How to Install

  1. Go to the Bangle.js App Loader.
  2. Select "Upload App".
  3. Upload the following:
    • smartrep.app.js
    • metadata.json
    • srlogo.png
    • The entire logic/ folder
  4. Flash the app to your Bangle.js 1 watch.
  5. Press BTN1 and BTN3 to scroll. BTN2 to select and start.

πŸ‘¨β€πŸ’» Authors

  • Lakhan Singh
  • Aakash Deshmukh
  • Mohit Bishnoi

Note: Built for academic use and personal fitness tracking.


Note: SmartRep runs entirely on-watch. No Bluetooth, phone, or server is needed during exercise.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published