Firmware for my barbell "lifting clip" project. The goal is to track rep count, bar velocity, acceleration, and range of motion, then stream that data over Bluetooth to a phone app.
- ESP32-S3 WROOM
- MPU6050 IMU
- VL53L1X ToF sensor
- Breadboard + jumper wires for now
- Power over USB-C (working on a custom PCB next)
- Basic firmware setup on ESP32-S3 (PlatformIO)
- Reading raw values from the IMU and ToF sensor
- Sending test data over BLE to a phone
- Serial output for quick debugging/logging
- Cleaning up sensor drivers
- Adding filtering (probably a simple moving average or complementary filter)
- Packaging data into a BLE characteristic
- Designing a PCB in KiCad to replace the breadboard setup
- Clone this repo
- Install PlatformIO
- Plug in ESP32-S3 board
- Run
pio run -t uploadto flash - Run
pio device monitorto see serial output
src/– main firmware (currentlymain.cpp)include/– headers/configlib/– sensor drivers or external libstest/– future unit testshardware/– PCB design files (WIP)docs/– wiring diagram, notes, and screenshots
- Breadboard prototype photo:
- Short video demo (bar movement + serial output):
- Screenshot of app receiving BLE packets:
- Finish basic filtering
- Clean BLE service with real metrics
- Add OTA updates + config storage
- Fabricate first PCB and do bring-up testing