--- a/src/eric7/MicroPython/Devices/CircuitPythonDevices.py Wed Mar 15 16:13:05 2023 +0100 +++ b/src/eric7/MicroPython/Devices/CircuitPythonDevices.py Wed Mar 15 16:13:35 2023 +0100 @@ -346,6 +346,9 @@ self.__bootloaderAct = self.__cpyMenu.addAction( self.tr("Activate Bootloader"), self.__activateBootloader ) + self.__uf2Act = self.__cpyMenu.addAction( + self.tr("Activate UF2 Mode"), self.__activateUF2Boot + ) self.__flashCpyAct = self.__cpyMenu.addMenu(self.__flashMenu) self.__cpyMenu.addSeparator() self.__cpyMenu.addMenu(self.__libraryMenu) @@ -409,6 +412,7 @@ self.__flashCpyAct.setEnabled(not linkConnected) self.__resetAct.setEnabled(connected) self.__bootloaderAct.setEnabled(connected) + self.__uf2Act.setEnabled(connected) menu.addMenu(self.__cpyMenu) @@ -481,6 +485,19 @@ ) @pyqtSlot() + def __activateUF2Boot(self): + """ + Private slot to switch the board into 'UF2 Boot' mode. + """ + if self.microPython.isConnected(): + self.microPython.deviceInterface().execute( + "import microcontroller as mc\n" + "mc.on_next_reset(mc.RunMode.UF2)\n" + "mc.reset()\n", + mode=self._submitMode, + ) + + @pyqtSlot() def __showTeensyFlashInstructions(self): """ Private slot to show a message box because Teensy does not support