<aside> ❗ Attention: all boards we ship are pre-flashed, so you probably do not need to flash a board.

You only need to flash a board if:

If we have supplied you with a pre-flashed version, you do not need to run these steps.

To update the firmware, go to Updating the software

</aside>

<aside> ⚠️ If we have supplied you with an unflashed version, you can run these steps yourself or RMA it back to our lab where we will flash it for you.

</aside>

At-a-glance

Download the latest release (or older releases) here

Software architecture

An overview of the architecture is shown below.***

Each firmware release is initially flashed (along with its bootloader) only once using the JTAG/SWD interface to the CPU on the BotBlox board. This should only be done during production. Over time as the feature set of BloxOsLite matures, we’ll

Following this, subsequent updates occur over UART using MCUmgr management subsystem.

graph TD
  Bootloader -- Boots --> BloxOsLite
  MCUMgr -. Update over UART .-> Bootloader
  Flashing -. Flash over SWD .-> Bootloader
  Flashing -. Flash over SWD .-> BloxOsLite

<aside> 🚨 ***Customers using UbiSwitch Rev B may be using a 64Kb MCU instead of 128Kb MCU due to a board upgrade, which we have now resolved for future boards. This only affects a few boards existing out there but please visit the below page to view different instructions on flashing.

</aside>

Flashing firmware

Requirements

By no means an exhaustive list of debuggers but to help get started.

JLink

STLINK