Repository navigation
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.
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.
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 # firmwareAll 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.
The device reboots into setup mode and opens its own WiFi access point — continue with Setup and daily use.
Using it
Hardware
- Supported boards
- M5StickC Plus
- M5StickC Plus2
- LilyGo T-Display S3
- LilyGo T8 ESP32-S2
- CrowPanel Advance 3.5"
- T-Display S3 AMOLED
- TTGO T-Display
- ESP32-C3-OLED
Under the hood