Device setup
There are two parts, both handled here in the browser: flashing the firmware onto the head unit over USB, and building offline map tiles for its SD card. Everything runs locally on your computer — no data is uploaded.
01 — Flash firmware
This writes the firmware to the head unit directly from the browser over a USB cable, using the Web Serial API — no separate installer or command line. It runs entirely on your computer; nothing is uploaded.
Plug it into your computer with a USB-C cable. Put it in flashing mode:
hold BOOT, tap RESET, then
let go of BOOT. Click Connect and pick the
usbmodem / USB Serial port that appears.
Pick a version from the dropdown. The newest is already selected, so you can usually leave it as-is.
The latest release is selected by default.
Click Flash firmware and wait for it to finish — it takes about a minute. When it’s done, tap RESET on the head unit and it boots into the new firmware.
02 — Generate an offline map
Pick an area and the browser bakes the very same H3 map tiles the companion app builds — one .ebm per hexagon under /maps/tiles/<area>/ on the SD card. Everything runs locally from OpenStreetMap data (via Overpass); nothing is uploaded.
Pan and zoom to where you ride, then Draw a box (drag across the map) or Use current view. Keep it modest — a city or a county is fine; a whole state is too much data for one download.
Pan and zoom to your area, then draw a box or use the current view.
Click Generate map — it fetches the roads for your area and bakes the
.ebm right here in your browser.
Download the tiles, then unzip onto the SD card’s root and they land in
/maps/tiles automatically — over the built-in USB-drive mode, or with
a card reader. They show up on the map screen the next time you ride through that area.
03 — On the bike
The head unit doesn’t come with a mount, but it doesn’t need a custom one either: stick a Garmin-style quarter-turn adapter on the back and it clips into any Garmin-compatible bike mount. (I tried 3D-printing a mount first and gave up — the adhesive adapters below are cheaper than the filament I wasted and hold better.) This is what I ride with:
You’ll also want a microSD card — it holds the offline map tiles from step 02 plus your recorded rides, and doubles as a USB drive when the head unit is plugged into a computer. Any name-brand card works; 32 GB, formatted FAT32 (how 32 GB cards ship) is more space than the maps will ever use.
04 — SD card files
The device uses ordinary files and folders. The app transfers them over Bluetooth, but you can also manage the card directly.
Folders are created as they are needed. Copy routes, workouts and firmware updates to the paths shown here.
/
├── rides/
│ └── YYYYMMDD-HHMMSS.fit
├── routes/
│ └── *.gpx
├── workouts/
│ └── *.erg or *.mrc
├── maps/
│ ├── tiles/
│ │ └── 862830/
│ │ └── 827ffffff.ebm
│ └── *.ebm
├── config/
│ └── dashboard.cfg
├── logs/
│ └── YYYYMMDD.log
└── firmware.bin
/logs
Daily diagnostic logs.
/firmware.bin
Only used for SD-card-based OTA updates. Other update methods do not require you to add this file.