MicroPython downloads

For the MicroPython source code, please visit github.com/micropython/micropython.

Daily snapshots of the GitHub repository are available from this server:

Links to firmware below: pyboard WiPy ESP8266 ESP32 other

Firmware for the pyboard

Daily builds of the code (the stmhal/ directory) are available below. The hardware version of the board that you have should be written on your pyboard; eg boards with PYBv1.0 written on them should use pybv10_xxx.dfu files.

For each board there are various firmwares available with different options compiled in. The "standard" build is listed first and is the default firmware that the pyboards are shipped with. Use this firmware if you are uncertain. The "double FP" builds use double-precision floating point instead of the standard single precision. The "threading" builds contain the _thread module and allow multithreading. The "network" builds have network drivers for CC3000 and WIZ820io included. All these different firmware are completely interchangeable and you can freely change from one to the other without losing the filesystem on your pyboard.

For each firmware group there are various versions of the software available. The latest version is listed first in the line, followed by older, and possibly more stable, versions. A overview of changes for each software version can be found here.

One you have downloaded the appropriate DFU file it can be flashed directly to your pyboard using a DFU programmer. For information about DFU programming on Windows see this PDF. For Linux and Mac see here.

Firmware suitable for PYBv1.0 boards:

Firmware suitable for PYBv1.1 boards:

Firmware suitable for PYBLITEv1.0 boards:

Firmware suitable for hand-made PYBv3 boards:

Firmware for the WiPy

The following files are firmware for the WiPy. The zip file contains mcuimg.bin which should be copied via ftp to the /flash/sys directory on the WiPy.

Firmware for ESP8266 boards

The following files are stable firmware for the ESP8266. Program your board using the esptool.py program as described in the tutorial.

The following are daily builds of the ESP8266 firmware. They have the latest features and bug fixes, WebREPL is not automatically started, and debugging is enabled by default.

The following are daily builds of the ESP8266 firmware tailored for modules with only 512kbytes of flash. Certain features are disabled to get the firmware down to this size.

The following are Over-The-Air (OTA) builds of the ESP8266 firmware, for modules with at least 1MByte of flash. The first time you use this build you need to flash one of the "initial image" images using esptool.py as described above. After that, you can update the firmware over the air using the "OTA update" file in conjunction with the ota-client script from yaota8266. The "OTA update" files are digitally signed and will only work with the provided "initial image" files, and vice versa. (Note: this feature is work-in-progress.)

Firmware for ESP32 boards

The following files are daily firmware for ESP32-based boards. Program your board using the esptool.py program, and put the firmware starting at address 0x1000 (eg: esptool.py --chip esp32 --port /dev/ttyUSB1 write_flash -z 0x1000 firmware.bin). If you are putting MicroPython on for the first time then you should first erase the entire flash.

Firmware for other boards

These boards are not officially supported but should be fully functional:

For programming an Espruino Pico see the "Advanced Reflashing" section of this page.