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:
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).
Make 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.
You can press Quit button to exit the DFU mode.
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
- Use dfu-util (http://dfu-util.sourceforge.net/index.html) to update:
dfu-util -D firmware-file.dfu
Make sure to use the proper (.dfu) file which is compatible with your controller model.
You can get out of the DFU mode using:
dfu-util -s :leave
Firmware Update on Linux
You can update your controller through USB by the following:
- Put the controller into DFU mode (controller on /dev/ttyS0):
echo %dfu 321654987 > /dev/ttyS0
- Use dfu-util (http://dfu-util.sourceforge.net/index.html) to update:
sudo dfu-util -D firmware-file.dfu
Make sure you have write privilege on serial port, if not try:
sudo chmod 666 /dev/ttyS0
Make sure to use the proper (.dfu) file which is compatible with your controller model.
You can get out of the DFU mode using:
dfu-util -s :leave