OBC OpenBikeComputer / docs

OpenBikeComputer documentation

OpenBikeComputer is an open-source bikepacking computer. It provides offline maps, route navigation, and ride recording.

The device, simulator, and web demo use the same application and rendering code. These pages describe the system boundaries and data paths.

The whole pipeline ① Build a map ② Bring a route .osm.pbf OSM extract obc-pack Rust packer .obcm map · LOD pyramid .gpx your ride obc-route gpx → obcr .obcr route · profile obc-app obc-render one render path no_std · zero-alloc obc-sim · web demo desktop · browser LIVE device firmware nRF54LM20 · hardware live sensors GPS · baro · compass to the app
The tools convert maps and routes to compact binary files. The device, simulator, and web demo use the same application and rendering code. Device sensors supply live data.

The device reads compact binary formats directly from storage. It does not convert JSON or XML while it operates.

Where to find what

The stack at a glance

LayerCrate / fileWhat it does
Map packerobc-packConverts OSM PBF data to OBCM cells.
DEM bakerobc-demConverts Copernicus GLO-30 data to OBCD terrain cells.
Cell assemblerobcm-assembleCombines OBCM and OBCD cells into one verified OBCM map.
Elevationobc-elevationReads OBCT data and supplies shared elevation calculations.
Map readerobc-readerReads OBCM indexes, styles, features, POIs, and navigation data.
Weather readerobc-weatherValidates OBCW data and reads rain tiles.
Route readerobc-routeReads OBCR routes and provides conversion, matching, and profiles.
Rendererobc-renderDraws maps without allocation.
Applicationobc-appControls screens, input, navigation, and ride recording.
Simulatorobc-simHosts the application on a desktop.
Web demoobc-web-demoHosts the application in WebAssembly.
Conversion bridgeobc-web-convertConverts GPX and OBCR data in the browser.
Assembly bridgeobc-web-assembleAssembles and verifies map cells in the browser.

Start with System architecture. Then read Rendering pipeline and Data formats.

Scope

These pages explain architecture and behavior. The specs/ directory defines exact binary and wire contracts.