VESC-Tool archive of older releases and firmware versions. The total guide.

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.

6 Likes

Here’s a GitHub Fork with release versioning, totally in compliance with GPL:

Much easier than having to dig through hashes from commit history.

Edit: this has been nerfed

13 Likes

Another list: Precompiled VESC Tool Archive

1 Like

Is there a list of all the firmware versions with release dates? How would I find version 3.65 on github for example?

The other nice thing about an older version of the VESC tool instead of just the .bin firmware is that it will automatically match the firmware to the hardware that it detects so you don’t accidently upload the wrong firmware.

2 Likes

Chatting with Benjamin on this topic, and he came back with a solution for it that I think is perfect as it provides exactly what most folks use the release versioning for + VESC-tool will already automatically adjust itself to the connected firmware version. We really just lacked a historical archive of firmware releases.

From Vedder:

You can now get every firmware back to version 3.55 from an archive-tab in vesc tool.

This was extra tricky as the firmwares take 250 MB compressed, so I can’t include them all in vesc tool without making the executable much larger. You have to use the download button to get them the first time, after which they will be cached for the next time you open vesc tool.

I did skip 5.00 as it has a dangerous bug that can make the throttle get stuck, and the only difference with 5.01 is that this bug is fixed.

13 Likes

The topic was already updated, see original post above. VESC-Tool will get some more online connectivity
in the foreseeable future, allowing custom code sharing and some other stuff. So all this work on the archive was already a step into the direction of a better connectivity that makes VESC-Tool more and more convenient to use. Vedder is always good for a surprise! Big props to him.

3 Likes

:heart: :ok_hand:

tx ben!

1 Like

nice feature, but why is it SOOOOOOOOOOOOOO slow? it took me ~15-20 min to “download/redownload archive” and my connection is fairly decent too ~40 Mbps

2 Likes

because it’s hosted on vedders slow home server.

3 Likes

Ah that explains it. The files should just be downloaded by default with the tool then.

@Trampa what do we do when vesc tool crashes whenever attempting to download the archive?

You download the right vesc tool version with the FW you need instead :grin:

1 Like