Many new users may find the VESC confusing or not understand what they are doing. I 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 know as transmitter/reciever 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, lets 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
They’re 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.
On top of that, some vendors, like Ollin Board Co (i.e. @chaka) offer direct FETs, which are thiner and deal with heat a little better.
Enertion took it’s own route with the VESC-X (now named the FOCBOX, keep reading for more info), which seems to be based on the VESC 5 design. Again, direct FETs are used, and the max amp rating is much higher.
The VESC 5 was scapped 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 really powerful single drive or dual drive boards, but is an over kill for most. At this point, it looks to be better suited for electric bikes than electric skateboards, especially given the projected price tag.

Difference between VESC-X (i.e. FOCBOX) and VESC 4.12 (or lower VESC versions)
The VESC-X runs on a different tool than other VESCs. As a result, you should download those from enertions site.
• For windows, Click Here450.
• For Mac, Click Here163.

Recent changes to the VESC
Vedder recently, with the help of Trampa, trademarked the VESC. This means only Trampa can sell the VESC under the name VESC anymore. Thus, companies are being forced to changed the name of their VESC based speed controllers.
• The VESC-X is now named the FOCBOX
• For Esk8.de14, the VESC 4.12 is now called the ESK8 Controller
• For Torqueboards, i.e, diyelectric, the VESC 4.12 is called the Torque ESC

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 Here143 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. I use one I bought on amazon for around $45 USD. 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 like Torque Borads, Enertion, Axle, Esk8.de14, or Chaka.

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.

For more specific segments
• Here’s how to setup the receiver and brakes
• Here’s more info about setting up the Regenative breaks
• Here’s how to setup the Nyko Kama wii remote
• Here’s how to setup dual motors through the canbus port
• Here’s an explanation about the difference between Duty Cycle and Current Control
• Here’s an explanation of how to do motor detection
• Here’s information about limiting the voltage of your battery

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 reach 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 comparision of BLDC and FOC, Read This286!
To configure FOC mode, Vedder himself has put together a youtube video, which is linked from This Thread.

Watt Control Mode
A member of the community @Ackmaniac modified both the BLDC-tool and the VESC firmware to add a mode called watt control. Basically, instead of adjust amps like control mode does, it controls watts, which takes into consideration voltage. As a result, you can decrease the negative impact on performance of sag.
To read more about it and downloads, read his thread Here.

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 th 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!