FlasheIDE

Flash a board

Put MicroPython, CircuitPython or ready-made firmware on a Raspberry Pi Pico, any of 69 RP2 boards or an ESP32, or wipe it clean, straight from the browser. No Thonny, no esptool install.

  1. 1Connect
  2. 2Choose
  3. 3Flash

Back up first optional

Flashing or erasing wipes the board. Click to see what's on it and save everything as a .zip.

Plug the board in normally, not in BOOTSEL or bootloader mode.

1

Connect your board

Pick the kind of board, then follow the prompt. Stuck?

ESP32 family

ESP32, S2, S3, C3, C6, P4 and ESP8266. Plug it in over USB. If it won't connect, hold BOOT, tap RESET, then let go of BOOT.

Got the Waveshare ESP32-P4 kit and a 3.5" Pi screen? See the build.

Got the ESP32-P4 desk pet box? It has its own setup page.

Raspberry Pi Pico

Pico, Pico W, Pico 2 and Pico 2 W. Hold BOOTSEL while plugging it in. A drive called RPI-RP2 or RP2350 appears.

In the picker, choose that drive under Locations (on a Mac, ⌘⇧G then /Volumes/RPI-RP2 or /Volumes/RP2350), click Select, then allow Edit files.

Arduino Uno, Nano, Mega, Leonardo and more

Put a sketch you've built onto the board. You need its .hex file: in Arduino IDE, Sketch → Export Compiled Binary makes one.

2

Choose what to install

Firmware is the newest stable release, downloaded fresh.

The comic · An IDE-A One Millisecond Why FlasheIDE exists: Thonny froze on macOS 27, so I built a flasher and an editor into my site's Workbench, then went back and found Thonny's bug.

MicroPython logo from micropython/micropython. Blinka the CircuitPython snake © 2018 Phillip Torrone for Adafruit Industries, CC BY 4.0. All credits

What it can flash

More than MicroPython

Connect a board and step 2 offers what fits its chip. This is everything the Flash page knows right now.

MicroPython

micropython.org · MIT

Python on the board itself. Flash it, then write and run code in the IDE, with the board's files beside the editor.

  • Pico, Pico W, Pico 2, Pico 2 W
  • 69 RP2 boards
  • ESP32, S2, S3, C3, C6
  • ESP8266
Open the IDE →

CircuitPython

Adafruit · MIT

Adafruit's Python. The board shows up as a CIRCUITPY drive: edit code.py in any editor and it runs when you save.

  • Picos and RP2 boards
  • Hundreds of ESP32 boards from circuitpython.org
Turn a board into a USB keyboard →

ESP32 Marauder

JustCallMeKoko · MIT

Wi-Fi and Bluetooth analysis tools on a touchscreen or a Flipper Zero, for your own boards and networks. Installed from Marauder's own release, with every file's checksum checked first.

  • Cheap Yellow Display (CYD 2432S028)
  • CYD with 2 USB ports
  • Flipper Zero Wi-Fi dev board
The project ↗

Edge Impulse

Edge Impulse · BSD-3-Clause-Clear

Machine learning on a camera board: collect pictures into Edge Impulse Studio, train a model, then run it on the board.

  • Espressif ESP-EYE
The firmware ↗

P4 screen tester

John O'Dell · MIT

One click for the Waveshare ESP32-P4 kit with a 3.5-inch Raspberry Pi touchscreen: a speed test, colour bars and touch calibration, matched to your chip's revision.

  • Waveshare ESP32-P4 kit
  • 3.5" RPi Display
See the build →

Desk pet

John O'Dell

Waveshare's 4-inch ESP32-P4 touch box as a desk pet. Its own guide installs it and sets up its Wi-Fi; after that it updates itself.

  • Waveshare ESP32-P4 4-inch box
Set it up →

Back up, erase, your own file

Any board here

Save what's on a board as a .zip first. Wipe it clean (Raspberry Pi's flash nuke on a Pico, a full chip erase on an ESP32), or flash a .uf2 or .bin you built yourself.

  • Back up to .zip
  • Erase
  • .uf2 · .bin
Start at step 1 ↑

Boards it supports

Raspberry Pi Pico and RP2 boards

Hold BOOTSEL, plug in and pick the drive. The board list is Thonny's: 69 boards, matched to the drive's chip (RP2040 or RP2350), with the Pico W and Pico 2 W first.

  • Raspberry Pi (11)
  • Pimoroni (24)
  • SparkFun (8)
  • Adafruit
  • Pololu
  • Waveshare
  • Cytron
  • Seeed Studio
  • WIZnet
  • Arduino
  • and more

ESP32 family

Plug in over USB and connect. The page reads the chip and offers what fits it.

ChipWhat it can get
ESP32MicroPython, CircuitPython, Marauder (Cheap Yellow Display), Edge Impulse (ESP-EYE)
ESP32-S2MicroPython, CircuitPython, Marauder (Flipper Zero Wi-Fi dev board)
ESP32-S3MicroPython, CircuitPython
ESP32-C3, C6MicroPython, CircuitPython
ESP32-P4P4 screen tester; the desk pet through its own guide
ESP8266MicroPython

Any of them can be backed up, erased or given your own .bin.

FlasheIDE

Setup guide

Browser

Use Chrome or Edge. Safari and Firefox can't talk to USB boards.

Raspberry Pi Pico

  1. Hold BOOTSEL while plugging the Pico in. A drive called RPI-RP2 (Pico / Pico W) or RP2350 (Pico 2) appears in Finder.
  2. Click Select Pico drive. The picker opens in Documents. That's normal.
  3. Choose the drive under Locations in the sidebar, or press ⌘⇧G and type /Volumes/RPI-RP2 (or /Volumes/RP2350).
  4. Click Select, then Edit files when Chrome asks.

When the Pico reboots, macOS may warn “Disk not ejected properly”. That's expected and harmless.

ESP32

  1. Click Connect ESP32 and pick the port that appeared when you plugged the board in:
    • cu.usbserial-…: boards with a CP2102 chip
    • cu.wchusbserial-…: boards with a CH340 / CH9102 chip
    • cu.usbmodem…: ESP32-S3 / C3 using their built-in USB
  2. Nothing listed? In Terminal run ls /dev/cu.* with the board unplugged, then plugged in. If no new line appears, try another cable. If it still doesn't show, install the WCH driver (CH340/CH9102) or the Silicon Labs driver (CP2102).

On every computer

  • Use a data cable. Many USB cables only charge. This is the most common reason a board “isn't detected”.
  • Plug in directly, not through an unpowered hub.
  • ESP32 won't connect? Hold BOOT, tap RESET (sometimes EN), let go of BOOT, then click Connect again.
  • Pico drive not showing? Unplug, hold BOOTSEL before plugging in, and keep holding until the drive appears.
  • Close other serial programs (Thonny, Arduino IDE, serial monitors). Only one app can use the board at a time.