Veronte MC25KW¶
This document describes the main functionalities of the MC25KW Speed Controller.

MC25KW Main view
Veronte MC25KW speed controller is capable of driving any type of 3-phase PMSM motor. It can be used with a wide variety of UAVs or eVTOL vehicles and also in automotive applications (Bikes, Karts, Cars).The MC25KW uses FOC algorithm for motor control together with IGBT (Insulated Gate Bipolar Transistor) technology.
MC25KW Speed Controller offers IP68 protection, allowing the operation under rain and extreme humidity environments.
MC25KW Speed Controller working voltage range is 75-550V with a maximum continuous current of 200A (up to 100kW).
The system has a temperature range of -40 to 65ºC. For higher temperature, a power limitation will be applied.
System Layout¶
Main Scheme¶
The speed controller is divided in two main items.
Capacitance board.
Controller System.
These items must be as close as possible. The maximum distance between both is indicated in the following image.

Hardware Installation¶
When installing the MC25KW speed controller in the vehicle, the following limitation shall be considered:
The maximum distance between Capacitance Board and the Controller System is 0.1m
The distance between the battery, the controller system and the motor should be as short as possible in order to maximize the efficiency. It is preferable to place the controller system as close to the battery as possible and extend the cables from the controller to the motor. Calibration will be needed depending on the final setup.
The wire connections type between the power items must be crimped not soldered.
The system must be placed in a ventilated place with proper air flow. If this is not possible, it is necessary to install an external fan.
The vehicle must have an inrush current limiter when powering MC25KW for the first time.
Note
When working voltage is higher than 60V, use of insulating gloves are mandatory for installation and the system must have a chassis fault detection system.
MC25KW Capacitance Board¶
Description¶
This equipment integrates the capacitors needed to store enough energy for a proper performance.
Embention offers 3 different versions, dependent on the working voltage.
200VDC
400VDC
550VDC
The selected battery voltage must be always lower than the nominal Capacitance Board voltage.
Mounting Instruction¶
The Capacitor Board has the following dimensions:
Operational Characteristics¶
Veronte eVTOL MC25K-C 200V.
Type |
Specification |
---|---|
Allowable Voltage |
0-200VDC |
Input maximum rms current (20Khz) |
200A |
Note
Motor phase inductance shall be higher than 5uH.
Veronte eVTOL MC25K-C 400V
Type |
Specification |
---|---|
Allowable Voltage |
0-400VDC |
Reccommended Voltage |
200 - 400VDC |
Input maximum rms current (20Khz) |
200A |
Note
Motor phase inductance shall be higher than 40uH.
Veronte eVTOL MC25K-C 550V
Type |
Specification |
---|---|
Allowable Voltage |
0-600VDC |
Reccommended Voltage |
400 - 600VDC |
Input maximum rms current (20Khz) |
200A |
Note
Motor phase inductance shall be higher than 90uH.
Cable Mounting¶
The polarity and connection is indicated in the following image.
The section of the input cable must be 25mm2.
Warning
The polarity must be respected. Otherwise a short circuit will occur.
MC25KW Controller¶
Description¶
This section includes the driver and control systems. The block diagram of the system is shown below.

Peripheral used for motor control:
Opto Isolated PWM
CAN bus
Peripheral use for ESC telemetry:
Serial RS-232
Serial RS-485
USB
Any of the serial interfaces can be used to configure the internal variables of the MC25KW.
The ESC includes an internal flash memory which is used to record operating logs. The variables to store can be selected through the corresponding interface.
Note
The selected configuration interface cannot be used to send telemetry.
Pinout¶
The communications connector pinout is shown in the following table:

