Why Does FOC Require More Motor Specs Than 6-Step for BLDC?

Hi everyone, I’m working with an unknown BLDC pump motor — all I know is it’s under 1A based on the original power supply. I’m trying to set up FOC (Field Oriented Control), but it seems like it requires knowing a lot of motor specs like resistance, inductance, friction, and inertia.I’m wondering: does a 6-step drive really require less info about the motor? I’m still learning about BLDC motors and trying to connect the control algorithms to the physical behavior of the motor. Any explanations or resources that clarify why FOC needs more motor details than 6-step control would be super helpful.For context, my setup includes a 3-phase BLDC pump, a Nucleo F302R8, and an IHM07M1 motor shield with current sensing. I don’t have hall effect sensors, so I’m relying on back EMF for feedback. Any insights from folks who have worked with FOC on unknown motors would be greatly appreciated.

You don’t necessarily need to know the specs. A position sensor and current sensors can run FOC without any of them. But they can be used to improve performance by predicting what the motor will do (feedforward) rather than purely reacting to the measurements (feedback), or to make up for lack of sensing hardware.

If you only have a position sensor, you can estimate the current using the resistance and kv. If you only have current sensors (as in your case), you can estimate the position using the resistance, kv and inductance Arduino-FOC-drivers/src/encoders/MXLEMMING_observer at master · simplefoc/Arduino-FOC-drivers · GitHub

FOC generally does not make use of back EMF sensing. Most FOC drivers don’t even have the necessary resistor networks for it.