Firmware
Official binaries: https://micropython.org/download. Pick the board, then the latest stable .uf2 or .bin. Daily builds exist for people chasing a fix; stable is the default.
By family
| Family | File | Tool |
|---|---|---|
| Pico / Pico 2 | UF2 | BOOTSEL drive |
| ESP32 / ESP8266 | .bin | esptool |
| pyboard v1.1 | DFU | dfu-util |
| SAMD / many RP2040 clones | UF2 | Board bootloader drive |
| micro:bit | .hex | Copy to MICROBIT drive |
Build it yourself
Clone https://github.com/micropython/micropython, initialise submodules, install the port’s toolchain (ARM GCC, ESP-IDF, …) and run the port’s make or CMake. Board name is usually BOARD=RPI_PICO. Cross-compile scripts with mpy-cross from the same tree so the .mpy version matches the firmware.
git clone {GH}
cd micropython
git submodule update --init
make -C mpy-cross
make -C ports/rp2 BOARD=RPI_PICO
After it boots
mpremote or Thonny to the serial port. Soft reboot with Ctrl-D. If you brick a Pico, BOOTSEL still loads a new UF2. ESP boards can always re-run esptool erase_flash.