Firmware Update
Warning
Your configuration will be erased during a firmware update. See Configuration Backup if you want to keep it.
To update the ODrive to the newest firmware release, simply open up a terminal and run the following command:
odrivetool dfu
This will wait for an ODrive to be connected and then check online for the latest stable firmware release for your ODrive version.
ODrive control utility v0.6.1.post0
Waiting for ODrive...
Checking online for latest ODrive Pro v4.4-58V firmware on channel master...
Found compatible firmware (0.6.1). Install now? [Y/n]
You should then seem a prompt to confirm installation, type y and Enter to continue:
Downloading firmware...
Putting device ************ into DFU mode...
Erasing... done
Flashing... done
Verifying... done
Waiting for the device to reappear...
Device firmware update successful.
Other Options
Install firmware from our semi-stable development channel:
odrivetool dfu --channel develInstall a specific firmware version (0.6.1 in this example):
odrivetool dfu --version 0.6.1Install a local firmware file:
odrivetool dfu firmware.elfYou can manually download firmware files from here.
Warning
Make sure the selected firmware file matches your hardware version! There are no checks in place to prevent you from installing incompatible firmware.
Troubleshooting
For users migrating from ODrive v3.x, it may be necessary to remove any/all drivers installed with Zadig utility. Detailed instructions can be found here.
Try running sudo odrivetool dfu
instead of odrivetool dfu
.
On some machines you will need to unplug and plug back in the USB cable to make the PC understand that we switched from regular mode to bootloader mode.
If the DFU script can’t find the device, try forcing it into DFU mode.
On some machines you will need to unplug and plug back in the USB cable to make the PC understand that we switched from regular mode to bootloader mode.
Forcing DFU Mode
If the DFU script can’t find the device, try forcing it into DFU mode:
Flick the DIP switch that says “DFU, RUN” to “DFU” and power cycle the board.
After you’re done upgrading firmware, don’t forget to put the switch back into the “RUN” position and power cycle the board again.
Flashing with an STLink
This procedure requires an STLink/v2 or compatible programmer.
- Install OpenOCD
Windows: instructions (also follow the instructions on the ST-LINK/V2 drivers)
Linux:
sudo apt-get install openocd
macOS:
brew install openocd
Download the latest firmware release form here. You will need the
.elf
file. Make sure you select the file that matches your board version.Wire up an STLink/v2 programmer to J7 (Debug IO) and power up the ODrive.
Open up a terminal and navigate to the directory where the firmware is.
Run the following command (replace
ODriveFirmware_v3.4-24V.elf
with the name of your firmware file):openocd -f interface/stlink-v2.cfg -f target/stm32h7x.cfg -c init -c "reset halt" -c "flash write_image erase firmware.elf" -c "reset run" -c exit
If everything worked correctly, you should see something similar to this towards the end of the printout:
wrote 393456 bytes from file firmware.elf in 5.475442s (70.174 KiB/s)
If something doesn’t work, make sure
openocd
is in yourPATH
variable, check that the wires are connected properly and try again with elevated privileges.