SBC firmware update

The SBC firmware is developed by ArduSimple and contains the low level functionalities to let you focus on the application high level programming in microPython.
We recommend to use always the latest version of the SBC firmware since it will contain new features and bug fixes.
If you have any suggestions related with the firmware please contact us.


You can find your SBC current firmware and hardware version by typing in the terminal the following command:

>>> import sbc
>>> sbc.get_hw_version()

In this example,firmware version is FW1.07 and hardware revision is R03.

To update your SBC firmware you will need the following:

  • SBC and USB C cable

  • Latest SBC firmware, you can find it below

  • STM32 Cube Programmer, you can download for free here


Before updating the SBC firmware make sure you backup the content of the SBC internal memory

Follow these steps:

  1. Press and keep pressed the SBC button

  2. Connect the USB cable to the SBC and to your computer

  3. You can now release the SBC button

  4. Open STM32 Cube Programmer

  5. Select USB from the dropdown menu

  6. Click the refresh icon and wait until the port updates and shows a number

  7. Click the CONNECT button

  8. Click Open file

  9. Browse and select the firmware_mboot.hex file

  10. Click Download and wait until completes

  11. Press and keep pressed the SBC button, reset your device, release button

  12. Click the refresh icon and wait until the port updates and shows a number

  13. Click the CONNECT button

  14. Click Open file

  15. Browse and select the firmware.hex file

  16. Click Download and wait until completes

  17. Congratulations, you completed the firmware update :)

Download Firmware

Latest SBC firmware release:

Old versions:

Firmware changelog

2023-03-23 - FW1.07


  • Increased PointPerfect maximum buffer size

2022-07-09 - FW1.05

New features:

  • FTPlib implemented

2022-06-28 - FW1.04


  • MahonyAHRS numerical issue solved

2022-06-09 - FW1.03

New features:

  • Added MQTT Client

  • PointPerfect ready


  • (Documentation only) SBC system schematic

  • (Documentation only) SBC Firmware load procedure

  • (Documentation only) ubx.config_from_cls_ide method

2022-02-04 - FW1.02

New features:

  • Added original uasyncio micropython directory contents with two addons:

    • Semaphores

    • Queues

  • Added ubx.builder to compose UBX messages

  • Added safety feature: in case that USB can’t be initialized, duplicate REPL terminal so it can be accessed via RS232#1

  • Added MicroWebSrv2 micropython library

  • Added mboot support to update firmware by drag&drop firmware (.dfu.gz) to external flash memory

  • Added open_connection_udp to uasyncio

  • Added NTRIP client and NTRIP server classes

  • Added asynchronous TCP socket client

  • Add .dfu file to allow flashing from dfuse

  • Allow main.mpy execution on power up


  • Added IMU FIFO flush with 64 values to prevent failed readings during tests

  • Fix small bug with SPI transfer DMA irqs

  • Fix bug in IMU gyro scale

  • Fix RXM-RAWX UBX message parsing

2021-04-01 - FW1.01
  • First official firmware version

Hardware changelog

  • First official hardware version