How BLDC mode is softer than FOC ?

Well now after a weak of searching and trying
This is where I am now
Any suggestions to use FOC?


tbh it sounds cool as damnit. if everyone was rolling around in foc mode the government would make us put white noise generators on our rides.


I like my motor sound on bldc mode, its just like old-school guys who likes the sound of a V8 engine without muffler , but I want the FOC mode working on my motor not for silent running only , but also for higher effecency and less vibrations


whats your switch frequency?

1 Like

Minimum 10k
Maximum 30k

I played with switching frequency this was almost silent but switching freq only accessable from BLDC mode

FOC has no switching frequency as I see in vesc tool


Hello sir
Well I tried every single frequency from the minimum (3kHz) to the app maximum (60kHz) it only changes the motor shusing sound frequency but still shushing

It works silent when I write the command you told me to try , but on adc its always shushing :disappointed_relieved:

It’s in the MotorSettings > FOC > Advanced tab


Looks like a bad detection to me. Some motors I’ve never gotten to detect/operate correctly on VESC. But sometimes you can detect them on another ESC type and type those numbers into VESC, just to see it still not work correctly.

Seems that larger motors and high pole counts are hard for VESC to deal with.

1 Like

I donno but I dont have another ESC anyways to try another detection😭
And it does the same with a small 1000kv motor

The vector frequency only changes the sound of motors but still rough and loud

I started thinking either I’m too stupid or unlucky that I’m the only one in the world who cant use that esc , or the esc is useless and everyone it working for the company and lie to me that its working with them :joy::joy:

So you can’t get that motor to run smoothly on this VESC either?

For fun, give this firmware a try. It’s for the 200, but it will work just fine for the 100.


And btw its only 12 poles motor , i saw higher pole count motors on youtube and they detect it in blink of an eye

1 Like

Speed of detection is not the issue, it’s whether the results are good or not.

It worked just the same except for when on detection it spins more smooth and more silent, but when using test run from bottom of screen it does this ( as it does usually)

Its kinda weird to me that it spins nice and smooth when being detected and it gives bad results and doesnt work after, cant I use the detection mode parameters to spin motor and use it normally, damn that detection it really sux

I’m thinking there is some additional damage from the hall sensor incident. It’s not reading motor position at all. Might be the voltage divider resistors going from the mcu to the phases, or the stm32 has some fried adc channels from excessive voltage


Here is something to try. You could force the VESC to run in open loop for longer. Might be able to detect once the RPMs are high enough, or if it’s totally broken then you could do just open loop, but this is a really inefficient way to run a motor

Set the motor to FOC and the sensor mode to sensorless

Specifically these fields:

Then play with these settings, specifically the Openloop ERPM. Change it to something like 5,000 or 30,000


Then why it works smoothly on BLDC mode ( speaking about the big motor) and why it runs smoothly on the detection , and why it runs smoothly on open loop command, plus it was doing that even before the incident

Ok i will try this and tell u results

detection runs in openloop

foc_openloop runs in openloop

These modes just send power to the motor without any feedback.

To run with a throttle, or with controls from the VESC tool, it runs in closedloop where it takes data from the motor. Somehow it’s not getting that data from the motor… or the signal is too weak.

Can also try increasing the amps from say 10 to 40 even on that little motor, to try to force it to start spinning up. The voltage readings from the motor will be stronger at higher RPMs. That’s part of the goal of modifying the openloop sensorless settings above. To get the motor to spin up faster before switching to closedloop.