There are three ways to upgrade the firmware on your AMYboard. The easiest is using the web-based upgrader.
The AMYboard Online editor includes a built-in firmware upgrader that works right from your browser using WebSerial. We recommend using Google Chrome for this.
Before you start, close anything else that's using the serial port. Only one program can talk to the board at a time. Quit the Arduino IDE (including its Serial Monitor), any mpremote or screen session, the Python REPL, and any DAW or serial terminal first. Otherwise the browser won't be able to connect when you click Search for AMYboard.
- Connect your AMYboard to your computer over USB.
- Hold down both buttons on the side of the AMYboard, then release RST first, then release BOOT. This puts the board into bootloader mode.
- Open the firmware upgrade page and click Search for AMYboard.
- Choose the serial port that corresponds to your AMYboard (it shows up as "USB JTAG/serial debug unit")
- Choose to either Upgrade AMYboard firmware (keeps your files) or Fully erase and re-flash AMYboard (fresh start).
- Wait for the process to complete. You then need to hit RST to restart your AMYboard into the upgraded firmware!
If your AMYboard is already running and you can connect to it over serial, you can upgrade over Wi-Fi.
Connect to your AMYboard's serial console using one of:
mpremote connect /dev/YOUR_SERIAL_PORTor:
screen /dev/YOUR_SERIAL_PORT 115200Then at the MicroPython prompt, connect to Wi-Fi and run the upgrade:
>>> import amyboard
>>> amyboard.wifi('your_ssid', 'your_password')
>>> amyboard.upgrade()The upgrade will download the latest firmware and system files over Wi-Fi. Your saved files are preserved. The board will reboot when finished.
If your AMYboard won't boot or you need a completely fresh flash, you can use esptool to write the full firmware image directly.
-
Download the latest
amyboard-full-AMYBOARD.binfrom theamyboardrelease (the rolling AMYboard release, updated on every push to main). -
Connect your AMYboard over USB and put it in bootloader mode (hold both buttons, release RST first, then BOOT).
Make sure nothing else is using the serial port first — close the Arduino IDE, any
mpremoteorscreensession, and any serial monitor, oresptoolwon't be able to open the port. -
Install
esptoolif you haven't already, and flash the image:
pip install esptool
esptool.py write_flash 0x0 amyboard-full-AMYBOARD.binNote: This will erase everything on the board, including any saved files.
The AMYboard should reboot when flashing is complete (you may need to unplug and replug the USB cable). After this initial flash, you can use amyboard.upgrade() or the web firmware upgrader for future updates.
If you edit the AMY or AMYboard software and want to flash your locally-modified version, you can recompile on your machine.
-
Make sure you have
esp-idfinstalled correctly, see the instructions for reflashing the TulipCC. -
Connect your AMYboard over USB and put it in bootloader mode (hold both buttons, release RST first, then BOOT).
-
Move to the
tulip/amyboarddirectory and runidf.py flash. This should automatically find your AMYboard's serial connection, recompile the firmware, and write it to the AMYboard. (If it has trouble finding your AMYboard, you can try adding-p /dev/cu.usbmodemXXXXor similar to explicitly specify the AMYboard's serial connection.) -
Press RST on the AMYboard to reboot it. It should then work normally.
-
You can open a serial connection to the AMYboard serial port to directly interact with the MicroPython REPL (and possibly to see error messages):
screen /dev/cy.usbmodemXXXX 115200.mpremote connect /dev/cu.usbmodemXXXXshould also work. -
If you need to rewrite the AMYboard file system (rare and slow, and removes any saved files you have written), it's
idf.py erase-flashfollowed bypython amyboard_fs_create.py full.

