This thread aims at describing how VESC-Tool interacts with older FW and where to find a specific FW release.
Many users believe that using an older FW requires to use an older VESC-Tool version. This was the case many years ago and for many reasons Vedder decided to make VESC-Tool compatible with older versions of VESC firmware to avoid the need to store multiple software versions of VESC-Tool.
The task was not an easy one! Since VESC-Tool offers features and settings that might not be supported in older FW revisions and things in the background might also have shifted into other places, VESC-Tool must recognise an older FW and then adopt the user interface and setting options according to the older FW. Without getting too technical here: VESC-Tool is not a static software any longer. It adapts itself to the FW found on the device. Therefore you can use the latest APP and desktop software to configure older FW revisions.
Since phone apps are typically kept up to date via the update manager, it makes sense to code an app in such a way and it also makes sense to have the desktop version matching the app version and vice versa. Now you know why you can use the latest version of VESC-Tool and still be able to configure your ESC without needing to update the firmware.
In this post I will show you two ways to load older or simply different firmware:
a) you use Vedders Github structure and download the required firmware and then you manually install it.
b) you use the convenient archive functionality built into VESC-Tool (see bottom of this post)
Option a, manually loading older FW from a git repository:
If you updated your device but you want to go back to an older FW revision you can still do so. All you need to do is download the desired FW revision and re-upload that FW onto your device.
For that purpose VESC-Tool offers the option to upload custom firmware.
You can have a folder with the relevant FW revisions you want to use with your device. In VESC-Tool you can choose four different custom versions and easily hop in between them. In the example below I have pointed to four different FW versions and chose to upload the FW 5.2. After the upload I will get a warning about the fact that I use older but compatible FW now.
Where do I find older FW revisions?
First thing you can do is browse the VESC-Tool change log. This can be found in the HELP menu, top menu bar.
Now we can see all the changes and the history.
The place to go now is Benjamin Vedder’s Github repository. vedderb (Benjamin Vedder) · GitHub
You click on VESC-Tool, then on res, then on firmwares
Then you change from Master to Release!
This is the direct link: vesc_tool/res/firmwares at release_3_01 · vedderb/vesc_tool · GitHub
After changing to the Release branch, we can click on the History button and then travel back to the desired location in time.
In the example below we chose a very old 5.01 FW, previously spotted in the VESC-Tool change log.
We then click on View at this point in history. Now we can pick the FW matching the device and download it to our computer and use it.
Option b:
The next release of VESC-Tool (post 3.01) will feature an archive of FWs that can be loaded into VESC-Tool if needed. VESC-Tool will then adopt the UI accordingly, once it finds the older FW on the device.
the Archive is online and can be downloaded via VESC-Tool if needed. This procedure will keep the software package a lot smaller. The built in archive eliminates any need for external software archives, since VESC-Tool itself now becomes the archive.
The latest BETA VESC-Tool (from 19.05.2022) already has it built into it.
So you can now either use Github to get the desired FW, or simply use the BETA VESC-Tool to downgrade your device. You can then switch back to the stable VESC-Tool to configure your devices.
I hope that this topic will help users to understand that they do not need a pile of old VESC-Tool versions to be able to revert the FW back to what it was before. The easiest way forward is using VESC-Tool itself as an archive of all the older versions.