If your board has a UF2 bootloader, you do not need to follow the steps on this page. Try to enter the UF2 bootloader before continuing! Double-tap the reset button to do so.

The QT Py ESP32-S3 ships with a UF2 bootloader which allows the board to show up as QTPYS3BOOT when you double-tap the reset button, and enables you to drag and drop UF2 files to update the firmware.

On ESP32-S2/S3, there is no bootloader protection for the UF2 bootloader. That means it is possible to erase or damage the UF2 bootloader, especially if you upload an Arduino sketch to an ESP32-S2/S3 board that doesn't "know" there's a bootloader it should not overwrite!

It turns out, however, the ESP32-S2/S3 comes with a second bootloader: the ROM bootloader. Thanks to the ROM bootloader, you don't have to worry about damaging the UF2 bootloader. The ROM bootloader can never be disabled or erased, so its always there if you need it! You can simply re-load the UF2 bootloader from the ROM bootloader.

If your UF2 bootloader ends up damaged or overwritten, you can follow the steps found in the Factory Reset and Bootloader Repair section of the Factory Reset page in this guide.

Once completed, you'll return to where the board was when you opened the package. Then you'll be back in business, and able to continue with your existing plans!

This guide was first published on Jun 15, 2022. It was last updated on Jul 22, 2024.

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

Text editor powered by tinymce.