An open-source bike computer based on Raspberry Pi Zero (W, WH, 2 W) with GPS and ANT+.
https://github.com/hishizuka/pizero_bikecomputer
- 2024/6/21 Changed the value for
display
insetting.conf
when using JDI/Sharp MIP LCD. Seemodules/display/display_core.py
for setting values.MIP_JDI_color_400x240
MIP_JDI_color_640x480
MIP_Azumo_color_272x451
(WIP)MIP_Sharp_mono_400x240
MIP_Sharp_mono_320x240
- 2024/6/21 Vertical layouts is avaiable. Set from the initial display resolution at startup. If you want to try it in a desktop environment, change
DEFAULT_RESOLUTION
inmodules/display/display_core.py
. For individual hardware displays, specify the appropriate value.
- Abstract
- Features
- Specs
- Comparison with other bike computers
- Hardware Installation
- Software Installation
- Q&A
- License
- Author
- Link
Pi Zero Bikecomputer is a GPS and ANT+ bike computer based on Raspberry Pi Zero(W, WH, 2 W). This is the first DIY project in the world integrated with necessary hardwares and software 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 | Support | Detail |
---|---|---|
Logging | Yes | See below. |
Sensors | Yes | ANT+ sensors and I2C sensors. See below. |
Maps and navigations | Yes | A GPS module or the Android app GadgetBridge is required. See below. |
GUI | Yes | Implemented using PyQt. See below. |
Wifi & Bluetooth | Yes | Using built-in modules. |
Smartphone connections | Yes | Android only. Mirroring notifications and getting locations via GadgetBridge. |
Battery life(Reference) | 18h | with 3100mAh mobile battery(Garmin Charge Power Pack) and MIP Reflective color LCD. |
Specs | Support | Detail |
---|---|---|
Stopwatch | Yes | Timer, Lap, Lap timer |
Average value | Yes | [Total, Lap ave, Pre lap ave] x [HR, Speed, Cadence, Power], [3s, 30s, 60s] x [HR, Power] |
Cumulative value | Yes | [Total, Lap, Pre lap] x [Distance, Works, Ascent, Descent] |
Gross | Yes | Elapsed time, gross 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 | Recording continues even if the power is suddenly turned off and restored. |
Output .fit log file | Yes | The standard format used by famous services as Strava and Garmin Connect. Also .csv format output is supported. |
Upload | Yes | Strava, Garmin and Ride with GPS. |
Live Track | Yes | Track data is uploaded in real time to ThingsBoard.io dashboard service, so you can share your activity with friends and family. |
USB dongle is required if using ANT+ sensors.
Specs | Support | Detail |
---|---|---|
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. |
ANT+ Environment | Yes | Garmin tempe (temperature sensor) |
Bluetooth sensors | No | developping now... |
Barometric altimeter | Yes | I2C sensor(pressure, temperature) |
Accelerometer | Yes | I2C sensor |
Magnetometer | Yes | I2C sensor |
Light sensor | Yes | I2C sensor. Use for auto backlight and lighting. |
Specs | Support | Detail |
---|---|---|
GPS module | Yes | UART GPS module(via GPSd) and I2C GPS are supported. |
Positioning from smartphones | Yes | Using the Android app GadgetBridge. |
Map | Yes | Support raster map tile format like OSM (z/x/y.png or jpg). So, offline map is available with local caches. Also, raster .mbtile format is supported. |
Course on the map | Yes | Local file(.tcx), or cloud course from Ride with GPS with internet connection. |
Search route | Yes | Google Directions API |
Course profile | Yes | |
Detect climbs | Yes | Like Garmin ClimbPro. Only climbs on the course, not detect nearby climbs. |
Cuesheet | Yes | Use course points included in course files(.tcx). |
Map overlay | Yes | Heatmap (Strava / Ride with GPS) and weather(rain / wind). |
Strava heatmap.
RainViewer and openportguide are available worldwide.
In Japan, 気象庁降水ナウキャスト(rain) and SCW(wind) are available.
Specs | Detail | Note |
---|---|---|
Basic page(values only) | Yes | |
Graph | Yes | Altitude and performance(HR, PWR, W prime balance) |
Customize data pages | Yes | With layout.yaml |
ANT+ pairing | Yes | |
Select course | Yes | local .tcx file and Ride with GPS. |
Upload activity | Yes | Strava, Garmin and Ride with GPS. |
Select map | Yes | maps and overlays(heatmap and weather) |
Adjust parameter | Yes | wheel size, altitude, CP and W prime balance |
Network setting | Yes | Toggle wifi and BT, BT tethering. |
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.
-
314km ride with GARMIN Edge Explore 2 and Pizero Bikecomputer (strava activity)
Items | Edge830 | Pi Zero Bikecomputer |
---|---|---|
Distance | 313.7 km | 314.3 km |
Work | 3,889 kJ | 3,926 kJ |
Moving time | 12:03 | 12:04 |
Total Ascent | 2,271 m | 1,958 m |
This repository is available under the GNU General Public License v3.0
hishizuka (@pi0bikecomputer at twitter, pizero bikecomputer at STRAVA)