The newest update to VESC Firmware and VESC Tool is here, with the biggest change being that the Balance App is moved over to a new feature called VESC Packages, allowing package updates with no firmware update needed, custom UI, XML saving/loading from mobile, writing Balance config while riding, and the freedom for other developers to create custom packages with their own parameters and functionality. Taking advantage of this, we have ported all the features from Dado’s ATR Firmware into the “Float Package,” which features removed unneeded parameters, properly named new parameters and features, usable default/min/max values, informative Help text, and more.
This guide will walk you through the simple process of upgrading to the latest VESC Tool and FW to try for yourself, while maintaining your motor and app (IMU) configurations. Note that this guide assumes you already have a working VESC 5.3 setup. If you are setting up for the first time, the process is fairly similar. Instead of recovering configs, just follow along with guides that are already out there for motor setup, and for IMU Calibration, use the newly included IMU Wizard. I will likely make a video on this process at some point.
The following is a pretty hefty wall of text to keep things clear, but the process is honestly pretty straight forward. If you are comfortable with VESC, just follow the TL;DR below, and reference the following text as needed for clarifications.
- Take note of your current Balance settings (for manual input later)
- Download VESC Tool 6
- Backup working FW 5.3+ Configs (also save to XMLs, with recognizable names)
- Upload stock VESC 6 Firmware
- Restore your backed-up configs
- Set App to Use to UART (App CFG → General) - do not set to “None/No App” or you may lose Bluetooth!!
- Set Accel Lowpass Filter Z to 1.0 Hz (App CFG → IMU)
- Install the Float / Balance Package
- *Balance Package Only* Load up a known working Config XML
- Adjust Loop Hertz and HV/LV Tiltback Thresholds to match your board specs
- Manually tweak default settings to match your previous / preferred Tune
Note your current Balance configs!
The new packages feature means that Balance Configs are no longer stored in the App Config, and will not transfer over! If you want to keep track of your tune and move it over to the new update, I highly recommend taking note in someway of the different values, such as by screenshotting or screen recording. You could just reference the raw XML itself as well, though with parameter names changing and what not, this could get pretty confusing. Luckily, following this guide, either Package will have solid values to start with, so you only have to take note of your most notable tune tweaks to get up and running. Once you’re ready to go, feel free to move forward.
Download VESC Tool 6:
The latest VESC Tool can be accessed in the same way it has in the past, either through the VESC Project website for Desktop, or your device’s app store for Mobile.
For Desktop, navigate to https://VESC-Project.com/vesc_tool. If you have downloaded VESC Tool before, you can simply log in at the top right of the page. If not, scroll down and choose the version of VESC Tool you desire (same features, just a way to support the developer), and go through the checkout process to gain access to VESC Tool.
Once you are logged in, select “Purchased Files” at the top right of the web page. Here, you will see the various download options for VESC Tool. Select the option that corresponds to your operating system, and extract the zip folder to access the latest VESC Tool.
Flash VESC FW 6:
This process can be done on either Desktop or Mobile, whichever you prefer. If you have ever flashed firmware before, this process will be no stranger to you. First, backup your configs using your preferred method. On Mobile, this is done on the Start screen using the Backup Configs button. On Desktop, from the Menu Bar found at the top left of the Window, you can either backup under ConfBackup → Backup Configuration, or you can save your Motor and App XML’s individually under File → Save Motor/App Configuration XML as… .
Once your configs are safely backed up, navigate to the Firmware Menu (found on left sidebar on Desktop, or on top NavBar on Mobile). Go to the “Included Files” page/tab, where you will see a VESC_default.bin ready to go with your controller listed (i.e. Little_FOCer_V3_1). If there is no discrepency here, feel free to hit the upload button and proceed through any pop-up warnings to begin flashing (“Upload” on Mobile, or a Down Arrow on Desktop). Upon successful completion (may need to try again if it disconnects / times out), you will receive an alert confirming the upload is done, and the controller will automatically reboot itself after about 10 seconds. You may need to disconnect and reconnect following this.
From here, simply restore your backed up configs. On Mobile, this is done using the Restore Configs button on the Start tab. On Desktop, this is done through the Menu Bar, either through ConfBackup → Restore Configuration, or through File → Load Motor/App Configuration XML and writing the changes, just depending on which method you used to save your backups. You may get a warning about the motor configuration potentially not being compatible, but this hasn’t seemed to be the case so far as long as you were on FW 5.3 or newer. If you run into any issues, consider running Motor Setup.
Once this is all done, assuming you had a working VESC FW 5.3 config, you only need to make two changes. First, navigate to App CFG → General, and set your App to Use from Balance (or whatever it may be) to UART. Second, navigate to App CFG → IMU, and set your Accel Lowpass Filter Z to 2.0 Hz. This applies the same Nose Hunting / IMU Confusion fix found in Dado’s latest custom firmwares. And of course, make sure to WRITE your App CFG to apply these changes.
Install the Float / Balance Package:
The only step left to do is load up the desired package! The stock Balance App has been packed into its own package, which replaces the Balance App completely. Along with the Balance Package, we have now developed the “Float” Package, which is tailored for Onewheels specifically and packs in all the features of Dado’s ATR firmware, all with properly named parameters, usable default values, informative help text, safe to use max/min values, and more. For the majority of riders, we strongly recommend the Float Package for the best experience, though the original Balance Package is still available to you, just requiring a few extra steps. Luckily, both can be installed with ease from either desktop or mobile. Here’s how:
EDIT: The packages tab seems bugged currently on iOS, not updating properly. If this is the case for you, you must use desktop or Android VESC Tool for this step
Navigate to either the “VESC Packages” tab on Desktop’s left sidebar, or the “Packages” tab on Mobile’s top NavBar. From here, if you are on Desktop, make sure you are under the “Package Store” tab. And from either device, locate the “Update Archive” button and select it to refresh the list of available packages. Once this is loaded, you can either select “Float” or “Balance”, depending on your desired package, and select “Install.” This process will take a moment, and upon completion, you will receive an alert confirming the upload was successful. From here, you must disconnect and reconnect for the package to properly update the VESC Tool UI. A custom “AppUI” tab (found on Desktop version in the Welcome & Wizards screen) should now be available, as well as the new “Float CFG /Balance Settings” tab, where you can find your config.
The Float CFG tab is where you can find your config. Usable default values will automatically be loaded and ready to go, though feel free to look around, check the help texts for more information, and change parameters to your liking to fit your preferred tune. Just note that some parameters will be scaled differently than you might be used to. For example, a previous “Deadzone” value of 3 is now an “I Term Limit” value of 30, and an ATR Strength of .15 is now 1.5. And lastly, be sure to check out the “Specs” tab under Float CFG to make sure the values match your setup. By default, it’s loaded up for a 63V battery and Little FOCer V3.1 (832 Hz).
Float Package adds many new features and parameters, and it may be overwhelming at first. That’s why the Help texts for all parameters, old and new, have been overhauled to be much more helpful and informative! Be sure to check out the Help text for more context on what certain features might do.
As a note, ATR is enabled by default, and is now in it’s own tab separate from Torque Tiltback. If you’re coming from Stable (not Dado’s ATR Firmware) and would like to start with the tune you’re familiar with and tweak from there, feel free to set ATR strength to 0, and setup Torque Tiltback however you would like. Or even feel free to enable both ATR and Torque Tiltback simultaneously, as they can now be used together! It’s setup in a way to prevent them from stacking and overreacting on steep inclines, so feel free to give it a shot and see how you like it!
If you are coming from Dado’s ATR Firmware, you are likely used to the variety of features that were accessed through repurposing unused parameters and using the decimal values of other parameters. This is no longer necessary, and all features now have their own parameters and are properly organized! If you struggle figuring out what’s what compared to the old way of doing things, be sure to reference Dado’s spreadsheet; most new parameter names are based on how they are named there.
The Balance Settings tab is where you can find your config. Parameters will look a bit different than what you are used to from 5.3 due to new additions, and some parameters you may know from Dado’s custom firmware (such as what is formerly accessed through Deadzone and Yaw P) now get their own parameters (I Term Limit and Rate P respectively).
While you can reference your previous Balance config by accessing the Balance tab under App CFG (Will need to change App to Use to Balance to access on Desktop), I highly suggest just starting with a solid working config XML to start and adjusting from there. I’ve attached one here. This XML can be loaded using buttons found at the bottom of the config screen itself. And as always, don’t forget to Write after loading! Just note, this is based on a 63V Battery and Little FOCer V3.1 (833Hz), so you may need to change your Loop Hertz and HV/LV Tiltback Thresholds if you differ from that.
As a final note, I do want to clarify things on two new features. First, you are now able to write Balance/Float config settings while riding! Please use this with caution; it’s generally safest to still come to a stop before doing so. Be smart about it. And note, that this does NOT apply to App/Motor configs, which WILL still disengage the board when written to.
Second, saving XML’s is now possible, allowing easily switching between saved tunes! There’s a few things to note. First, when saving, make sure to name your file with “.xml” at the end. Otherwise, the save will likely fail. Additionally, I know I personally have had issue with trying to overwrite existing XML’s. I’m not exactly sure why this is or if this applies to all devices, and Vedder was unable to fix it for now, so just keep this in mind. I personally keep all my XML’s in their own folder, and if needed, I use Android’s built in file manager to delete old configs since I’m not able to overwrite them.
That should about cover things. If you have any questions at all, or discover any issues with this guide, please feel free to leave a reply below so we can help everyone out and make sure things stay accurate and up-to-date. Excited for you all to try this out, take it easy and happy shredding!