October 30, 2019

Article reprint from evoheyax

Many new users may find the VESC confusing or not understand what they are doing. This tutorial will attempt to break this barrier down and congregate all the VESC information across this forum here.

Background Information

First off, you need to understand the VESC is a speed controller, which is sorta like the brain of your electric skateboard. It’s the middle man, between your input through a controller (also known as transmitter/receiver system) and your motors.

You should understand some basic terms too. I will give you an analogy so you can try to visualize it.

Voltage - Think of it like how big a muscle is
Amps - Think of it as how much energy you can send to that muscle

  • You can have huge muscles, so moving something with that muscle takes less energy than someone who has smaller muscles (i.e. high voltage, low amps) (a good example of this is running at 10s and only 15 amps per motor)


  • You can have small muscles, which means to do the same as the big muscles, you need more energy. (low voltage, high amps) (a good example is 6s and 120 amps per motor)

Now that you have some background about voltage and amps, let's get to the VESC.

About the VESC

This speed controller has the ability to do many things a normal RC speed controller can not. One of those is limiting the amount of amps that come from your battery to your motors. An easy way to burn up a motor is by sending it more amps than it can handle for too long (often while riding up a hill). This means you should never burn up a motor with a vesc (unless you set this limit too high). There’s also many other protections that can be set through limits, such as the max temperature you want the vesc to get to (so you can’t burn up the speed controller), min and max input voltage (so you can’t pull the voltage of your battery under a safe limit, which would brick your battery), and max regenerative break amps (protects battery from having too many amps sent back in to it). So you can protect your entire electronic system from making some of the most common user mistakes by setting these limits correctly.

Variations of VESCs

There are many different VESC’s on the market and none of which are equal. Few actually use vedders BOM to the tee anymore, creating their own mods to increase stability. So buying a VESC 4.12 from one vendor is not the same VESC 4.12 of another vendor.

The VESC 5 was scrapped for the VESC 6, which is not yet released, though prototypes exist showing it’s increased max continuous amps and increased FOC stability.

The VESC 4.12 can do 27 amps continuous before going nuclear.
The VESC 6 can do 50 amps continuous before going nuclear.

The VESC-X is unknown at this time, though it’s claimed to have a higher amp rating than the VESC 4.12.

The VESC 6 may be a good option for a really powerful single drive or dual drive boards.

    Downloading BLDC tool

    Now, the first thing you should understand is when you get your vesc, you need to find the correct BLDC tool. There are mac/linux/windows versions, but you need the bldc tool with the same firmware as the one pre-installed on your vesc. If you are unsure which firmware your vesc came pre-installed with, ask the person you bought it from, or download any version, and when you attempt to connect your vesc to the bldc tool, you will get an error which will tell you which version of firmware you have. For instructions on connecting your vesc, read below.

    You can update or downgrade the firmware to match the version of bldc tool you have, but this should be a last option solution if you really can’t find the right tool. You can fry the drv chip on your vesc by doing a bad firmware update, which is very easy to mess up, and would make your vesc an expensive paper weight.

    • To download the BLDC too for Mac or Windowsl, Please wait. There is no link at this time.
    • To download the BLDC tool for Ubuntu, Click Here 335 and follow the instructions in the README file.
    • For information about upgrading firmware, Click Here.

    Now that you have the correct BLDC tool, you can connect your VESC to your USB type b cable to your vesc, and the other end to your computer. Now is a good time to talk about powering the VESC for configuration. Both Vedder (who is the guy that engineered this speed controller) and onloop (a prominent seller of the vesc) recommend using a lab rated regulated power supply to power the VESC during configuration. This however, may not be necessary. Chaka, another prominent seller of the VESC, suggests you only need to do this when powering up for the first time, and his have been powered before shipping, thus with his, this is not necessary. You can read more about Chaka’s Low power recommendations Here. It’s most important to use a regulated power supply if the VESC has never been powered up before. This is not an issue for those buying VESCs from any of the prominent VESC sellers.

    Connecting through BLDC tool

    Now that you have it powered and physically connected, its time to make the software connection through the BLDC tool. Select the right port (not the Bluetooth one). You should have only 2 options, the Bluetooth and another. Click connect. And in the bottom right corner, you should see a green status with your current firmware version. This is the time that you will see an error message if the firmware on your vesc and the version of BLDC tool you have do not match. You can solve this mismatch by downloading an older version of BLDC (the one that matches your firmware version), or flashing the firmware (first option is much safer), as linked above.

    Configuring your VESC

    Now, onto the configuring itself. Here is an article explaining what you need to modify to get your vesc running.

    To see how you make these change, Jaccobly has done a fabulous video found Here.

      Side Note

      Please note, if you are configuring on a lab rate Regulated power supply, you will have issues controlling the motor after configuring the receiver and doing motor detection. Your motor will nudge a tad bit, if at all, and stop immediately. This is because the power supply is not giving the vesc enough amps. To get around this, when you think your settings are all good, test it using your battery.


      Now that you have reached this point, you should now have working settings and allow you to run your motor through your controller. In theory, this can be your ending point, there is, however, one last feature of the vesc that separates the vesc from other speed controllers, and this is a mode called FOC, or Field Orientated Control.

      Instead of running in BLDC mode, you can run in FOC mode. For more information about what FOC mode is, Read This!

      For a comparison of BLDC and FOC, Read This 707!

      To configure FOC mode, Vedder himself has put together a youtube video, which is linked from This Thread.


      Now, you should hopefully have a working and correctly configured electrical system. If you don’t, read this article. A lot of useful debugging information is there.

      If anything in this guide seems misleading or inaccurate, or you feel points are missing, please post so below. This is the information I have gathered from my experience of using the VESC. I’m am not an electrical engineer, nor have I taken General Physics II with applied calculus, which focuses mostly on the physics behind electricity. So I have not the best person to ask technical questions to.

      Thank you for reading and I hope this will help!



      Leave a comment

      Comments will be approved before showing up.