Skip to content

Flashing

github-actions[bot] edited this page Aug 28, 2026 · 4 revisions

Flashing

Two ways to get the firmware onto a board. The web flasher needs nothing installed; building from source is for development or for boards whose CI build isn't published yet.

From your browser (recommended)

Open the web flasher, pick your board, plug it in over USB-C, and click Flash.

Requirements:

  • A browser with Web Serial: Chrome, Edge or Opera (89+), Firefox 151+, or Chrome on Android (138+). Safari doesn't implement it, and neither does any browser on iOS.
  • A USB-C data cable. Charge-only cables power the board but carry no data.
  • If the board isn't detected, hold BOOT while plugging it in to force download mode.

Firmware images are built from main by CI and published alongside the page, so the flasher always serves the current build. A board whose build hasn't landed is grayed out and labelled build pending.

From source

You need the PlatformIO CLI. Pick your board's env from Supported boards:

git clone https://github.com/oauramos/claude-usage-stick.git
cd claude-usage-stick

pio run -e <env> -t upload      # firmware

If a build fails

All eight envs build in CI. If one fails locally, it's usually the toolchain rather than the firmware — a known one is tdisplay-s3-amoled, which can fail while generating bootloader.bin if the Python running PlatformIO lacks the intelhex module (pip install intelhex).

CI treats each board independently: a board that fails to build is left out of the deploy and shows as build pending on the web flasher, while every other board still ships.

After flashing

The device reboots into setup mode and opens its own WiFi access point — continue with Setup and daily use.

Clone this wiki locally