Flashie

Flash firmware from your browser

Flashie lets you flash firmware to ESP32, ESP8266, STM32, and Arduino boards directly from Chrome or Microsoft Edge. No desktop software installation required.

Web Serial APIESP Web ToolsNo Install Required

Platform Statistics

4Firmware Projects
9Board Families
6Total Releases

Available Projects

4 of 4 projects

Featured Projects

ESP MQTT Controller

v2.1.02026-05-28
StableESP +2

A lightweight MQTT-based IoT controller for ESP32. Monitor sensors, control relays, and publish data to any MQTT broker with automatic reconnection and secure TLS support.

ESP32IoTMQTTSensor
1.8k

ESP BLE Sensor Hub

v1.3.22026-05-15
StableESP +1

Bluetooth Low Energy sensor hub for ESP32. Reads data from BLE-enabled temperature, humidity, and pressure sensors and forwards them via WiFi or serial output.

ESP32BLESensorTelemetry
1.3k

ESP MQTT Controller

v2.1.02026-05-28
StableESP +2

A lightweight MQTT-based IoT controller for ESP32. Monitor sensors, control relays, and publish data to any MQTT broker with automatic reconnection and secure TLS support.

ESP32IoTMQTTSensor
1.8k

ESP BLE Sensor Hub

v1.3.22026-05-15
StableESP +1

Bluetooth Low Energy sensor hub for ESP32. Reads data from BLE-enabled temperature, humidity, and pressure sensors and forwards them via WiFi or serial output.

ESP32BLESensorTelemetry
1.3k

STM32 USB HID

v1.0.12026-05-01
BetaSTM32F103 +2

Custom USB HID firmware for STM32 boards. Transform your STM32 into a programmable keyboard, mouse, or gamepad with configurable button mappings.

STM32USB HIDRobot
760

Arduino Blink Pro

v0.9.02026-04-05
DevelopmentArduino Uno +2

Advanced blink firmware for Arduino boards with configurable patterns, PWM brightness control, and multiple animation modes accessible via serial commands.

ArduinoLEDBeginner
420

How to Flash Firmware

Connect your board

Plug your ESP, STM32, or Arduino board into your computer using a USB cable. Make sure the board is recognized by your operating system.

Enter bootloader mode (if needed)

For ESP32: Hold the BOOT button, tap EN, then release BOOT. For STM32: Set BOOT0 to HIGH, BOOT1 to LOW, then press RESET. Arduino boards enter bootloader mode automatically.

Select your project

Browse the available firmware projects on this page and choose the one you want to flash. Check the supported boards list to ensure compatibility.

Click Flash Firmware

Click the green Flash Firmware button on your chosen project. A browser dialog will appear asking you to select the serial port your board is connected to.

Select the serial port

In the dialog, select the serial port (e.g., COM3, /dev/ttyUSB0, /dev/cu.usbserial) and click Connect. The flashing process will begin automatically.

Wait for completion

The firmware will be downloaded and flashed to your board. Do not disconnect the USB cable during this process. Wait for the success message before unplugging.

Important Warnings

Supported Boards

ESP32 Series

ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6

ESP8266 Series

ESP8266, ESP-01, ESP-12, NodeMCU, Wemos D1 Mini

STM32 Series

STM32F103 (Blue Pill), STM32F4 (Black Pill), STM32G0

Arduino Boards

Arduino Uno, Nano, Mega, Leonardo, Micro

Custom Boards

Any board with Web Serial or DFU support can be integrated

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.