Updating MicroPython on the Pyboard

Contents

Getting Started

When the Pyboard is first connected to a computer and opened up inside Thonny, the REPL will most likely reveal that the installed MicroPython system is outdated. We purchased our board from a popular online Chinese shop. The REPL revealed a very dated version of MicroPython:

Hello World
YD-MPY v1.12 on 2020-07-16; vcc-gnd(R) pyboard(R)
with STM32F405RG
Type "help()" for more information.
>>> 
          

This article will provide the steps on how to upgrade MicroPython on a Pyboard V1.1 from a Windows 11 or Linux computer.

Prerequisites

The following need to be installed if this is the first time this computer has been used to perform a MicroPython firmware flash to a STM32 microcontroller board:

Downloading the MicroPython Firmware

Navigate to the MicroPython download page (https://micropython.org/download/).

In the MCU section click the stm32f4 item. Select Pyboard V1.1 George Robotics and download the latest .dfu file release.

In our case it was PYBV11-20250911-v1.26.1.dfu

DFU Mode

The Pyboard has a DFU (Device Firmware Upgrade) loader in ROM. This is a powerful feature. It just about makes the Pyboard 'unbreakable'. If the board becomes unresponsive it can be revived by reloading the MicroPython system with the DFU loader.

Place the Pyboard in DFU mode

Ensure the board is unplugged from the computer. Place a jumper wire across the 3V3 and P1 (DFU) pins then plug it into the computer.

Jumper between 3V3 and P1 (DFU) pins on the Pyboard.
Fig 1 - Jumper between 3V3 and P1 (DFU) pins[1]

The first time the pyboard is connected in DFU mode, Windows may show a device with a warning sign (yellow exclamation mark) in Device Manager until the correct DFU driver is installed.

On our Windows computer it appeared as AMP32 ISP DFU  with an error. Depending where the Pyboard has been purchased from it may also show up as STM32 Bootloader (or similar) with an error.

This is an issue only on Windows computers and is solved with the installation of the WinUSB driver. This was discussed in the Prerequisites section above.

Flashing the Firmware

Windows:
  1. Open a Command Prompt and navigate to the folder where the MicroPython firmware file is located (usually the Downloads  folder):
    •   cd %USERPROFILE%\Downloads  
  2. Run the following command. Substitute firmware.dfu for the name of the downloaded MicroPython firmware file:
    •   dfu-util -a 0 -D firmware.dfu  
  3. When the flashing process has completed remove the jumper between the 3V3 and P1 (DFU)  pins then press the Reset button on the board.
Linux:
  1. Open a Terminal and navigate to the directory where the MicroPython firmware file is located (usually the Downloads  folder):
    •   cd ~/Downloads  
  2. Run the following command. Substitute firmware.dfu for the name of the downloaded MicroPython firmware file:
    •   sudo dfu-util -a 0 -D firmware.dfu  
  3. When the flashing process has completed remove the jumper between the 3V3 and P1 (DFU)  pins then press the Reset button on the board.
Testing the upgrade

Connect to Thonny and check the REPL for the MicroPython version.


MicroPython v1.26.1 on 2025-09-11; PYBv1.1
with STM32F405RG
Type "help()" for more information.
>>> 
          
          

In our case we were upgraded from V1.12 to V1.26.1.