VESC Firmware Updates: How to perform updates the SAFE way

This guide explains how to perform firmware updates safely and the potential risks involved.

Performing Firmware Updates Safely

Unexpected Changes and Bugs: It is crucial to note that VESC firmware updates can sometimes introduce unforeseen changes and bugs that can cause problems with certain hardware configurations.

It is always strongly recommended to wait until the firmware has been thoroughly tested and reviewed by experienced community members before upgrading.

Do I need to update?

No!

Unless you have a specific reason why you need to upgrade you’re probably better off sticking to the version you have, ignore the prompt in VESC (go and disable it in Settings).

Which version is considered safe as of January 2026?

v6.06 has been out for several months now and is perfectly safe. No issues reported.

What you need to perform the update

Safe Update Procedure (First timers and beginners)

If you’re not sure or it’s your first time, follow all steps here, otherwise see Minimal Procedure below…

  1. Make sure you are connected to your controller - and not to your BMS or your VESC Express. If you can’t see the AppUI tab after 10-20 seconds of connecting, then press the CAN button on the bottom right, select your controller there and then wait for AppUI to load!

  2. Backup your settings. Before updating, back up your current motor, app, and package configurations using the VESC Tool app. This will protect your current settings and allow you to restore them if needed. If you are backing up Package configs (Float/Refloat), MAKE SURE that the AppUI and (Re)Float CFG tabs are visible at the top of VESC Tool before backing up. This ensures that the package is loaded and that the config files are backed up properly.

  3. UBOX only: Use a latching switch. Using a latching switch (instead of a momentary switch) during the update process is crucial to prevent accidental interruptions that could damage your controller. If your board uses a momentary switch, make sure to increate the auto shut off timer to 30min or disable if possible.

  4. Start the firmware update. Connect to your VESC with the VESC Tool app. In the firmware update section press the upload, uncheck CAN if prompted.

  5. Do not interrupt the update. It is essential to avoid interrupting the update process. Interruptions can lead to corrupted firmware and may brick your VESC.

  6. Confirm the update. After the update is complete, check if the VESC Tool displays the correct firmware version. If it doesn’t, you might need to update the bootloader.

  7. Load the package. Update the (Re)Float) package to the latest version. Package updates are available in the VESC Tool app from the “Package Store” (button on the main page).

  8. Restore your settings. After the firmware update, restore the configuration settings you backed up earlier. Double-check that all settings are restored correctly.

  9. Update the critical settings that may have changed between versions. Most notably: on v6.05 firmware you MUST go to FOC Advanced and fix the one nosedive setting at the bottom (someone please fix this)

NOTE: For best performance rerun the motor wizard or perform a manual motor calibration, or better: run Float Hub. This step ensures optimal motor performance and accounts for any changes in motor detection parameters introduced by the new firmware.

Minimal Procedure (Advanced Users)

  1. Backup Config - there’s a dedicated button for this on the main page of the VESC App
  2. Load Firmware - make sure the file is the right one so you don’t brick your controller (see here)
  3. Once done, reconnect to your board in the VESC App (don’t power cycle it!!)
  4. Load the same package again you used before
  5. Once the Package Cfg Tab shows up, Hit the Restore Config button on the Start Tab

Troubleshooting / FAQ

VESC Tool had no firmware file for my controller:

Some controllers may have custom firmware and VESC Tool isn’t able to offer matching new firmware for them. In that case:

  1. Download the correct firmware. Make sure to download the firmware file that is compatible with your specific VESC hardware. The VESC firmware archive is a good place to find the right file.
    → You can find latest versions here: VESC Firmware files - where to find the latest versions
  2. Verify the file integrity. Ensure that the downloaded firmware file is complete and undamaged. It is also advisable to rename the file to clearly identify it and avoid any confusion during the upload process.

Note: the right file ends in “.bin” and is usually 512kB in size - if it’s not ask for advice.

  1. Now load firmware from the custom tab Switch to the custom tab, then pick your

I loaded firmware successfully but the version is still unchanged

If you’re loading firmware for your very first time this is not uncommon. Most likely you need to load the bootloader.

This sounds scary but it’s not! On the firmware page go to the bootloader tab, accept the default choice and start the upload. Only takes a few seconds. Zero risk!

Once that’s done, go and restart from step 3

I can’t connect from the VESC Desktop App

Use tunnel connection via VESC Mobile App. See our guide below:

Any other issue?

If you experience any issues during the firmware update process, you can ask for help here:

  • PEV.dev: You can use our search and create a new topic in Help Desk
  • VESCify Discord: Go into the #issues channel and provide all detailed information aroud your issues
  • YouTube channels: Channels like “surfdado” and “The Board Garage” frequently provide tutorials and guides on various VESC-related aspects, including firmware updates.

By carefully following these instructions and utilising available resources, you can safely update your VESC firmware and take advantage of the latest features and performance improvements. Always err on the side of caution, and if you have any doubts, consult with the community before proceeding.

2 Likes

@surfdado love the edits, I will add some headings etc to make it even more clear :slight_smile:

Also, after each edit, can you just note your “approval” as a new reply? That way I can mark the post as verified and set you as author if that’s ok with you :slight_smile:

1 Like

Ah yes, sorry - makes sense

1 Like

Should the section on the UBOX be updated to say ~“use a latching switch, period”, based on what @surfdado mentioned in one of his recent videos on the lite?