An open source bike computer based on Raspberry Pi Zero (W, WH) with GPS and ANT+. Including offline map and navigation.

Overview

title

Pi Zero Bikecomputer

An open-source bike computer based on Raspberry Pi Zero (W, WH) with GPS and ANT+

https://github.com/hishizuka/pizero_bikecomputer

News

  • 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

Table of Contents

Abstract

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.

Daily update at twitter (@pi0bikecomputer), and my cycling activity at STRAVA.

system-01-202106

system-02

Features

  • 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 and git command.
  • Customization

    • Need only modules you want to use. Pi Zero Bikecomputer detects your modules.
  • Easy to develop

    • Pi Zero Bikecomputer uses same libraries as for standard Linux.
    • So, you can run in cross platform environments such as Raspberry Pi OS, some Linux, macOS and Windows.
  • Good balance between battery life and performance

Specs

Some functions depend on your parts.

General

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.

Logging

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

Sensors

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.

Positioning

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
  • Map with Toner Map
    • Very useful with 2 colors displays (black and white).
  • Map with custimized Mapbox
    • Use 8 colors suitable for MIP Reflective color LCD.
  • Course profile

GUI

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
  • Performance graph
  • Language localization(Japanese)

Experimental functions

ANT+ multiscan

it displays three of the people around you in the order in which you caught sensors using ANT+ continuous scanning mode.

Comparison with other bike computers

  • 200km ride with Garmin Edge 830 and Pizero Bikecomputer (strava activity)

  • title-03.png

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

Hardware Installation

See hardware_installation.md.

Software Installation

See software_installation.md.

Q&A

License

This repository is available under the GNU General Public License v3.0

Author

hishizuka (@pi0bikecomputer at twitter, pizero bikecomputer at STRAVA)

Pytorch implementation of TailCalibX : Feature Generation for Long-tail Classification

TailCalibX : Feature Generation for Long-tail Classification by Rahul Vigneswaran, Marc T. Law, Vineeth N. Balasubramanian, Makarand Tapaswi [arXiv] [

Rahul Vigneswaran 34 Jan 02, 2023
JAX bindings to the Flatiron Institute Non-uniform Fast Fourier Transform (FINUFFT) library

JAX bindings to FINUFFT This package provides a JAX interface to (a subset of) the Flatiron Institute Non-uniform Fast Fourier Transform (FINUFFT) lib

Dan Foreman-Mackey 32 Oct 15, 2022
🐦 Opytimizer is a Python library consisting of meta-heuristic optimization techniques.

Opytimizer: A Nature-Inspired Python Optimizer Welcome to Opytimizer. Did you ever reach a bottleneck in your computational experiments? Are you tired

Gustavo Rosa 546 Dec 31, 2022
Image-based Navigation in Real-World Environments via Multiple Mid-level Representations: Fusion Models Benchmark and Efficient Evaluation

Image-based Navigation in Real-World Environments via Multiple Mid-level Representations: Fusion Models Benchmark and Efficient Evaluation This reposi

First Person Vision @ Image Processing Laboratory - University of Catania 1 Aug 21, 2022
Incremental Cross-Domain Adaptation for Robust Retinopathy Screening via Bayesian Deep Learning

Incremental Cross-Domain Adaptation for Robust Retinopathy Screening via Bayesian Deep Learning Update (September 18th, 2021) A supporting document de

Taimur Hassan 1 Mar 16, 2022
Save-restricted-v-3 - Save restricted content Bot For telegram

Save restricted content Bot Contact: Telegram A stable telegram bot to get restr

DEVANSH 11 Dec 21, 2022
Semi-Supervised Learning, Object Detection, ICCV2021

End-to-End Semi-Supervised Object Detection with Soft Teacher By Mengde Xu*, Zheng Zhang*, Han Hu, Jianfeng Wang, Lijuan Wang, Fangyun Wei, Xiang Bai,

Microsoft 789 Dec 27, 2022
Pytorch implementation of 'Fingerprint Presentation Attack Detector Using Global-Local Model'

RTK-PAD This is an official pytorch implementation of 'Fingerprint Presentation Attack Detector Using Global-Local Model', which is accepted by IEEE T

6 Aug 01, 2022
This repository is the official implementation of Open Rule Induction. This paper has been accepted to NeurIPS 2021.

Open Rule Induction This repository is the official implementation of Open Rule Induction. This paper has been accepted to NeurIPS 2021. Abstract Rule

Xingran Chen 16 Nov 14, 2022
Code for "Adversarial Attack Generation Empowered by Min-Max Optimization", NeurIPS 2021

Min-Max Adversarial Attacks [Paper] [arXiv] [Video] [Slide] Adversarial Attack Generation Empowered by Min-Max Optimization Jingkang Wang, Tianyun Zha

Jingkang Wang 12 Nov 23, 2022
Count GitHub Stars ⭐

Count GitHub Stars per Day ⭐ Track GitHub stars per day over a date range to measure the open-source popularity of different repositories. Requirement

Ultralytics 20 Nov 20, 2022
Mini-hmc-jax - A simple implementation of Hamiltonian Monte Carlo in JAX

mini-hmc-jax This is a simple implementation of Hamiltonian Monte Carlo in JAX t

Martin Marek 6 Mar 03, 2022
Spatial Transformer Nets in TensorFlow/ TensorLayer

MOVED TO HERE Spatial Transformer Networks Spatial Transformer Networks (STN) is a dynamic mechanism that produces transformations of input images (or

Hao 36 Nov 23, 2022
UpChecker is a simple opensource project to host it fast on your server and check is server up, view statistic, get messages if it is down. UpChecker - just run file and use project easy

UpChecker UpChecker is a simple opensource project to host it fast on your server and check is server up, view statistic, get messages if it is down.

Yan 4 Apr 07, 2022
A lightweight library to compare different PyTorch implementations of the same network architecture.

TorchBug is a lightweight library designed to compare two PyTorch implementations of the same network architecture. It allows you to count, and compar

Arjun Krishnakumar 5 Jan 02, 2023
Using OpenAI's CLIP to upscale and enhance images

CLIP Upscaler and Enhancer Using OpenAI's CLIP to upscale and enhance images Based on nshepperd's JAX CLIP Guided Diffusion v2.4 Sample Results Viewpo

Tripp Lyons 5 Jun 14, 2022
Defocus Map Estimation and Deblurring from a Single Dual-Pixel Image

Defocus Map Estimation and Deblurring from a Single Dual-Pixel Image This repository is an implementation of the method described in the following pap

21 Dec 15, 2022
Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting

Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting This is the origin Pytorch implementation of Informer in the followin

Haoyi 3.1k Dec 29, 2022
Zero-shot Synthesis with Group-Supervised Learning (ICLR 2021 paper)

GSL - Zero-shot Synthesis with Group-Supervised Learning Figure: Zero-shot synthesis performance of our method with different dataset (iLab-20M, RaFD,

Andy_Ge 62 Dec 21, 2022
Website for D2C paper

D2C This is the repository that contains source code for the D2C Website. If you find D2C useful for your work please cite: @article{sinha2021d2c au

1 Oct 21, 2021