The MOSFETs on the original VESC 4.12 and 6.4 are absolute shit, btw, International Rectifier treats Switching Charge the same way Intel treats Power Efficiency.
The ones from ON Semiconductor are not only cheaper BUT also better. (There’s this thing called “Figure of Merit” and if you actually read the datasheet, you’d see it is an order of magnitude better).
The limits advertised on the original 4.12 are bullshit. Quick math on switching and conduction losses shows that over 30A at 37V, the power dissipation (on the power stage) exceeds 6W, way more than the PCB’s dissipative power without forced air cooling. The original 6.4 might make it since it is heatsunk to such a large enclosure.
High capacity MLCCs are not necessary on their ESC because they don’t do the asinine layout of having the electrolytic capacitors three miles away from the power stage, on a separate board. (Even then, a 10uF MLCC will have the same, or higher, ESR as a 600uF electrolytic, and their electrolytic is already low ESR, anyway)
The accuracy on measuring BEMF is not that critical, all you need to look for is the zero cross. I built an ESC myself using STM32 Nucleo and know this for a fact. I used 5% tolerance resistors in the divider, and 20% tolerance capacitors in the filter (which still left a 30% peak-to-peak ripple in the signal). The algorithm basically sampled the BEMF at random, too. Probing with an oscilloscope, the STM32F446RE detected the BEMF zero cross perfectly, every commutation. Even if you integrate, a 1% deviation is insignificant in the timing. A product that uses 1% tolerance resistors is already high quality, many US manufacturers will use 5% or even 10% (sometimes even 20%!!) in their products, and those products still work fine. Higher tolerance resistors become ridiculously expensive and can possibly impose stock issues. The original VESC btw, doesn’t even implement filters on the phase voltage resistor dividers, which makes switching at high frequency and high duty cycles impossible and really cuts down on the efficiency and worsens noise. (On my ESC, I switched at 40kHz and I could run the eRPM up to 130k+, like over 20k commutations per second, sampling BEMF at 70kHz, it performed marginally better sampling at 400kHz, but then my CPU would only idle 80% of the time instead of 97% of the time;_;, it is currently set to 200kHz according to my configuration in STM32CubeMX).
Even in FOC, on the VESC 4, the current shunt amplifiers are inaccurate as hell (4mV input offset, >1% gain error), and yet it can drive hub motors with literally no noise.
The original VESC already freaking cheaps out on parts. There is literally no transient suppression so to speak of (when RC snubbers are literally pennies to implement), why do you think ESCs from torque boards and other US suppliers break so damn often at 12s?! I saw this happen to my friend’s ESC first hand and I repaired it for him.
While Flipsky doesn’t address the filtering (would require a firmware modification) and transient suppression issue, (well they partly addressed it by designing a much better PCB that doesn’t have shitty ass parasitics and using MOSFETs that aren’t garbage), their ESC 4.20 is not only cheaper but superior to many ones from US suppliers: better MOSFETs, proper PCB design and layout (this is a BIG ONE), heatsinks, 6 layer 3oz copper, shielded inductor, etc.
Do you research, and unlike many electrical engineers, FUCKING READ THE DATAHSHEET!