A bike computer based on LilyGO T-RGB:
- 480px round RGB TouchDisplay
- ESP32-S3 microcontroller with Bluetooth LE and WiFi
- SD Card
- Battery connector incl. charging logic
Compile and upload with platformio.
- Connect to CSC Cadence
- Connect to heart rate
- Connect to TrailBridge app (navigation + GPS position)
- connect to CSC speed
- connect to Forumslader Classic via my BLE gateway
- Write debug information to logfiles
- Write raw forumslader data to logfiles
- Replay FL log file
- User Interface for replay
- Write summary in binary logfile
- Python Scripts to convert binary logfile to CSV and to LineProtocol (influxdb)
- Integrate SimpleCLI
- Set loglevel by console and store them
- Configure WiFi from console
- basic debug/monitoring support (free heap etc.)
- Connect to WiFi
- Give static overview and server logfiles
- Delete/Cleanup logfiles (integrated, but does not work yet)
- WIP: Charts on Webserver
- Debug Information on Webserver
- Initialize RGB display
- Merge and refactor existing UI from my T-RGB Experiments (speed, FL batterie, heart rate, FL details, IP Adress)
- Add Navigation Screen
- WIP: Implement all navigation items (roundabouts are still missing, all others ok)
- WIP: Show basic statistics
- Add very simple screen (in bright theme for better readability in direct sunlight)
- Add screen for more detailed information
- Show connection information on screeen
- Create case model for 3D-printer (done for standard handlebar incl. space for 2 USB-A sockets ("Forumslader variant")
- Create mount for trekking handle bar
- Create mount for Canyon double decker bar
- robust webserver for data download
- Improve statistics (e.g. graphs )
- better User Interface
- Animations on display (e.g driving state, heart rate)
- Configuration via Webserver (wheel diameter etc.)
- Configuration via Display (wheel diameter etc.)
- manage BLE devices via Webserver (show connection state, batterie level, delete connection)
- improve handling of CSC devices: "Lock" connected devices and only allow adding new devices on demand. Also check if max 1 speed and max 1 cadence is connected
- read battery state of BLE devices (works fine, but no UI yet)
- manage BLE devices and show info via webserver
- add additional sensors (barometer/temperature, gyro/inertial)
- use gyro/inertial sensor data
- improve 3D-printable mounts
- AP Mode for Wifi for first setup (simple AP mode for download may be prio 1)
- even better User Interface
- add better 3D-printable mounts, also for other handlebars
- even better use of gyro/inertial sensor data
.. documentation work in progress ..
Navigation comes from TrailBridge, a companion Android app that reads OsmAnd's turn-by-turn instructions and forwards them to the bike computer over BLE using a documented TLV protocol (see TrailBridge's PROTOCOL.md). It replaces Komoot's now-discontinued BLE navigation service, which this project used originally.
TrailBridge also exposes the phone's raw GPS position over a second, independent BLE service (works even without OsmAnd running), which the bike computer logs to its binary datalog alongside its own sensors.
- TRGB-Bikecomputer connects to the first TrailBridge instance it sees (its BLE address isn't persisted/locked, since Android peripherals use a rotating address).
- no manual change to nav screen yet (automatic change if new navigation instruction arrives or if distance is < 250m)
Cycling icons created by Futuer - Flaticon Parked bicycles - Icon von Prashanth Rapolu 15
