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.
Note
You can find your SBC current firmware and hardware version by typing in the terminal the following command:
>>> import sbc
>>> sbc.get_hw_version()
'simpleRTK2B-SBC-FW1.07-R03'
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
Warning
Before updating the SBC firmware make sure you backup the content of the SBC internal memory
Follow these steps:
Press and keep pressed the SBC button
Connect the USB cable to the SBC and to your computer
You can now release the SBC button
Open STM32 Cube Programmer
Select USB from the dropdown menu
Click the refresh icon and wait until the port updates and shows a number
Click the CONNECT button
Click Open file
Browse and select the firmware_mboot.hex file
Click Download and wait until completes
Press and keep pressed the SBC button, reset your device, release button
Click the refresh icon and wait until the port updates and shows a number
Click the CONNECT button
Click Open file
Browse and select the firmware.hex file
Click Download and wait until completes
Congratulations, you completed the firmware update :)
(e.g.: SBC inside an enclosure)
Connect the USB cable to the SBC and to your computer
Open a microPython terminal DO NOT PLACE THIS CODE ON THE main.py FILE!
Send
>>> import machine >>> import time >>> print("Entering bootloader in 10 seconds, press CTRL+C to prevent it") >>> time.sleep(10) >>> machine.bootloader(True) Connection lost (EOF) Use Stop/Restart to reconnect.
Open STM32 Cube Programmer
Select USB from the dropdown menu
Click the refresh icon and wait until the port updates and shows a number
Click the CONNECT button
Click Open file
Browse and select the firmware_mboot.hex file
Click Download and wait until completes
Reset your device, repeat step 3
Click the refresh icon and wait until the port updates and shows a number
Click the CONNECT button
Click Open file
Browse and select the firmware.hex file
Click Download and wait until completes
Congratulations, you completed the firmware update :)
(e.g.: SBC inside an enclosure, firmware update can be programmed, useful for FOTA)
Warning
Make sure the microSD card is not plugged in!
Note
This procedure is valid only if firmware_mboot.hex is already loaded.
Check the other methods to learn how to load it.
Drag and drop your firmware firmware.dfu.gz into the SBC flash memory.
Send
>>> import sbc >>> sbc.mboot.fw_update("firmware.dfu.gz") hdr b'DfuSe\x01' Fw update from firmware.dfu.gz . It will take about 30 seconds
Wait about 30 seconds, SBC will reboot automatically
Firmware changelog
- 2023-03-23 - FW1.07
Fixes:
Increased PointPerfect maximum buffer size
- 2022-07-09 - FW1.05
New features:
FTPlib implemented
- 2022-06-28 - FW1.04
Fixes:
MahonyAHRS numerical issue solved
- 2022-06-09 - FW1.03
New features:
Added MQTT Client
PointPerfect ready
Fixes:
(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
Fixes:
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
- R03
First official hardware version