# Update the firmware with RL-programmer on Windows with ST-Link utility

# Step 1. Download firmware

Download the latest firmware from Update the firmware page.

# Step 2.1. Install software

Install ST-LINK utility from the official site (opens new window)

# Step 2.2. Connect the programmer

TIP

Be sure that your SWD pins on the node and the needle sides are connected correctly (3.3 to 3.3, GND to GND).

Prerequisites are:

An example of a connection is shown below.

connection-prog.png

TIP

SWD and CAN sockets look similar and they use the same 4-pin cable. SWD has 3.3V, but CAN has 5V. Don't mix them up.

TIP

On the RL programmer VUSB led should be orange, 3.3 led should be red, ST-link led should be blue, and blink led should blink with yellow. If they are not, probably you are making something wrong. It also may indicate that the board works incorrectly.

# Step 2.3. Upload the firmware

Please expand and follow the instructions below (it has many pictures):

  1. Open ST-LINK utility, connect the programmer to the PC via USB

  2. Connect target device to the programmer via SWD connectors as shown on the picture above with respect to the warnings. If you gen an error, check the Windows issues section.

  3. Choose option Target -> Connect. Device should be successfully connected. If you get an error, check the issues below.

drawing
  1. You should see Device ID if everything fine (as shown in picture below)
drawing
  1. Choose file -> open file ... and navigate to the downloaded firmware .bin as shown in the pictures below
drawing drawing
  1. Choose Target -> Program & Verify ... CTRL+P
drawing
  1. Wait until downloading is in progress
drawing
  1. You should see Verification...OK if everything is ok.
drawing

At that point, the firmware is succesfully downloaded. You can verify the software version by using gui_tool.

Here is a list of the most popular issues and the recommendation how to solve them:

Wrong connection may leds to one of 2 following errors:

  1. Can not connect to target
drawing

Programmer is successfully detected, but your device is not detected via SWD by the programmer. Either SWD connection is not ok, or there is a problem on the target side.

Sometimes it may happen that the 3.3 and GND are connected, but SWDIO and SWCLK are not ok enough. In this case the node blinks because it has a power, but connection is not stable enough to start a programming. Just make more tension by pushing jumpers a little bit and then press Program & Verify one more time.

  1. No ST-LINK detected
drawing

Either your programmer is not connected to your PC, or it is broken. Check the leds on the programmer device.

TIP

Its also possible to upload firmware using STM32_Programmer_CLI.exe

STM32_Programmer_CLI.exe -c port=SWD -d "<PATH_TO_FIRMWARE>\cyphal_example.bin" 0x08000000