diff -r c6cda4cb81d5 -r 2d7a244886d1 src/eric7/MicroPython/Devices/PyBoardDevices.py --- a/src/eric7/MicroPython/Devices/PyBoardDevices.py Wed Feb 15 18:00:40 2023 +0100 +++ b/src/eric7/MicroPython/Devices/PyBoardDevices.py Thu Feb 16 11:33:56 2023 +0100 @@ -403,17 +403,20 @@ )[0] firmware = EricFileDialog.getOpenFileName( self.microPython, - self.tr("Flash MicroPython Firmware"), + self.tr("Flash MicroPython/CircuitPython Firmware"), downloadsPath, - self.tr("MicroPython Firmware Files (*.dfu);;All Files (*)"), + self.tr( + "MicroPython Firmware Files (*.dfu);;" + "CircuitPython Firmware Files (*.bin);;" + "All Files (*)" + ), ) if firmware and os.path.exists(firmware): - args = [ - "--alt", - "0", - "--download", - firmware, - ] + args = ["--alt", "0"] + if firmware.endswith(".bin"): + # it's a CircuitPython firmware; give the flash address + args.extend(["--dfuse-address", "0x08000000"]) + args.extend(["--download", firmware]) dlg = EricProcessDialog( self.tr("'dfu-util' Output"), self.tr("Flash MicroPython Firmware"),