Close

Install CircuitPython and TinyUF2 Firmware

A project log for The BPI-PicoW-S3, A New Player in Town

Dive into the world of CircuitPython with the new BPI-PicoW, a new ESP32S3 board released by Banana Pi.

joey-shyuJoey Shyu 11/06/2022 at 11:550 Comments

YouTube

How to update CircuitPython firmware

This method is suitable for the BPI-PicoW-S3 board that already has tinyUF2 firmware. If the flash of the board is erased or the failure to enter the UF2 mode occurs, you need to refer to the method of burning TinyUF2 firmware below.
  1. Go to the BPI-PicoW-S3 CircuitPython download page.

    picow_s3_circuitpython_download

  2. Click the DOWNLOAD UF2 NOW button to download the latest released .uf2 firmware.
  3. Connect the development board to the computer via USB, and a disk named CIRCUITPY will appear on the file management page of this computer, which is the disk in CircuitPython mode. Double-click the Reset button on the development board to change it to a disk in UF2 mode. The following are the specific steps.
    1. Quickly press the Reset button once.

    picow_s3_circuitpython_download_2

    1. Quickly press the Reset button again when the purple light is on.

    picow_s3_circuitpython_download_3

    1. The sign of a successful trigger is that the colored light turns red after a moment to a long green light. If you don’t get this result, you can retry the first two steps.

    picow_s3_circuitpython_download_4

  4. The disk name in UF2 mode is UF2BOOT, copy the .uf2 firmware downloaded in step 1 to this disk, the colored lights will flash orange during the process, do not disconnect or do anything with the board during this process.
  5. After the CircuitPython firmware update is completed, it will automatically reset, and a CIRCUITPY disk will reappear on the file management page of this computer. You can view the specific firmware version through the REPL.

How to install tinyUF2 firmware

Download tinyUF2 firmware

  1. Go to the BPI-PicoW-S3 CircuitPython download page.
  2. Find the Install, Repair, or Update UF2 Bootloader the section at the bottom of the page, and click the DOWNLOAD BOOTLOADER ZIP button at the bottom to download the zip file.
  3. Unzip the zip file locally, the combined.bin file is the firmware we need.

Put the board in bootloader mode

picow_s3_circuitpython_download_2

  1. Connect the development board to the computer via USB.
  2. Use any conductor (like metal pins or tweezers) to short the BOOT0 contact to put the EPS32S3 chip into bootloader mode.
  3. Press the Reset button once.
  4. Release the BOOT0 contact.

Burn the firmware in the browser

Support Chrome, Edge browser, the kernel version must be higher than 89.
  1. Open the ESP Web Flasher or Adafruit Web Flasher.
  2. Click the Connect button, an options bar will pop up, select the serial port where the board is located.

    picow_s3_tinyuf2_download_1

    picow_s3_tinyuf2_download_2

  3. After normal connection, click the Erase button to erase the flash content of the development board. This process is irreversible.

    picow_s3_tinyuf2_download_3

  4. Click the Choose a file... button to jump to the directory where the combined.bin file is located in the pop-up file selection window, select the file, and click OK.
  5. Click the Program button to start burning the firmware, and wait about five minutes to complete.
  6. After completion, manually press the Reset button once, and the symbol of successful programming is a solid green light, if you do not get this result, you can retry the first five steps, or try the next programming method.

esptool burn firmware locally

  1. Open Python's official website.

    For Windows systems, the most convenient way to download the installation package is to click the icon shown in the following figure on the homepage of the official website to download.

    Micropython_operating_env_1

    Other operating systems or other distributions can be selected in the Downloads tab.

    It is recommended to use python 3.7 or later.

  2. Remember to check Add Python 3.x to PATH when starting the installation, so you can avoid adding it to the PATH manually.

    Micropython_operating_env_2

    Follow the installation instructions step by step to complete the installation smoothly.

  3. Taking the specific operation steps of Windows PowerShell as an example, use the following command to install esptool:
pip install esptool
If needed in the future, you can upgrade esptool with the following command:
pip install -U esptool
  1. Go into the directory where the firmware is located in PowerShell via a command or other method.
  2. You can open a PowerShell window in this folder by holding down the shift key and right-clicking in a Windows folder window.
  3. At this point, you need to set the development board to bootloader mode, see above for details.
  4. To clear the flash through the following commands, you need to modify the COM interface to the corresponding interface, here is COM22.
python -m esptool --chip esp32s3 --port COM22 --baud 460800 erase_flash
  1. Use the following command to burn the combined.bin firmware, you need to modify the COM interface to the corresponding interface, here is COM22.
python -m esptool --chip esp32s3 --port COM22 --baud 460800 write_flash -z 0x0 combined.bin
  1. After completion, manually press the Reset button once, the sign of successful programming is that the colored light is a solid green light, if you do not get this result, you can retry the first two steps of commands, and also confirm whether the development board has entered the bootloader mode.

Discussions