Sorry I didn’t answer all of your questions
BLDC / Hybrid never switches to FOC with sensors. The point of Hybrid with sensors is to allow the BLDC timing (6 sequence timing) to be timed at a rate that will make the motor move forward without de-synchronization. Once the motor is moving fast enough it creates enough back EMF for the driver to take over and keep sync without assistance - whether sensored or emulated sensorless. No matter what way you look at it, it is BLDC Timing, with assistance of sensors for that timing. It will never be as smooth as FOC. BLDC timing applies current in bursts so a singular phase at a time to move the motor forward.
FOC is sinusoidal/trapezoidal wave forms. FOC can be done without sensors but it is very crude. With sensors, as the bell housing turns past each sensor, the readout if graphed makes a 3 phase sinusoidal wave form - this is used to calculate position, as well as creating the driving current from the fets as the sensor data can be transformed into a value to control the gates on the FET - making it more natural sinusoidal vs trapezoidal. FOC also applies current to all three phases all the time when under load. There is no timing. It is the values of sensor data transformed into a value to control the gates at various voltages to provide X percentage of current over X phase at X time. there are 3 phases the load must be divided/driven between.
asking what is best? I think is mostly user preference. or application needs. as there’s positives and cons to both.
Its not just about motor size, magnet size/types(different magnets can deform or demagnetize at different heat and emf index’s). phase resistance etc etc. which is probably to complicated for something like a skateboard…so best to just leave these things to user preference of “feel”.
my opinion for skateboards is I like FOC, and the driving hz depends on your gear ratio, voltage and RPM to create smooth transitions. Other applications I’d say I like BLDC.
is the hardware we’re using safe and designed for both? I’m not really to sure yet, I’ve been looking at the github and sources to try to determine that. Hope it answers some of your questions, lol…I don’t like talking soo…