Skip to content

Firmware update

LabBoard firmware can be updated to the latest version in order to receive new features and improvements. This guide contains instructions for 3 different ways to perform this procedure - Update over Arduino (recommended), Update over UART, Update over SWD.
Note: Factory reset will be applied during firmware update.

Select board revision

This tutorial differs between board revisions. Please select the one you have:

v.2.1 ✅ v.2.2 ✅ v.2.3 ❌ Revision v.2.1 v.2.2 v.2.3

v.2.1 ❌ v.2.2 ❌ v.2.3 ✅ Revision v.2.1 v.2.2 v.2.3

Check version

To get currently installed firmware version:

  1. Press any two keys at the same moment.
    If menu (1. COUNT) not displayed - version 1.02 is installed.
  2. Select 0. SEtUP6. UERSI.
  3. Current installed version will be displayed on screen (UERSI 2.00).

Menu system is only available from version 2.00.
Latest version can be found in Releases section.

Update over Arduino

Simple update procedure using TotemDuino, connected with LabBoard over flat cable.
For smooth process - make sure to follow steps in order.

Prepare TotemDuino

Download labboard_update.ino

Upload labboard_update.ino to TotemDuino.

How to do it?
  1. Click button to download latest firmware update file.
  2. Open labboard_update.ino file. A message may appear requesting to create folder - click ok.
  3. Connect TotemDuino to computer over USB.
  4. Select ToolsPort.
  5. Upload code to TotemDuino.

Prepare LabBoard

Important: Unplug USB cable from TotemDuino.

Start LabBoard in boot mode:
Hold SET- key and power on MiniLab (plug DC jack into TotemDuino).
LabBoard won't turn on, meaning it is in boot mode.

Connect wires to pins D0 to LabBoard TXD and D1 to LabBoard DIG2.
Mini Lab LabBoard boot wiring

  1. Click TotemDuino reset button to start update.
    Mini Lab TotemDuino reset
    TX (red) LED will start to blink.
  2. Wait for (green) LED to turn on and LabBoard to display CALIb run.
  3. Firmware update is completed. Proceed to calibration section.

Troubleshot

In case (green) LED is flashing at 0.5s rate - update procedure failed:

  • Restart update procedure by pressing reset button again.
  • Make sure correct LabBoard revision is selected.
  • Make sure LabBoard is in boot mode.
    LED ±0.5V may be lit on, and will not respond to any key press.
  • Make sure USB cable is unplugged when pressing Reset button.
  • Disconnect everything and repeat steps in order.
  • Connect LabBoard TXD pin to TotemDuino D0 pin directly (bypass flat cable).
  • Follow tutorial recover LabBoard with deleted firmware.
    !! Only if it does not power on anymore !!.
  • Restart update procedure by pressing reset button again.
  • Make sure correct LabBoard revision is selected.
  • Make sure LabBoard is in boot mode.
    LED ±0.5V may be lit on, and will not respond to any key press.
  • Make sure USB cable is unplugged when pressing Reset button.
  • Disconnect everything and repeat steps in order.
  • Connect LabBoard D0 pin to TotemDuino D0 pin directly (bypass flat cable).

Update over UART

LabBoard UARt connected

STM32 has integrated bootloader capable of loading firmware using UART (Serial) peripheral. This requires application on PC side and USB to Serial converter to transfer data to MCU.
One application that is capable to do so - STM32CubeProgrammer. Other applications can be used also.

Wiring instructions:

Connect over TotemDuino
  1. Connect pins:
    • RST to GND (disable TotemDuino)
    • D0 to LabBoard TXD
    • D1 to LabBoard DIG2
  2. Hold SET- button and plug in USB to TotemDuino (power on). LED ±0.5V should light up dimly.

TotemDuino firmware update wiring

Connect over USB Serial
  1. Unplug flat cable from LabBoard (or put TotemDuino in Reset: RST to GND).
  2. Connect pins:
    • GND to LabBoard GND
    • TX to LabBoard DIG2
    • RX to LabBoard TXD
  3. Connect 3.3V to LabBoard 3.3V if there is no external power to LabBoard.
  4. Hold SET- button and plug in Serial converter (power on). LED ±0.5V should light up dimly.

USB Serial firmware update wiring

Wiring instructions:

Connect over USB Serial
  1. Unplug flat cable from LabBoard (or put TotemDuino in Reset: RST to GND).
  2. Connect pins:
    • GND to LabBoard GND
    • TX to LabBoard D0
    • RX to LabBoard D1
  3. Connect 3.3V to LabBoard 3.3V if there is no external power to LabBoard.
  4. Hold SET- button and plug in Serial converter (power on). LED ±0.5V should light up dimly.

USB Serial firmware update wiring

In STM32 Cube Programmer application select UART with specified settings. Baudrate value can be different. Click Connect to establish connection.

STM32 Cube Programmer UART

Download firmware in .hex or .bin format and flash (download) it to LabBoard.
Binary (.bin) file address - 0x08000000.

Download LabBoard.hex Download LabBoard.bin

Update over SWD

LabBoard SWD connected

SWD is a programming and debugging interface for ARM chips. A special hardware (ST-Link) and PC software is required to perform update using this method. One application that is capable to do so - STM32CubeProgrammer. Other applications can be used also.
Some ST-Link programmers has Mass storage feature where connected board opens as storage device, allowing to simply drag and drop firmware file and automatically flash it to LabBoard.

LabBoard SWD header

Wiring instructions:

Connect over ST-Link
  1. Connect ST-Link to LabBoard:
    • ST-Link SWCLK to LabBoard SWCLK
    • ST-Link GND to LabBoard GND
    • ST-Link SWDIO to LabBoard SWDIO
    • ST-Link NRST to LabBoard RST
  2. Connect 3V3 to LabBoard 3.3V if there is no external power to LabBoard.

SWD firmware update wiring

In STM32 Cube Programmer application select ST-LINK with specified settings and click Connect. Connection should be established if wiring is correct and LabBoard has power.

STM32 Cube Programmer SWD

Download firmware in .hex or .bin format and flash (download) it to LabBoard.
Binary (.bin) file address - 0x08000000.

Download LabBoard.hex Download LabBoard.bin

Downgrading

If you need to install older firmware version (in case of bug in latest one or etc.), browse Releases section (Assets) to download required version labboard_update.ino, LabBoard.hex or LabBoard.bin and follow install guide with selected file.