Introduction

Device Firmware Update (DFU) is a mechanism of updating the firmware of RoboteQ controllers through USB based on DFU 1.1 specifications.

DFU Support

As all RoboteQ products are based on STM32 MCU’s, it is pre-shipped with the ability to be updated through USB port using DFU.

Firmware Update

In order to update the controller, you need to put it into DFU Mode first. To put the controller into DFU mode, you need to issue the following command through USB/RS232/RS485:

%DFU 321654987

If the controller successfully enters the DFU mode, the flashing pattern will be changed into the following pattern:

Image

linux ico You can get out of the DFU mode by simply power cycle the controller.

After putting the controller into DFU mode, you can use any of STM32 DFU tools to update the controller’s firmware with the (.dfu) firmware file provided by RoboteQ (https://www.roboteq.com/support/files-download).

linux icoMake sure to use the proper (.dfu) file which is compatible with your controller model.

Firmware Update on Windows (Roborun+)

Simply, you can use Roborun+ utility to do firmware update through USB by the following steps:

  • Open Roborun+ Utility.
  • Wait until the controller is detected.
  • From the Console tab, press Update Firmware via USB
  • The controller will reboot in DFU mode and the DfuLoader utility will be shown.
  • You can select the firmware file and press the Upgrade button to proceed with the update.

linux icoYou can press Quit button to exit the DFU mode.

Image


Firmware Update on Windows (Command Line)

You can update your controller through USB by the following:

  • Put the controller into DFU mode (controller on COM3):

echo %dfu 321654987 > COM3

dfu-util -D firmware-file.dfu

 

linux icoMake sure to use the proper (.dfu) file which is compatible with your controller model.

linux icoYou can get out of the DFU mode using:

dfu-util -s :leave

Firmware Update on Linux

linux icoYou can update your controller through USB by the following:

  • Put the controller into DFU mode (controller on /dev/ttyS0):

echo %dfu 321654987 > /dev/ttyS0

sudo dfu-util -D firmware-file.dfu

linux icoMake sure you have write privilege on serial port, if not try:

sudo chmod 666 /dev/ttyS0

linux icoMake sure to use the proper (.dfu) file which is compatible with your controller model.

linux icoYou can get out of the DFU mode using:

dfu-util -s :leave