How To Program A Vesc

How To Program A Vesc

Tutorial: How To Program a Vesc

Deciding on what ESC you want to use on your DIY electric skateboard is very important. The more I talk to people the more I am figuring out that many of our customers are purchasing the cheaper ESCs simply because the word "Programming" scares them. Luckily the software that goes along with programming Vescs is very user friendly and doesn't take a whole lot of work or knowledge. I've shot a whole video on how to do it to make it as easy to understand as possible. I'll link that below. For those of you who just want a standard step by step guide written out for you, scroll down a little bit. We got you covered too. 

↓↓↓↓ Step By Step Guide Below ↓↓↓↓

Step By Step Guide

Step 1: Download Software

Click the following link to download the software. The website is set up like a store so select the free product and continue through check out to the download page.
Download Link: 

The software only supports Windows, Linux, and Android. For Mac users, Follow the following tutorial to run Windows on your Mac. 

Step 2: Connect Your Hardware

- Connect the 3 phase wires on your motor to the wires on your Vesc
- Connect the included sensor wire adapter to your motor and your Vesc
- Connect your Remote receiver to the build in Servo Cable using the Ch 1 port
- Connect your Vesc to your computer via the included Mini USB cable
- Supply power to your Vesc

Vesc Used in Tutorial:

VESC V4.12

FSESC 4.12 Based on VESC®


Step 3: Launch Vesc Tool

The very first time you open the Vesc Tool you may be greeted with a few welcome messages. Get through those and come back to the tutorial when you are ready.

Step 4: Connect Vesc

The first step in programming our Vesc is to connect to it with the software. Click on the large connect button on the bottom left of the window.  

Once connected you'll see some green highlighted text appear in the bottom right corner of the window.

Step 5: Motor Set Up Wizard

Once your Vesc is connected click on the button to the right of the "Connect" button that read: "Motor Setup Wizard [MOTOR]". This will launch the Motor Setup Wizard and a smaller window will appear.

Step 6: Motor Set Up Wizard Splash Screen

Once you select the Motor Setup Wizard button a splash screen will pop up. Select the "Next" button.
You will then be prompted wether or not you want to load the default settings, select the "Yes" button. 

Step 7: Select Motor Type

Three options will com up: BLDC, DC, and FOC. The MBoards Motor and FSESC run very well in FOC mode. So we will go ahead and select FOC. Then click "Next".

Step 8: Set Current Limits

A Warning box will appear. Read carefully and select "Okay". There are 4 values that we need to plug in. The first two pertain to the acceleration and braking power of our motor. The default 60.00A and -60.00A work well and won't strain your motor. If you want to change these values please reference your specific motor's specs and plug in a higher number that is less than your motor's Max Amperage. 

The 2nd two values pertain to the battery. Battery Current Max is referencing the maximum discharge rate we want to allow from the battery. Carefully read your batteries spec sheet and plug in something reasonable. Pushing this too high will damage you battery and/or Vesc. In this case we chose 35.00A. Battery Current Max Regen is referencing the amount of power that will be going back into your battery while you brake. Change this to a number that your battery can handle. Many people select values around 5amps to be safe. In this tutorial we are going to push it to 10.00A. 

Once you are done plugging in the appropriate values click the "Next" button.

Step 9: Set Voltage Limits

Setting voltage limits makes sure that we don't discharge our batteries too much which would ultimately damage our expensive battery. This step has gotten a lot easier with the release of the new Vesc Tool. Al you have to do is enter in how many cells you have in series in the cells box and then hit the "Apply" button. In this case, we were using a 6s Battery but be sure to enter in the correct Cell count for your battery. You will see a few of the values automatically change when apply the settings. And that's it. Hit the "Next" button when you want to move on. 

You can tweak the Battery Voltage Cut Off End a bit to help extend your range. But you want your battery to stop discharging when each cell is at around 3 volts. So if you were using a 10s battery the Cut Off End should be around 30 volts total. A 6s battery will be around 18 volts. 

Step 10: Choose Sensor Mode

There are only 4 options here. 2 of those pertain to Electric Skateboards. If you aren't using a sensor in your build then you will select "No Sensor". If you are using a sensor then you will need to select "Hall Sensor". In this case, we are using sensored motors so I chose "Hall Sensors"

Once you have made your selection click "Next". 

Step 11: FOC Settings

This is definitely the "scariest" looking page through out the entire tutorial. There is a lot of symbols and numbers that don't make any sense. Luckily there is almost nothing to this step. I'll break this step in 3 parts to make it simple. You can click the little question mark button if you want to read up on what each button actually does. 

Part A: The RL Button

Start off by clicking the RL Button. You'll be greeted with a little warning message explaining that your motor is going to make some noise. Hit "Okay". You'll hear a pretty loud buzzing sounds and see slight twitches from the motor. After it is done you'll see a bunch of green boxes appear with updated values. 

Part B: The weird symbol Button

Continue down the arrows to the next button. Click the weird symbol button. You'll be greeted with another warning box. It will tell you that your motor will spin up and to move anything in your motor's way. Once you hit "Okay" your motor will spin for about 2 seconds. Again you'll see some green boxes appear with updated values.

Part C: Apply the new values

Keep moving down the line of arrows to the "Apply" button. Select it and the measurements we just took will take effect. Once you do that hit the "Next" button.

Step 11: FOC Hall Sensor Settings

We don't need to change anything on this window. Skip it by hitting the "Next" button then hit the "Finish" button to close out of the Motor Setup Wizard.

At this point your board may work just as you would expect. But we still need to do a couple more things to be sure it is done correctly.

Step 12: Input Setup Wizard

To begin remote calibration select the large "Input Setup Wizard [APP]" button. A splash screen will pop up. Click the "Next" button and select "Yes" to the next message.

Step 13: Multiple Vescs

This window is pretty simple. 

If you are using 1 Vesc click the 1st option.
If you are using multiple Vescs and currently programming the Master Vesc click the 2nd option.
If you are using multiple Vescs and currently programming a slave Vesc click the 3rd option.

In this case, we are using a single Vesc.

Step 14: Choose App

There are only a couple of options here. Simply select the type of remote you are using. If you are using any of the remotes found at or any wireless electric skateboard remote then 1st option is what you want to select. 

Step 14: PPM Mapping

Turn your controller on. Wait for it to pair. 

Hit the throttle forward all the way. You'll see a green line shoot across the window and hover at a certain percentage. If it is at 100% then you don't need to do anything. If it's not at 100% we can fix it. While your controller is at Full Throttle take a look at the number jittering around next to the percentage. Take your best guess at about what number it's hovering at and plug that value into the "Pulselength End" box. You should see the percentage get closer to 100% when full throttle is applied. It doesn't need to be exaclt 100%, 99% is close enough. Don't stress.  

Not apply the full brakes. We are going to repeat the previous step. If you are at 100% then you are good. If not, plug in the approximate MS reading next to the percent in the "Pulselength Start" box. 

If your controller isn't centered. Like the green line isn't hovering at around 0% when you aren't touching your controller then mess with the value in the Center box. 

Once we are done with this hit the "Apply" button and then the "Next" button.  

Step 15: Finish Programing

 We can skip the next window that pops up (PPM Configuration). Hit the "Next" button.

The final splash screen will appear. Hit the "Finish" button. 

You are done. Your Vesc should be completely operational. BUT WAIT. Don't go unplugging things willy nilly. Head up to the top right hand corner of the window and click the disconnect button. The words "Not Connected" will appear at the bottom right of the window. NOW you are okay to disconnect everything.  

Leave a comment

Please note, comments must be approved before they are published