There may come a time when you want to update the firmware on the ESP32 itself. This isn't something we expect you'll do often if at all, but its good to know how if you need to.
There are two ways to do it. The first uses the SAMD51 main chip as a USB->Serial converter, then you can use any computer and esptool to update the ESP32. This is recommended because esptool is very powerful and fast.
Make a backup of whatever code and files you have - you will lose your CircuitPython/Arduino code (we overwrite it) for sure. You should not end up losing any files on the QSPI flash but its a good idea to back em up anyways!
Double click to enter bootloader mode. Then drag over this UF2
It should re-enumerate USB and appear as a COM or Serial port on your computer. Make a note of the serial port by checking the Device Manager (windows) or typing in
ls /dev/cu* or
/dev/tty* (Mac or Linux) in a terminal
Then save it to your desktop or something, and in a terminal, run:
esptool.py --port /dev/ttyS6 --before no_reset --baud 115200 write_flash 0 NINA_W102.bin
esptool.py --port COM7 --before no_reset --baud 115200 write_flash 0 NINA_W102.bin
Replace /dev/ttyS6 or COM7 with the correct serial/COM port to match what the PyPortal/Metro M4 AirLift appears as.
After it's done, you can re-load CircuitPython or your Arduino code and keep going!
For the curious, you can find the source code here
It is compiled in Arduino so you will need all that set up!