Does FOC require more knowledge of motor specs than 6-step?

I’m using an unknown pump motor so I don’t know all the specs on it other than it’s less than its a 1A motor (based on power supply of the original motor). When setting up FOC, it seems like the motors spec (resistance, inductance, friction, inertia) are needed.

Does a 6-step drive not require as much info about the motor? I’m still trying learning about BLDC motors and trying to tie together the control algorithm and the physics of the motor, so if there’s some words that can help explain why FOC needs more motor specs than 6-step - that’s really help me out.

Edit: my hardware includes a 3-phase BLDC pump that I don’t know much about, and I’m using the Nucleo F302R8 and IHM07M1 motor shield, which does have current sensing. But I don’t have any hall effect feedback, so I’m relying on backEMF for any feedback.

In FOC you need to read the phase currents and control the motor so understanding the range of currents is important which is dependant on motor specifications.

There is PI control loop in FOC which requires the motor parameters. These are some of the things I know.

The more specs you have, the more complicated you can get with the control…

But actually you can do voltage based FOC (a kind of simpler variant) without knowing any motor parameters except the number of pole pairs and the rotor angle (as measured by your encoder)…
In SimpleFOC that‘s the torque-voltage mode.

To do real FOC you also need to measure the motor currents.

All the other parameters enable various improvements or optimizations, but they’re not required…

Thanks - the torque-voltage mode tip is useful. Does that require an encoder?

For hardware, I’m using the STM nucleo F302R8 micro and the IHM07M1 motor shield, which has current sensing built in.

So if I don’t know much about the motor, and I don’t have encoder feedback, but I have current measurement feedback - is the troque-voltage mode of operation still a good choice?

Normally SimpleFOC always requires a position sensor on the motor shaft.
However, if you have current sensing you can try various ways of doing „Sensorless FOC“. While the library does not officially support this yet, there are a couple of repositories in our community that support HFI (high frequency injection) or Flux Observer sensorless modes.