Flashie

Troubleshooting Guide

Common issues and solutions for firmware flashing with Flashie.

No serial port is listed

  1. Ensure your board is connected via a USB data cable (not a charge-only cable).
  2. Install the appropriate USB-to-serial driver (CH340, CP2102, or FTDI).
  3. Check Device Manager (Windows) or run lsusb (Linux/Mac) to see if the device is detected.
  4. Try a different USB port on your computer.
  5. Restart your browser and try again.

Flashing starts but fails mid-way

  1. Your board may have exited bootloader mode. Re-enter bootloader mode and try again.
  2. The USB cable may be unstable. Try a shorter or higher-quality cable.
  3. Close other applications that might be using the serial port (Arduino IDE, serial monitors).
  4. Try a different USB port (preferably USB 2.0).

Failed to download manifest.json

  1. Verify the manifest URL is correct by opening it directly in your browser.
  2. Ensure the manifest file exists in the public/projects/ directory.
  3. If using GitHub Pages, wait for the deployment to complete (can take 2-3 minutes).
  4. Clear your browser cache and perform a hard refresh (Ctrl+F5).
  5. Check that the file paths use the correct case (GitHub Pages is case-sensitive).

Flash button says 'Browser not supported'

  1. Switch to Google Chrome or Microsoft Edge (version 89 or later).
  2. Update your browser to the latest version.
  3. Mobile browsers do not support the Web Serial API. Use a desktop/laptop computer.

Flash button says 'HTTPS required'

  1. Access Flashie via HTTPS or localhost.
  2. If running locally, use http://localhost instead of http://127.0.0.1.
  3. For remote access, ensure your site is served over HTTPS.

ESP32 not entering bootloader mode

  1. Hold the BOOT button, press EN once, then release BOOT — timing matters.
  2. Some ESP32 dev boards have an auto-reset circuit. Try pressing BOOT alone while the flash begins.
  3. Check that the BOOT button is connected to GPIO0 (not EN).
  4. Try connecting GPIO0 to GND manually with a jumper wire.

Troubleshooting

Failed to download manifest

This error occurs when the manifest.json file cannot be fetched. Verify the manifest URL in your project configuration points to the correct file path. Check that the file exists in the public/projects/<project>/ directory and that GitHub Pages has deployed the latest changes. Clear your browser cache and try again.

Flashing connection failures

Connection failures usually mean the board is not in bootloader mode. For ESP32, hold the BOOT button, press EN, then release BOOT. For ESP8266, connect GPIO0 to GND before powering on. Also check that you selected the correct serial port and that no other program (like Arduino IDE) is using it.

GitHub Pages 404 errors

404 errors on GitHub Pages often indicate incorrect file paths. Ensure your manifest.json path starts with a forward slash and points to the correct location under the public/ folder. Remember that GitHub Pages is case-sensitive. File paths in manifests and firmware references must match exactly.

Incorrect firmware paths

Firmware paths in the manifest.json are relative to the manifest file location. For example, if your manifest is at /projects/my-project/manifest.json and firmware is at /projects/my-project/firmware/firmware.bin, the path in manifest should be firmware/firmware.bin (not absolute).

Browser cache issues

Outdated cache can cause stale manifests or firmware to be served. Perform a hard refresh (Ctrl+F5 or Cmd+Shift+R) to bypass the cache. Alternatively, open DevTools, go to the Network tab, and check 'Disable cache'. For persistent issues, clear all site data in Chrome settings.

USB driver problems

Many ESP32/ESP8266 boards use CH340 or CP2102 USB-to-serial chips. Windows may need drivers: download CH340 drivers or CP2102 drivers from the manufacturer. On macOS and Linux, these usually work out of the box. For STM32 boards, you may need the Zadig tool to install WinUSB drivers for DFU mode.