Skip to main content

How to Update the RaphCore Firmware

You can use the raph_fw package to flash the newest firmware from the rover's onboard computer. This package contains flashing scripts and the latest firmware binaries.

Before flashing the firmware, make sure that you are running the latest version of the RaphOS on your rover. You can find out how to update the RaphOS in the guide below:

📄Software update
Learn how to update your Raph Rover's software by downloading and flashing the latest RaphOS image to a USB drive. A step-by-step guide.

To flash the firmware, you need to boot the rover into recovery mode.

In order to enter recovery mode follow the steps below:

  1. Make sure the rover is powered off.
  2. Make sure that no charger is connected to the rover.
  3. Press and hold the maintenance button.
  4. While holding the maintenance button, press and hold the power button for 3 seconds.

The usually green animation of robot powering on is replaced with a white color. You can use that as an indication that the rover is booting into recovery mode. When the rover's LEDs start pulsing white and red, you have successfully booted the rover into recovery mode.

tip

If you have ROS 2 installed on your computer, you can install the raph_fw package, connect to the rover's Wi-Fi network, and run the update script from your computer. Remember that the rover needs to be in recovery mode even if you are running the update script from your computer.

In recovery mode, the rover will power on the router and the onboard computer, so you can log in to your Raph Rover as usual:

📄Connect via SSH
Learn how to establish an SSH connection with your Raph Rover. This guide provides the steps to remotely access the robot's terminal from your computer.

After opening a terminal session via SSH, you can proceed to flash the firmware. The firmware consists of two parts: the bootloader and the main firmware.

To update the main firmware to the newest version, you can run the following command:

ros2 run raph_fw update

The script will then guide you through the flashing process.

Similarly, to update the bootloader, you can run the following command:

ros2 run raph_fw update --bootloader
danger

Only update the bootloader if a newer version is available. If bootloader update is not necessary, it is recommended to only update the main firmware.

If the bootloader flashing procedure fails or is interrupted, the RaphCore board can no longer be flashed using these scripts. It will become unresponsive and require a manual hardware recovery using an ST-LINK programmer.

info

If you need to flash a specific firmware version you can do that by running:

ros2 run raph_fw flash /path/to/raphcore_firmware.bin

Similarly, to flash the bootloader with a specific version, you can run:

ros2 run raph_fw flash /path/to/bootloader.bin --bootloader

Both the flash and update scripts will try to automatically detect the RaphCore's IP address, but you can also specify it manually by adding the --address argument followed by the IP address of the RaphCore board, like shown below:

ros2 run raph_fw <update or flash> --address <RaphCore IP address>