Main Connector
Pin |
Signal |
Type |
Comment |
---|---|---|---|
1 |
HALL 1 |
Digital Input |
|
2 |
HALL 2 |
Digital Input |
|
3 |
HALL 3 |
Digital Input |
|
4 |
OPTO+ |
Optocoupled Input (positive) |
|
5 |
GND |
Digital Ground |
|
6 |
OPTO- |
Optocoupled Input (return) |
|
7 |
GND |
Digital Ground |
|
8 |
SYS ERROR |
System status signal |
High: OK, Low: NO OK |
9 |
COS Signal |
Cosine input signal |
Sensored mode |
10 |
SIN Signal |
Sine input signal |
Sensored mode |
11 |
Analog 0 |
Multipurpose analog |
|
12 |
Analog 1 |
Multipurpose analog |
|
13 |
GND |
Digital Ground |
|
14 |
GND |
Digital Ground |
|
15 |
IN 485 + |
RS-485 Communication |
|
16 |
IN 485 - |
RS-485 Communication |
|
17 |
OUT 485 - |
RS-485 Communication |
|
18 |
OUT 485 + |
RS-485 Communication |
|
19 |
RS-232 TX |
RS-232 Communication |
|
20 |
RS-232 RX |
RS-232 Communication |
|
21 |
GND |
Digital Ground |
|
22 |
GND |
Digital Ground |
|
23 |
12V |
No fuse protected 12V output |
1A |
24 |
5V |
Fuse protected ouput |
100mA |
25 |
3.3V |
Fuse protected output” |
100mA |
26 |
GND |
Digital Ground |
|
27 |
USB- |
USB Communication |
|
34 |
USB VBUS |
USB Supply |
|
35 |
USB + |
USB Communication |
|
36 |
USB GND,USB Ground |
||
37 |
GND,Digital Ground |
For AUX Input |
|
38 |
GND,Digital Ground |
For AUX Input |
|
39 |
AUX INPUT |
Digital supply,8-20V |
|
40 |
AUX INPUT |
Digital supply,8-20V |
|
41 |
CAN GND |
CAN Ground |
|
42 |
CAN GND |
CAN Ground |
|
49 |
CAN B - |
CAN Communications |
|
50 |
CAN B + |
CAN Communications |
|
58 |
CAN A + |
CAN Communications |
|
59 |
CAN A - |
CAN Communications |
|
64 |
1.8V Out |
Motor Thermistor |
|
65 |
GND Out |
Motor Thermistor |
|
68 |
NTC Signal |
Motor Thermistor |
Max: 2V |
Peripheral Specification¶
AUX Supply
This is the main power input for the secondary part of the driver. It must be powered with a voltage of 8 to 20V.
The consumption of this pin also depends on the loads connected to the 3.3V, 5V and 12V pins.
Status |
Value |
---|---|
Standby |
6.6W |
Active |
13.2 |
Note
No load on 3.3V ,5V and 12V outputs.
HALL Inputs
These inputs are used to add to the system a feedback in sensored mode (incremental type, usually magnetic).
PPM Inputs
This input is an optocoupled control digital signal.
The input is interpreted as 0-100% of the maximum RPM. An initial dead band can be configured to prevent the engine from starting.
Type |
Specification |
---|---|
Input voltage range |
0-5V |
Minimum input current |
2.5mA |
Maximum frequency |
250Hz |
External Temperature Sensing
A PTC or NTC sensor can be integrated. The maximum voltage on this pin is 2V.
The PTC/NTC should be connected on the low side of an external resistor divider. This is the configuration by default. A high side connection can be used too, but a custom modification is needed.
The isolated 1.8V output should be floating in default mode. The isolated ground is the return path of the NTC/PTC sensor.
System output signal
This signal indicates if there is an error within the MC25KW. A positive voltage of 3.3V means that there is no problem.
Analog Inputs
These signals are non-isolated. Then, they shall not be in contact with the sensitive parts of the installation. The maximum voltage for these inputs is 3V.
The signals in pins 9 and 10 are those dedicated to the SIN / COS type analog sensor.
USB
This is the interface normally used to configure the MC25KW internal parameters.
The connection and disconnection of the USB related signals should always be done when the power supply (via the AUX_INPUT inputs) is on.
Note
Not recommended for sending telemetry by default.
RS-232
Single ended serial type protocol:
Type |
Specification |
---|---|
ESD Protection |
±15 kV (HBM) |
Requirements |
TIA/EIA-232-F and ITU v.28 |
Speed |
Max. 250 kbit/s |
Input Voltage |
-25 to 25V |
Output Voltage |
-13.2 to 13.2V |
RS-485
Differential serial type protocol:
Type |
Specification |
---|---|
ESD Protection |
±15 kV (HBM) |
Requirements |
TIA/EIA-485-A |
Speed |
Max. 25 Mbit/s |
Input Voltage(D) |
-0.5 to 7V |
Output Voltage (D) |
1.5 to 2.4V |
CAN
Differential communication protocol:
Type |
Specification |
---|---|
ESD Protection |
±4 kV (HBM) |
Requirements |
ISO11898-2 |
Speed |
Max. 5 Mbit/s |
Input Voltage(D) |
-12 to 12V |
Output Voltage (D) |
2.9 to 4.5V |
Mounting Instruction¶
The MC25KW system has the following dimensions:
Main Connector
Operational Characteristics¶
Type |
Specification |
---|---|
Voltage |
75-550VDC |
Cont. Current |
5 - 200A |
Peak Current (<5s) |
400A |
Maximum speed (1 pole) |
600000 ERPM |
Motor PWM Frequency |
20Khz |
Weigth |
N/A |
ESC-Motor Wiring¶
The polarity and connection is indicated in the following image.
The section of the input cable must be 10mm2
Note
The connection of the phases can be done freely. However, it will affect the direction of rotation of the motor
Software Setup¶
To properly connect to a MC25KW unit you must previously install Veronte Link and MC25KW PDI Builder.
Veronte Link: This tool is the HUB that manages all Veronte and Embention devices that use a COM port. Here the user can check, configure and list the devices that are currently connected.
MC25KW PDI Builder: This tool is used to set all the configurable parameters. Here the user can set, tune and define the motor, control and sensors that are going to be used alongside the ESC.
Veronte Link Setup¶
Once Veronte Link is installed, the first step that must be done is to set the com port that your MC25KW unit is currently using. By default, every MC25KW is capable to comunicate though USB, RS232 and RS485 so any of theese can be used (properly adapted to USB/serial).
First, click on “+”:
Select your COM settings, typically, those shown below:
After that, go to devices tab and click on find devices:
Then, type your MC25KW address. Usually this is 35000 + your SN (which is written the box). For instance, if your SN is 0105, your ID will be 35105.
If everything went well, a new MC25KW will be displayed in the devices list. More MC25KW units could be added following this instructions but the user is ready now to start configuring the motor controller using MC25KW PDI Builder.
MC25KW PDI Builder¶
After installing, MC25KW PDI Builder the main menu will show as follows:
MC25KW PDI Builder: Create a new PDI set of files to be saved and exported.
Update MC25KW: Update motor controller firmware version to a later one. Ask Embention support (support@embention.com) for firmware updates, future features or suggestions.
Upload PDI: Upload a previously created set of files to the current motor controller flash memory.
Open MC25KW: Edit the current MC25KW settings.
At this point, the user can either create its own configuration offline by clicking on “MC25KW PDI Builder” or start editing the one that is already loaded to the controller by clicking on “Open MC25KW”. The same menu will pop up:
Open Loop Ramp¶
This menu sets the start ramp before engaging the closed loop control. There basically three parameters:
Speed fraction: Fraction of maximum speed (third field) to be reached before changing to closed loop.
Startup Accelaration: angular ancceleration to reach maximum speed. In rad/s^2.
Maximum Speed: Final speed to be reached before closing the control loop. In rad/s.
Invert: Change spining direction of the rotor. This is the main way to invert the motor direction and will also affect the control and closed loop functionalities.
Motor¶
This tab sets all the physical parameters of the motor that will be used with Veronte MC25KW. These are:
Stator internal resistance: This is the resistance that is usually specified in datasheets. Expressed in Ohms.
Quadrature Inductance: Usually called “Lq”. Expressed in Henries (H).
Direct Inductance: Usually called “Ld”. Expressed in Henries (H).
Pole pairs: Number of poles divided by two. For instance, if your motor has 42 poles, you must input 21 here.
Maximum RPMs: The maximmum RPMs the motor can reach in combination with your propeller. This parameter is only used to determine the equivalence between the maximum command (PWM or CAN) and the commanded RPM in speed closed loop mode.
Startup Iq: The current used to start the motor.
Maximum Iq: Maximum current the speed control loop can command to the quadrature current control loop. Please refer to FOC background section for further reference.
Time to hold Max Iq: Maximum time to hold the previous value before going to off.
Warning
All the current are expressed in amperes/1000. So if in order to input 35 Apk, 0.035 must be typed.
FOC (Field Oriented Control) Background¶
In order to achieve better dynamic performance, a more complex control scheme needs to be applied, to control the PM motor. With the mathematical processing power offered by the microcontrollers, we can implement advanced control strategies, which use mathematical transformations in order to decouple the torque generation and the magnetization functions in PM motors. Such de-coupled torque and magnetization control is commonly called rotor flux oriented control, or simply Field Oriented Control (FOC).
The Field Orientated Control consists of controlling the stator currents represented by a vector. This control is based on projections which transform a three phase time and speed dependent system into a two co-ordinate (d and q co-ordinates) time invariant system. These projections lead to a structure similar to that of a DC machine control. Field orientated controlled machines need two constants as input references: the torque component (aligned with the q co-ordinate) and the flux component (aligned with d co-ordinate). As Field Orientated Control is simply based on projections the control structure handles instantaneous electrical quantities. This makes the control accurate in every working operation (steady state and transient) and independent of the limited bandwidth mathematical model.
A basic scheme for the FOC is represented as follows:
As it can seen, there some key pieces in this algorithm:
Park/Clark transform: These output a two co-ordinate time invariant system and a outputs a two co-ordinate time variant system respectively. As mentioned before, this is part of the process of getting two scalar values from a three phase time dependent system.
PI Controllers: There are three of them: two to control quadrature current and direct curent (torque and flux) and one to control speed. This last one is placed as the one that controls Iq PI (cascade control) which means that in order to get more speed the system will command more torque (or Iq).
Speed estimator: This block is able to estimate mechanical speed from current and voltage using the so-called “Sliding Mode Observer” algorithm.
The main dificulty of this control proposal is to tune these three PI controller although in most cases both current PI are exactly the same due to PMSM properties. In addition, there is an extra gain that needs to be tuned as part of the angular speed estimator algorithm.
This list las part is optional but highly recommended in case an external sensor is used such as a hall effect sensor or a SIN/COS sensor.
Sensorless RPM Observer/ Estimator¶
Once the basis of the FOC are covered, the rest of the features of this MC25KW can be explained. This tab covers the observer parameters, which in this case is only one. The observer that is implemented has an ON/OFF controller that gets the estimated electrical angle. This electrical angle is later derived to find the angular speed. As it can be seen, here only this gain must be selected:
After this gain is properly tuned, the electrical angle should look like this:

