BLE Fitness Tracker
Budget: $25 – $50 USD
I’m building a wrist-worn fitness tracker and need the core firmware that turns raw motion into useful, low-power BLE data. The hardware is set around an nRF52832 (I can also test on nRF52840 or ESP32-C3) with an MPU6050 accelerometer.
What I need you to do
The MCU should wake every 100 ms, sample the MPU6050 at 50–100 Hz, detect steps with a lightweight peak- or threshold-based routine, and drop back to deep-sleep between windows. Every second the device advertises or, when connected, pushes a proprietary custom packet through a Custom BLE Service/Characteristic that carries: step count for the interval, a rough battery percentage, and an overall motion-intensity byte. All radio activity must use BLE Low Energy features only, keeping current draw to a minimum.
A quick outline of the finished result
• Fully-commented C/C++ source, ready to build with Nordic SDK (or ESP-IDF if you prefer).
• linker, sdk_config, and board files set for nRF52832.
• A small host script or nRF Connect template that shows the custom packet arriving once per second.
• Measured average current (bench or O-scope capture) in advertising and connected modes that proves we’re comfortably inside typical wristband power budgets.
I’ll take care of enclosure, DFU, and final calibration once your code is in place; just make sure the firmware is modular enough for future algorithm tweaks. If this sounds straightforward, let’s talk about milestones and get the tracker counting.
What I need you to do
The MCU should wake every 100 ms, sample the MPU6050 at 50–100 Hz, detect steps with a lightweight peak- or threshold-based routine, and drop back to deep-sleep between windows. Every second the device advertises or, when connected, pushes a proprietary custom packet through a Custom BLE Service/Characteristic that carries: step count for the interval, a rough battery percentage, and an overall motion-intensity byte. All radio activity must use BLE Low Energy features only, keeping current draw to a minimum.
A quick outline of the finished result
• Fully-commented C/C++ source, ready to build with Nordic SDK (or ESP-IDF if you prefer).
• linker, sdk_config, and board files set for nRF52832.
• A small host script or nRF Connect template that shows the custom packet arriving once per second.
• Measured average current (bench or O-scope capture) in advertising and connected modes that proves we’re comfortably inside typical wristband power budgets.
I’ll take care of enclosure, DFU, and final calibration once your code is in place; just make sure the firmware is modular enough for future algorithm tweaks. If this sounds straightforward, let’s talk about milestones and get the tracker counting.