Flash Firmware

Install SpojBoard on a fresh board straight from your browser — no esptool, no command line.

Plug your board into this computer over USB, pick your variant below, and click Install. The flasher writes the bootloader, partition table, and firmware in one step.

⚠️ Browser support: Browser flashing uses the Web Serial API, available in Chrome, Edge, and Opera on desktop (not Firefox or Safari, and not on iOS). The page must be served over HTTPS — which it is here. On Linux you may need to add your user to the dialout group for serial access.

Choose Your Board

MatrixPortal S3

Adafruit MatrixPortal ESP32-S3 — built-in HUB75 connector and level shifters.

Your browser doesn't support Web Serial. Use Chrome, Edge, or Opera on desktop. Web Serial needs a secure (HTTPS) connection.

Generic ESP32-S3 (N8R2)

ESP32-S3-DevKitC-1 or similar (8MB flash, 2MB PSRAM) with manual HUB75 wiring.

Your browser doesn't support Web Serial. Use Chrome, Edge, or Opera on desktop. Web Serial needs a secure (HTTPS) connection.
Not sure which board you have? If it's an Adafruit board with a built-in HUB75 connector, it's the MatrixPortal S3. If you wired a generic ESP32-S3 dev board to the panels yourself, pick Generic ESP32-S3. The two builds differ only in the RGB channel order they default to, so the wrong one shows miscoloured output — recoverable from the Hardware tab without reflashing, though reflashing the right one is simpler.
⚠️ "Failed to connect" or it just times out? If a board is already running firmware, the ESP32-S3 usually needs to be put into download mode by hand before it will accept a flash:
  1. Hold down the BOOT button (labeled BOOT or B0).
  2. While holding it, tap RESET (or unplug and replug USB).
  3. Release BOOT.
  4. Click Install again and pick the same serial port.
When flashing finishes, press RESET once to boot the new firmware. A brand-new, never-flashed board normally starts in download mode already and connects without this dance.

After Flashing

When the install finishes, the display boots into WiFi setup mode and shows a SpojBoard-XXXX network to join. Continue with Step 3 of the Getting Started guide to connect it to your WiFi and configure departures.

Other Ways to Flash

  • Build from source: git clone the repo and run pio run -t upload with PlatformIO — it flashes everything over USB. See the Getting Started guide.
  • Updating an already-running device? You don't need to reflash over USB — use the built-in web interface (Check for Updates) or the GitHub OTA. The .bin files on the Releases page are application images for these over-the-air updates, not for first-time USB flashing.