Smol Flashing Firmware
Table Of Contents
- Flashing Boards with Adafruits UF2 Bootloader (SuperMini / XIAO)
- Flashing Dongles with SoftDevice/Nordic Bootloader (eByte/Nordic)
Flashing Boards with Adafruits UF2 Bootloader (SuperMini / XIAO)
Flashing the Bootloader
- For the SuperMini, download update-slimenrf_promicro_bootloader-0.9.2-SlimeVR.7_nosd.uf2. For the XIAO, download update-slimenrf_xiao_sense_bootloader-0.9.2-SlimeVR.7_nosd.uf2.
- Connect the device to your computer using a USB data cable.
- The device should initially start in DFU mode when new and without a bootloader. The LED should fade on and off.
- If the device's LED is not fading on and off, press the reset button twice (or briefly short the RST and GND pins) twice within 0.5 seconds. If the device has existing SlimeNRF firmware, reset it four times.
- Navigate to your Downloads folder and copy the UF2 file.
- Navigate to the Mass Storage Drive (ex. NICENANO/XIAO-SENSE) from ThisPC.
- Paste the file there, and the window should close, causing the device to reboot.
Update the bootloader on your SuperMini and XIAO boards before flashing the firmware; otherwise, there is a significant risk of bricking your device. eByte and Nordic dongles are not included in this category.
Flashing the Firmware using UF2
- Connect the device to your computer using a USB data cable.
- The device should initially start in DFU mode when new and without a bootloader. The LED should fade on and off.
- If the device's LED is not fading on and off, press the reset button twice (or briefly short the RST and GND pins) twice within 0.5 seconds. If the device has existing SlimeNRF firmware, reset it four times.
- Obtain the fimware:
- For local builds, navigate to the local Receiver or Tracker repository, then go to
build\REPOSITORY_NAME\zephyr\
and copy the "zephyr.uf2" file. - Alternatively, use the precompiled firmware.
- For local builds, navigate to the local Receiver or Tracker repository, then go to
- Navigate to the Mass Storage Drive (ex. NICENANO/XIAO-SENSE) from ThisPC.
- Paste the file there, and the window should close, causing the device to reboot.
Flashing the Firmware using adafruit-nrfutil
This uses the bootloaders serial protocol to flash it using command line tools.
See Adafruit nRF52 nrfutil Github Repo for install and usage instructions.
Recommended: Use a python venv to install the adafruit-nrfutil python tool.
Flashing Dongles with SoftDevice/Nordic Bootloader (eByte/Nordic)
This bootloader will appear as "Open DFU Bootloader" by Nordic Semiconductor. Currently, the only confirmed method for flashing firmware onto these devices is through nRF Connect for Desktop, though it should also be possible to use nRF Util (but it is more complex and practically equivalent).
NOTE: Installing the Segger J-Link is not required for this bootloader.
NOTE: On Linux, nRF Connect for Desktop installs nodeJS tools into ~/.nrfconnect-apps/
, nRF Util installs binary tools into ~/.nrfutil/
.
Flashing using nRF Connect for Desktop
- Open "Programmer" in the nRF Connect.
- Put the device into DFU mode using either of these methods:
- Press the reset button — the LED should begin to fade on and off, indicating the device is in DFU Mode. For the eByte dongle, this is the right button. For the Nordic dongle, it is the side button (not the round white button).
- If the dongle already has existing SlimeNRF firmware, use the Serial Terminal in nRF Connect, and enter
dfu
to put the device into DFU mode.
- In the top left corner, select your Device.
- Click on "Add File".
- Select the firmware (.hex) you want to flash:
- For local builds, navigate to your local Receiver repository, then select the file located at
build\REPOSITORY_NAME\zephyr\zephyr.hex
. - Alternatively, use precompiled firmware.
- For local builds, navigate to your local Receiver repository, then select the file located at
- Click the "Write" button.
Flashing using nRF Util
Not documented yet. Relevant documentation: