cancel
Showing results for 
Search instead for 
Did you mean: 

Clarification on GPIO_BEMF usage during PWM ON and OFF states in 6-step sensorless control

Duc
Associate III

Hello ST Team and Community,

I’m working with the X-NUCLEO-IHM07M1 board for 6-step sensorless BLDC control, and I need some clarification regarding the purpose and correct use of the GPIO_BEMF pin.

In this ST Community answer, it is mentioned:

"The GPIO_BEMF pin is provided to manage the BEMF sampling during the PWM ON state for 6-Step control only."

I understand that this refers to enabling the BEMF voltage divider (e.g., 10k/2.2k) to bring phase voltage into the ADC range during PWM ON time. However, on the X-NUCLEO-IHM07M1, it seems that even during the PWM OFF time, if GPIO_BEMF is not pulled LOW, the voltage divider is disconnected (floating bottom resistor), and the BEMFx signal becomes unreliable or unusable for ADC reading.

So my question is:


Do we also need to pull GPIO_BEMF LOW when sampling BEMF during the PWM OFF-state (e.g., mid-off-time) in order to enable the voltage divider and get a proper ADC reading?


If not, how is the ADC expected to receive a reliable voltage at BEMFx without a complete divider path?

Thanks in advance for your clarification!

Best regards,
Duc Le

2 REPLIES 2
Sarra.S
ST Employee

Hello @Duc

The GPIO_BEMF pin in the X-NUCLEO-IHM07M1 board is used to manage the Back-EMF voltage divider.

This divider scales the motor phase voltage to a range suitable for ADC readings. 

  • When the GPIO_BEMF pin is pulled LOW, the resistor network (e.g., 10k/2.2k) is activated, enabling the voltage divider to scale the BEMF voltage.
  • This functionality is critical during the PWM ON-time acquisition, where the voltage divider ensures the ADC receives a properly scaled signal

For more details, you can check STM32MotorControl:6-step Firmware Examples User Manual 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Duc
Associate III

Thank you for the explanation — I understand that enabling the voltage divider via GPIO_BEMF is essential during PWM ON-time sampling, to protect the ADC and scale the voltage correctly.

However, I would like to clarify the OFF-time case specifically.

In the X-NUCLEO-IHM07M1, the BEMF sensing circuit does not use any op-amp or virtual neutral; it relies solely on the resistor divider formed by 10k and 2.2k resistors. When GPIO_BEMF is not pulled LOW (i.e., left floating or set to input), the bottom resistor is disconnected, and the divider is incomplete.

This makes the BEMFx line float, and the ADC receives an undefined voltage.

In other words:
Even though OFF-time sampling is safer in terms of voltage range, isn’t GPIO_BEMF still required just to ensure the divider is electrically complete and functional, regardless of ON or OFF time?

Thanks again for the support — I just want to be sure I’m using the hardware correctly in both cases.

Best regards,
Duc Le