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 device reads compact binary formats directly from storage. It does not convert JSON or XML while it operates.
Where to find what
Rendering pipeline
Projection, level of detail, quadtree culling, rasterization, and display output.
SoftwareSystem architecture
Runtime layers, host boundaries, the frame loop, and the routing seam.
SoftwareData formats
The OBCM, OBCR, ride, terrain, weather, catalog, and cell formats.
SoftwareThe UI system
Screens, input gestures, settings, overlays, and render-on-demand behavior.
HardwareHardware
The nRF54LM20 development platform and the reflective memory LCD.
The stack at a glance
| Layer | Crate / file | What it does |
|---|---|---|
| Map packer | obc-pack | Converts OSM PBF data to OBCM cells. |
| DEM baker | obc-dem | Converts Copernicus GLO-30 data to OBCD terrain cells. |
| Cell assembler | obcm-assemble | Combines OBCM and OBCD cells into one verified OBCM map. |
| Elevation | obc-elevation | Reads OBCT data and supplies shared elevation calculations. |
| Map reader | obc-reader | Reads OBCM indexes, styles, features, POIs, and navigation data. |
| Weather reader | obc-weather | Validates OBCW data and reads rain tiles. |
| Route reader | obc-route | Reads OBCR routes and provides conversion, matching, and profiles. |
| Renderer | obc-render | Draws maps without allocation. |
| Application | obc-app | Controls screens, input, navigation, and ride recording. |
| Simulator | obc-sim | Hosts the application on a desktop. |
| Web demo | obc-web-demo | Hosts the application in WebAssembly. |
| Conversion bridge | obc-web-convert | Converts GPX and OBCR data in the browser. |
| Assembly bridge | obc-web-assemble | Assembles 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.