Note
The algorithm includes an adaptive filter that automatically moves its cutoff frequency with the current mechanical angular speed, so the signal the user is monitoring is already filtered.
Warning
It is recommended to tune this estimator even if an external sensor is used for feedback (sensored control). As it will be described in the next section, the control will automatically jump in case the primary source of feedback fails to a sensorless control.
FOC Control¶
This is the main control menu, here all parameters regarding closed loop control are set. As mentioned before, the basic blocks that define the FOC control are three PI (Proportional, Integral controllers). First, both current PI are defined.
The form of the PI is the classical parallel form:

Where integral gain refers to the quotient 1/Ti. Lower and upper saturation gain are the limits at which the PI limit its output. In this case, as it is illustrated in FOC background, these outputs are Vq and Vd.
Note
All limits quantities are normalized, which means that are values between 0 and 1.
Equally, the speed controller can be set here as shown below. In this example this PI controller is limited to be output 95 A.
In addition, there is a rate limiter that could be used in case the slope needs to be limited with the input comand. Please note that is expressed in rad/s.
Control input allows the user to select the input source and several extra parameters such as:
CAN Timeout: Whenever this timeout is met, the control input will be changed to the next option if available. If none of them is available, it will end up in failsafe mode.
PPM Timeout: Same as before, but in this case the only option after this one is failsafe.
Value for Fail Safe: Value between 0 and 1. It will be written in case none of the previous options is available.
The input flow is the following in case the mode m_CAN_PPM is selected:

