Some of the board download pages on circuitpython.org provide a button labelled OPEN INSTALLER. Clicking this button invokes the Web Firmware Installer. With this guided tool, on boards with full USB support, you can:
- Erase the flash on a board
- Install the TinyUF2 bootloader (if the board supports it)
- Install CircuitPython
- Fill in settings.toml with your desired network settings.
You can skip some or all of these steps, as needed.
Currently, the OPEN INSTALLER button is only present on the download pages for Espressif boards, but it may be added to other types of boards in the future.
Opening Dialog
To use the Web Firmware installer, first go to https://circuitpython.org/downloads, find the entry for your board, and click on it. You will go to the download page for your particular board.
There will probably be two OPEN INSTALLER buttons on the page, one for the current stable version of CircuitPython, and one for the latest development release. Choose the one you want to use.
When you click OPEN INSTALLER, you will first see the dialog box below. The name of the board mentioned in the first paragraph will match the board name for the page you are on. Read the text if you haven't before, and then click Next.
- A Full CircuitPython Install will install the TinyUF2 bootloader, and then install CircuitPython using a UF2 file. Finally you will then be asked to supply WiFi credentials, which will be written to settings.toml.
- Install CircuitPython UF2 only assumes TinyUF2 is already installed on the board. It will install CircuitPython by copying a UF2 to the BOOT drive. The WiFi credentials step is skipped.
- Install CircuitPython BIN only will install CIrcuitPython using a BIN file. If TinyUF2 is present, it will be erased. The WiFi credentials step is skipped.
- Install Bootloader Only just installs TinyUF2.
- Update WiFi credentials assumes CircuitPython is already installed. It will write the WiFi credentials you enter to settings.toml.
This page will describe the Full CircuitPython Install, as shown below. See Advanced: Install CircuitPython as a BIN file and Advanced: Install TinyUF2 Bootloader Only if you want to do something else.
Connect to Your Board
The next dialog box you see will be the one below. Follow the instructions to connect your board to your computer with a data-capable USB cable, and then put the board into ROM bootloader mode.
It is easier to identify the right serial port if you disconnect any other boards or other serial devices.
When you click the Connect button, a dialog box will appear for you to select the serial port. The images below show how this dialog box appears on Windows, macOS, and Linux. Choose the serial port (step 1 in the screenshots), and then click Connect or Select Folder (step 2).
- On Windows, the serial port will be
COMnn. - On Linux, the serial port will usually be something like
/dev/ttyACMn,/dev/ttyAMAn, or/dev/ttyUSBn. - On macOS, the serial port will be
cu.something.
Erase Flash
The next dialog box after Connect to Your Board will ask if you want to erase the flash on your board. In general, don't click Skip Erase, but you can if you are sure you want to preserve the parts of flash that won't get overwritten. For instance, if you installing a new CircuitPython .bin file, or a new TinyUF2 bootloader, then the CIRCUITPY part of the flash may not be damaged by the flashing. But you can't necessarily depend on that, because the flash partition layout may have changed. So back up CIRCUITPY before you flash firmware.
If you choose to erase the flash, you'll see this spinning for a bit:
TinyUF2 Installation
If you have chosen Full install CircuitPython or Install Bootloader Only, the next box you see will be the one below one, which is reporting that is has downloaded the .zip file for the bootloader, extracted a .bin file, and is now flashing it.
Once the TinyUF2 bootloader finishes being flashed, the board will stay in ROM bootloader mode. You'll need to press the RESET button to get TinyUF2 to start.
CircuitPython UF2 Installation
If you have chosen Full CircuitPython Install or Install CIrcuitPython UF2 only, you will next see this box. As mentioned above, you'll need to reset your board first if you just installed TinyUF2. Otherwise double-click the RESET button to start the existing TinyUF2 bootloader.
The, click the Select [...]BOOT Drive button. The exact name of the BOOT drive will vary based on the board.
A dialog box will appear to let you select the BOOT drive. The images below show how this dialog box appears on Windows, macOS, and Linux. Choose the drive (step 1 in the screenshots), and then click Select or Select Folder (step 2), depending on your operating system.
Before the installer can copy the CircuitPython UF2 to the BOOT drive, you must give it permission. You'll see a pop-up request like this one. Click Edit Files or whatever the browser asks.
Then the installer will copy the CircuitPython UF2 for your board to the BOOT drive.
Fill in settings.toml
Finally, the last step is to specify network settings. First, the installer will ask you to select the CIRCUITPY drive so it can find and write the settings.toml file. Click the Select CIRCUITPY Drive button and choose the CIRCUITPY drive in the selection dialog box.
A dialog box will appear to let you select the CIRCUITPY drive. The images below show how this dialog box appears on Windows, macOS, and Linux. Choose the drive (step 1 in the screenshots), and then click Select or Select Folder (step 2), depending on your operating system.
You will need to confirm that the installer is allowed to write to CIRCUITPY.
Then the installer will display a dialog box so you can enter the network settings. When you click Next, it will write those settings to the settings.toml file on CIRCUITPY. If you don't want to fill in these values now, just close the box, or leave the values blank and click Next.
Page last edited October 03, 2025
Text editor powered by tinymce.