Update the Bootloader on QT Py SAMD21 board to prevent a somewhat rare problem of parts of internal flash being overwritten on power-up.

Your QT Py (SAMD21 microcontroller version) board bootloader may need to be updated to fix an intermittent bug that can erase parts of internal flash. There are two possible problems:

  1. In some recent samples of the QT Py board, the bootloader is not protected against overwriting. Updating the bootloader automatically sets this protection.
  2. In bootloader version v3.15.0 and later, the board will check the supplied voltage and will not start if supplied voltage is below approximately 2.8 volts. This prevents exercising an intermittent hardware bug that erases parts of internal flash.

The combination of these two issues means that in some cases, the bootloader may be erased. This is not fixable without considerable effort, such as using a J-Link debugging probe or openocd to rewrite the bootloader. Updating the bootloader will prevent this problem.

Check your Bootloader Version

To see if you need to update your bootloader, double-click the RESET button to get the UF2 boot drive to appear as a mounted drive on your computer, in a file browser window.

When you see the QTPY_BOOT drive, click the drive in the file browser window and then double-click the INFO_UF2.TXT file to see what's inside.

The bootloader version is listed in INFO_UF2.TXT. If the bootloader version you see is v3.14.0 or older, you need to update. In this example, the version is v3.14.0, and needs upgrading.

UF2 Bootloader v3.14.0 SFHWRO
Model: QT Py M0
Board-ID: SAMD21E18A-QTPy-v0

Download the Bootloader Updater

Download the latest version of the bootloader updater from the https://www.circuitpython.org Downloads page for the QT Py:

The bootloader updater will be named update-bootloader-QTPy_m0-v3.15.0.uf2 or some later version. 

Update and Check the Version

Drag the update-bootloader-QTPy_m0-v3.15.0.uf2 (or later version) file you downloaded from your Downloads folder onto the QTPY_BOOT drive. The NeoPixel on the board will change color and then go back to green, and the QTPY_BOOT drive will re-appear in the file browser. After that, you can click on the QTPY_BOOT drive and double-click INFO_UF2.TXT again to confirm you've updated the bootloader to the latest version.

UF2 Bootloader v3.15.0 SFHWRO
Model: QT Py M0
Board-ID: SAMD21E18A-QTPy-v0

This guide was first published on Sep 30, 2020. It was last updated on Mar 23, 2024.

This page (Update the UF2 Bootloader) was last updated on Mar 08, 2024.

Text editor powered by tinymce.