Skip to main content
Associate II
September 3, 2026
Question

STEVAL ESC001V1 to a working ESC with throttle mapping

Kindly provide an example code to make my steval esc001v1 to a working ESC for a drone i have configured PA15 as input which accept PWM signal but throttle mapping is not done any help will be appreciated.

 

7 replies

GMA
ST Technical Moderator
September 4, 2026

Hello ​@Aswin777,

Refer to the “2.2 Communication, programming and command interfaces” chapter of the user manual available here.

If you agree with the answer, please accept it by clicking on 'Best answer'.Best regards.GMA
Aswin777Author
Associate II
September 4, 2026

This didn't answer my question its just informing us on different communication modes supported 

 

GMA
ST Technical Moderator
September 4, 2026

Hello ​@Aswin777,

I am referring to the “PWM signal input (J3/PA15)” chapter, which explains how to drive the motor.
What do you mean by "throttle mapping"?

 

If you agree with the answer, please accept it by clicking on 'Best answer'.Best regards.GMA
Aswin777Author
Associate II
September 7, 2026

i just need to run a pro range 2300kv BLDC motor using steval esc001v1 in 6 step mode
My first step is to freely rotate the motor at a fixed RPM 
and my next step is to integrate this ESC with Fsi6 Remote
i have used motor pilot to profile the motor and after profiling i used MC workbench to generate the project 
after that i used cube IDE and Put
This CODE  in main.c

MC_ProgramSpeedRampMotor1(RPM_2_SPEED_UNIT(1000), 5000);

motor_start_result = MC_StartMotor1();

my issue is that after doing this my motor is not spinning at all
I was successful in spinning the same motor using FOC now i want to try 6 step as well

GMA
ST Technical Moderator
September 7, 2026

Hello ​@Aswin777,

If the Electronic Speed Control (ESC) feature is used, the motor speed is fully controlled by the ESC pulse-width modulation (PWM) input.
For 6-step control, as described in the motor control software development kit (MCSDK) release note: “Using ESC feature and 6Step Driving Algorithm, selected a timer in the "Speed Sensing Config" section that should be different from the hard coded TIM2 used by the ESC feature.”

If you agree with the answer, please accept it by clicking on 'Best answer'.Best regards.GMA
Aswin777Author
Associate II
September 7, 2026

Thank you for the clarification.

In my current test, the Electronic Speed Control feature is disabled, and I am trying to run the motor using the direct API:
MC_ProgramSpeedRampMotor1(RPM_2_SPEED_UNIT(1800), 5000);
followed by MC_StartMotor1().

Therefore, I understand that TIM2 can remain selected for BEMF sensing because the ESC PWM input feature is not being used at this stage.

My current issue is that the motor start command is accepted, but the motor eventually enters MC_SPEED_FDBK fault during sensorless startup. I am checking the BEMF detection and startup transition to determine why the sensorless algorithm is not successfully closing the loop.

Once the standalone 6-step operation is working, I plan to enable the Electronic Speed Control feature and integrate an external PWM throttle signal. At that stage, I will select a timer other than TIM2 for BEMF sensing as you suggested.

Could you please confirm if this approach is correct?