The Crazyradio 2.0 is flashed via USB. When the radio is in bootloader mode it will appear as a USB-drive, flashing is simply done by dragging-and-dropping a new firmware file to the drive.
To enter bootloader mode, press and hold the button on the Crazyradio 2.0 while you plug it in. The LED on the
Crazyradio 2.0 should turn red and slowly pulsate. The Crazyradio 2.0 will now behave like a USB-drive and new
Crazyradio2 should appear in your file browser containing a few files.
CURRENT.UF2 contains the current versions of the firmware that is installed. If you want to make a backup
before you flash new firmware to the device, you can simply drag-and-drop
CURRENT.UF2 to some other location.
To flash new firmware to the Crazyradio, just drag-and-drop the new firmware (a .UF2 file) to the
The new file will be written to the flash memory, and the Crazyradio 2.0 will restart, running the new firmware.
Writing the firmware takes a second or two and when the Crazyradio 2.0 restarts, the LED will no longer be red and the
USB-drive will disappear.
You may get an error message in your file browser as the Crazyradio 2.0 exited the bootloader mode and the
Crazyradio2 drive is no longer available.
Note: if you enter bootloader mode again the current firmware will always be named
CURRENT.UF2, regardless of the
name of the file you dropped when flashing.
Flasing with USB serial port
The bootloader also contains a (CDC) USB serial port interface. This allows to flash the firmware from command line or from a script which might be helpful during development.
Fashing using the serial port interface requires the
adafruit-nrfutil command line tool. This tool can be installed
pip install adafruit-nrfutil.
Then, from within the firmware build folder, a package can be generated and flashed:
adafruit-nrfutil dfu genpkg --dev-type 0x0052 --application build/zephyr/crazyradio2.hex crazyradio2.zip adafruit-nrfutil dfu serial --package crazyradio2.zip -p /dev/ttyACM0 -b 115200
In those commands,
/dev/ttyACM0 is the serial port of the Crazyradio bootloader.