TECHNICAL TASK
Project: Strength Exercise Tracking System
Version: MVP 1.0
⸻
1. Purpose
To implement stable software interaction between:
• Athlete's wristband (Wrist Unit)
• Up to 10 motion sensors (Weight Sensors)
• Mobile application (iOS / Android)
The system must:
• Identify the active sensor
• Synchronize the movement of the wristband and the sensor
• Transmit data to the application
• Calculate basic exercise metrics
⸻
2. System Architecture
2.1 Components
1️⃣ Wrist Unit (wristband)
• IMU (accelerometer + gyroscope)
• BLE module
• Unique ID
• Sampling frequency: 50–100 Hz
2️⃣ Weight Sensor (sensor on dumbbell/barbell)
• IMU
• BLE
• Unique ID
• Magnetic or mechanical attachment
• Sampling frequency: 50–100 Hz
3️⃣ Mobile application
• BLE Central
• Data processing
• Visualization
• Workout logging
⸻
3. Interaction Protocol
3.1 Type of Communication
Bluetooth Low Energy (BLE 5.0)
3.2 Roles
• Wristband — Peripheral
• Sensors — Peripheral
• Smartphone — Central
⸻
4. Operation Logic
4.1 Starting the Workout
1. The user opens the application
2. The application scans for available BLE devices
3. Displays the list:
• Wrist Unit (1)
• Weight Sensors (up to 10)
4. The user connects:
• Their wristband
• Selected sensors
⸻
4.2 Identifying the Active Sensor
Algorithm:
1. The wristband registers arm movement
2. The sensor registers weight movement
3. The application:
• Compares timestamps
• Correlates IMU signals
4. If correlation > specified threshold → sensor is active
6.1 MVP Metrics
The programmer must implement:
• Repetition detection
• Repetition tempo
• Time under tension (TUT)
• Movement amplitude
• Pause between sets
⸻
6.2 Repetition Detection
Repetition =
1. Upward movement (positive phase)
2. Peak
3. Downward movement (negative phase)
4. Reaching the baseline position
Method:
• Peak analysis along the main movement axis
• Noise filtering (low-pass filter)
• Threshold amplitude
⸻
7. Synchronization
Mandatory:
• All devices must synchronize time via smartphone
• Drift compensation every 30 seconds
• Maximum error ≤ 10 ms
⸻
8. Connection Stability
The programmer must:
• Implement auto-reconnect
• Handle packet loss
• Log % packet loss
• Buffering on the device (2–5 seconds)
⸻
9. Calibration
At first launch:
1. The user stands still
2. The gravitational axis is determined
3. A zero point is established
⸻
10. Security
• Encryption of BLE connection
• Authorization via session token
• Binding sensors to account
⸻
11. Non-functional Requirements
• Transmission delay ≤ 100 ms
• Connection to 10 sensors simultaneously
• Operation for 90+ minutes without interruption
• Battery consumption optimized
⸻
12. What the Programmer Needs to Implement
Firmware:
• BLE service
• Packet formation
• Timestamp
• Buffering
• OTA update support
Mobile:
• BLE scanning
• Device management
• Stream synchronization
• Correlation algorithm
• Repetition detection
• Workout logging