You are here

2. Motor Setup Wizard

Submitted by frank on Tue, 2017-10-03 19:49

Configuration of your VESC® or VESC® based ESC using the VESC®-Tool Software.

In this tutorial we will configure a genuine VESC® motor controller in combination with a BLDC motor.
We will run the motor in FOC mode and we will make use of Hall sensors.

Make sure to use the latest VESC-Tool version!
Download from



Connect your VESC® to your computer using a mini/micro USB cable.

Mini USB is used for HW 4.xx only. Some cheap micro USB cables are designed for charging your
phone and will not work properly! Try another cable if you experience any issues.

Run the VESC®-Tool software.




VESC-Tool MSW_choose FOC

Now we get the following options:

FOC = Field-Oriented Control
Advanced control mode (sinusoidal, silent, more efficient,
better motor sensor operation).
May cause damage to 3rd party hardware!

BLDC = Trapezoidal Control
More simple control mode (block commutation), noisier, hall-sensor operation
less accurate at this stage. Safer for operation of 3rd party hardware.

DC = Only for DC motors. Use phase wire A and C only!

VESC-Tool MSW_choose FOC

Vesc-Tool_FW_current limits warning

The following explanations will help you to configure your current limits correctly:

Motor Current Max: The maximum current your motor can handle continuously (Ampere). Please refer to the motor specifications of your motor. You may use lower values to de-power your setup.
Our motor can handle 50A, but we will only set it to 30A to get started. You can boost your settings once you feel comfortable. A safe approach towards higher values is highly recommended (e.g. start with 15A only).
Hint: This value can be greater than the Battery Current Max value, resulting in a higher motor power output at part throttle. At max throttle the Battery Current Max is the limiting value if set lower than Motor Current Max
Motor Current Max Brake: The maximum current output you allow your motor to produce when operated as a generator. Electric vehicles may use the motor as a brake, generating energy when slowing down the vehicle. The energy produced will be stored in the battery. In this tutorial we will set the value to -25A to get started. The value should not be higher than the max. continuous current specification of the motor.
Hint: Higher values will result in stronger brakes if the Battery Current Max Regen settings allows the storage of the current generated.
Battery Current Max: The maximum continuous current your battery is rated for. Please refer to your battery specifications for safe settings. LiPo-pack batteries are usually C-rated. A 5800mAh, 25C rated battery can handle 5.8A x 25=145A max. Manufacturers often overrate the batteries and cutting the value in half is recommend. We will use 72A max for safety reasons.
Hint: Since our Motor Current Max is set to 30A, we could use 30A for the battery as well.
Technically there is no reason to use a higher value than the Motor Current Max.
Battery Current Max Regen: The maximum current you allow the VESC to push towards your battery or battery management system (if incorporated in your system) when braking. This value should not exceed the maximum charge current rating of your battery or capability of your battery management system. Our battery is 5C rated for charging. We use a 5800mAh battery.
5.8A x 5 = 29A max. charge current.  Again: Better be pessimistic with those values! We will set it to -20A.

Hint: Since this value is lower than the Motor Current Max Brake (-25A), the firmware will limit the ampflow towards the Battery to -20A, regardless of the higher value we specified for Motor Current Max Brake (-25A). In consequence our maximum motor brake force is limited by the lower Battery Current Max Regen value.

Vesc-Tool_MSW_current limits set

Vesc-Tool_MSW_battery cutoff_warning

Now we will configure your battery cutoff voltage.

If you discharge your battery below a certain voltage, it will get damaged permanently. LiPo packs or Lithium ion Batteries usualy operate between 4.2V and 3.1V per cell. Do not allow your system to discharge them beyond 3.1V per cell! For this reason the VESC will measure your battery voltage and will start to softly cutoff the power at 3.4V per cell (Battery Votage Cutoff Start) and it will perform a hard cutoff at 3.1V per cell (Battery Votage Cutoff End).

You can also set custom values if your cells have different ratings.

Battery Voltage Cutoff End = number of cells in series x minimum cell voltage

VESC-Tool MSW_battery cutoff_set values

Next step is the choice of motor sensors

Sensors help the VESC to know the rotor position in refenrence to the copper coils. This way the motor can perform a relatively smooth startup from 0 RPM. If your motor features sensors you should make use of them. At higher RPM, the VESC will use back EMFs to calculate the rotor position. The RPM for switching to back EMF operation can be defined later.

No sensors: without motor sensors the motor needs to turn a bit, so the VESC can calculate the rotor position from the back EMF current flow that the magnets will induce into the copper coils when they rotate around the  the motor stator. Startup from 0 RPM is possible but a bit shaky.

Hall sensors: A transducer that varies its output voltage in response to a magnetic field. Usually a set of three sensors are acurately positioned inside or outside the motor to roughly determin the position of the rotor.
Commonly used, not very precise, good enough to guarnatee a smooth startup of a vehicle from standstill.

AS5047 Encoder: This is a chip sensing the magnetic field of a diametrally magnetized magnet, attached to the motor shaft. The precision is very high (14 bit) and allows very accurate determination of the rotor position.

ABI: Output signal of an incremental rotary encoder (mechanical, optical or magnetic).

Our motor has Hall sensors, so we will choose Hall sensor operation.

Vesc-Tool_MSW_select sensors

Next step is to measure your motor parameters

For the best possible result, do the detection without attached drive train, propellers etc.

Every single motor is unique and the VESC needs to know certain parameters to run the motor. The VESC needs to know the motor resistance, electrical inductance and flux linkage (λ). From these basic values other values can be calculated that are essential for the motor operation. So that‘s what we will do now.

Step 1:measure RL
The motor will make a loud humming noise

Step 2:measure λ   
The motor will spin up. Make sure to disassemble propellers or lift up your vehicle from the ground or take any preparations necessary to allow your motor to spin up freely.

Step 3:Apply values

Vesc-Tool_MSW_motor parameter_01

Vesc-Tool_MSW_motor parameter_02

Vesc-Tool_MSW_motor parameter_03

Vesc-Tool_MSW_motor parameter_04

Vesc-Tool_MSW_motor parameter_05

Vesc-Tool_MSW_sensor calibration_01

Make sure that your motor can rotate freely, since the motor will start to turn slowly now.

Vesc-Tool_MSW_sensor calibration_02

Vesc-Tool_MSW_sensor calibration_03


Congratulations, you have finished the Motor Setup Wizard.

Please continue with the Input Setup Wizard.



I am trying to go through the set up wizard for a BDLC motor and it will briefly work but then instantly stop.  How can I debug this?


Motors have many advantages if we compare it to the engine. Cost is a major reason in any aspect that we take in the notice and i have read in essays-studymoosereviews as a major advantage of its lower cost than engines. Overall this article is new for me to get information from here..!!

A Metal Roofing System might seem expensive at first sight, but when you consider everything else involved, you will find that it’s actually the most economical and the most practical option to go with. metal roofing systems st petersburg

I started a website blog lately, and the information you offer on this article helped me a lot. Thank you for your writing. slot77

I could find useful information from your article, reading this is enlightening. I appreciate you spending your time and effort to put the wordings together. I find myself personally enjoying a significant amount of my time both to read and post this comment. But you know, it's worth! Slot Deposit Pulsa 10rb Tanpa Potongan

Took my chance to read many feedbacks, yet I actually love this article. It's worth the time and I am particular to amazed by the entire commenters here! marketing online