An open-source bike computer based on Raspberry Pi Zero (W, WH) with GPS and ANT+
https://github.com/hishizuka/pizero_bikecomputer
- 2021/4/18 Please reinstall pyqtgraph when using python3-pyqt5 in Raspberry Pi OS (skip check if using).
- 2021/4/3 Please reinstall openant and pyqtgraph because both libraries are re-forked.
$ sudo pip3 uninstall pyqtgraph
$ sudo pip3 install git+https://github.com/hishizuka/pyqtgraph.git
$ sudo pip3 uninstall openant
$ sudo pip3 install git+https://github.com/hishizuka/openant.git
- Abstract
- Features
- Specs
- Comparison with other bike computers
- Hardware Installation
- Software Installation
- Q&A
- License
- Author
Pi Zero Bikecomputer is a GPS and ANT+ bike computer based on Raspberry Pi Zero(W, WH). This is the first DIY project in the world integrated with necesarry hardwares and softwares for modern bike computer. It measures and records position(GPS), ANT+ sensor(speed/cadence/power) and I2C sensor(pressure/temperature/accelerometer, etc). It also displays these values, even maps and courses in real-time. In addition, it write out log into .fit format file.
In this project, Pi Zero Bikecomputer got basic functions needed for bike computers. Next target is to add new functions which existing products do not have!
You will enjoy both cycling and the maker movement with Pi Zero Bikecomputer!
Here is detail articles in Japanese.
- I tried to make a bikecomputer, the result was pretty good
- Let's make a bikecomputer with Raspberry Pi Zero (W, WH)
Daily update at twitter (@pi0bikecomputer), and my cycling activity at STRAVA.
-
Easy to make
- Use modules available at famous Maker stores.
- Assemble in Raspberry Pi ecosystems.
- Install with basic commands such as
apt-get install
,pip
andgit
command.
-
Customization
- Need only modules you want to use. Pi Zero Bikecomputer detects your modules.
-
Easy to develop
-
Good balance between battery life and performance
Some functions depend on your parts.
Specs | Detail | Note |
---|---|---|
Logging | Yes | See as below |
Sensors | Yes | See as below |
Positioning | Yes | A GPS module is required. See as below. |
GUI | Yes | See as below |
Wifi | Yes | Built-in wifi |
Battery life(Reference) | 18h | with 3100mAh mobile battery(Garmin Charge Power Pack) and MIP Reflective color LCD. |
Specs | Detail | Note |
---|---|---|
Stopwatch | Yes | Timer, Lap, Lap timer |
Lap | Yes | [Total, Lap ave, Pre lap ave] x [HR, Speed, Cadence, Power] |
Cumulative value | Yes | [Total, Lap, Pre lap] x [Distance, Works, Ascent, Descent] |
Elapsed time | Yes | Elapsed time, average speed(=distance/elapsed time), gained time from average speed 15km/h(for brevet) |
Auto stop | Yes | Automatic stop at speeds below 4km/h(configurable), or in the state of the acceleration sensor when calculating the speed by GPS alone |
Recording insterval | 1s | Smart recording is not supported. |
Resume | Yes | |
Output .fit log file | Yes | |
Upload to STRAVA | Yes | |
Live sending | Yes | But I can't find a good dashboard service like as Garmin LiveTrack |
USB dongle is required if using ANT+ sensors.
Specs | Detail | Note |
---|---|---|
ANT+ heartrate sensor | Yes | |
ANT+ speed sensor | Yes | |
ANT+ cadence sensor | Yes | |
ANT+ speed&cadence sensor | Yes | |
ANT+ powermeter | Yes | Calibration is not supported. |
ANT+ LIGHT | Yes | Bontrager Flare RT only. |
ANT+ Control | Yes | Garmin Edge Remote only. |
Bluetooth sensors | No | |
Barometric altimeter | Yes | An I2c sensor(pressure, temperature) is required. |
Accelerometer | Yes | An I2c sensor is required. |
Magnetometer | Yes | An I2c sensor is required. |
Light sensor | Yes | An I2c sensor is required. For auto backlight and lighting. |
Specs | Detail | Note |
---|---|---|
Map | Yes | Support map tile format like OSM. So, offline map is available with local caches. |
Course on the map | Yes | A course file(.tcx) is required. |
Course profile | Yes | A course file(.tcx) is required. |
Cuesheet | Yes | Use course points included in course files. |
Search Route | Yes | Google Directions API |
Specs | Detail | Note |
---|---|---|
Basic page(values only) | Yes | |
Graph | Yes | Altitude and performance(HR, PWR) |
Customize data pages | Yes | With layout.yaml |
ANT+ pairing | Yes | |
Adjust wheel size | Yes | Set once, store values |
Adjust altitude | Yes | Auto adjustments can be made only once, if on the course. |
Language localization | Yes | Font and translation file of items are required. |
No GUI option | Yes | headless mode |
it displays three of the people around you in the order in which you caught sensors using ANT+ continuous scanning mode.
-
200km ride with Garmin Edge 830 and Pizero Bikecomputer (strava activity)
Items | Edge830 | Pi Zero Bikecomputer |
---|---|---|
Distance | 193.8 km | 194.3 km |
Work | 3,896 kJ | 3,929 kJ |
Moving time | 9:12 | 9:04 |
Total Ascent | 2,496 m | 2,569 m |
This repository is available under the GNU General Public License v3.0
hishizuka (@pi0bikecomputer at twitter, pizero bikecomputer at STRAVA)