There some extra options than can be set under FOC control menu:
Regenerative Braking: Activates regnerative braking feature which is basically consisting of thoughing some current back to battery whenever the motor is loosing speed (it uses the kinetic energy to charge de battery). This not recommended in case the power side is not connected to a battery.
Input deadband: This is the value that defines when to start moving the motor. For example, it might be wanted to be different from zero in case an RC stick outputs around 0.1 of duty cycle by default.
Note
In case CAN Bus is used to command (see CAN I/O section), this deadband can be calculated as (desired deadband RPM)/(maximum RPM).
Speed filter cutoff: Cutoff frequency (in Hz) that will be applied to filter Hall effect sensors and SIN/COS sensors only.
Finally, a state machine diagram is presented to clarify how the control and feeback sources work:

SIN/COS Sensor¶
In case an external SIN/COS sensor needs to be used as a source of feedback of electrical angle/velocity the main interface to do it is though ADC inputs. This menu allows the user to customize the main characteristics of its sensor:
Min Voltage: Minimum voltage of the signal. Measured in Volts (V).
Max Voltage: Maximum voltage of the signal. Measured in Volts (V).
ADC factor: A factor multiplying what is read from the ADC port, specially useful if a voltage divider (or any other signal level adaptor) is installed.
Sin ADC input channel: ADC channel at which the SIN signal is connected.
Cos ADC input channel: ADC channel at which the SIN signal is connected.
Invert: Inverts the resulting electrical angle. Useful to correct installation inversions.
I/O Setup¶
This panel is used to stablish the mapping of ports and the duties they are performing. The layout and principles of function of this feature are common in all Veronte products, a complete explanantion can be found here .
CAN I/O¶
This a common part that is shared with Veronte Autopilot products, please refer to this page for further information.
Altough, most of this menu could be familiar to veronte users, there is one new feature : CAN CMD. This is the input ESC expects to command the motor. By default, it uses the ID 1434 (standard) and the message structure is the following:
Warning
Note that what is represented as PWM1 is in fact sent as a value between 0 and 2500 as a result of the decoding factor. This last 24 bit value is in fact an RPM value.
SCI¶
The following fields can be configured:
Baud rate: This field specifies how fast data is sent over a serial line.
Length: This field defines the number of data bits in each character.
Stop: Stop bits sent at the end of every character.
Parity: is a method of detecting errors in transmission. When parity is used with a serial port, an extra data bit is sent with each data character, arranged so that the number of 1 bits in each character, including the parity bit, is always odd or always even.
CAN High Speed Telemetry¶
MC25KW is equipped with an special CAN telemetry, which is faster than the regular one. This is meant to monitor all variables that are RPM dependent and can be crucial to tune your ESC during initial stages. For instance, seeing electrical angle can be extremely difficult with a low samplig rate at high RPMs and as a consequence, tuning the observer gain can be tough. Likewise, monitoring the current that is measured in each phase can represent the same issue and make PI tuning really time-consuming.
There are only two parameters here:
Base ID: The first ID to be used. The next IDs will be reserved depending on the variable list.
Decimation: The number of clock steps the ESC skips before sending a High Speed CAN telemetry packet.
Note
MC25KW is running at 10kHz.
Note
A separate tool is offered to see MC25KW telemetry, please ask support@embention.com