Convert BDLC to FOC guide?

I’ve looked around a bit, and haven’t found anything, but do y’all know a good guide of converting BLDC settings to FOC?

1 Like

Well then you havent looked good enought. There is 10’s of threads Where it is described with both text and photos


Alright dude, if you going to be smart about it just don’t answer the question.

I’m no expert, but the conversion is relatively simple. This guide may serve as a general guide for FOC converters.

A few things to note:

  • Make sure your ERPM limit is less than 60,000, or you will likely fry your DRV chip, as many VESC users have (including me, but not because of this reason). Set this in the PPM tab of your App Configuration, if you use PPM. If you aren’t, then I don’t know how to set it. (Ignore other settings with 0, focus in the red box)
  • If you’re running 12S, and using FOC, don’t. The chances of DRV failure will be much higher. As I am light, and don’t require much power, 6S suffices for me, and FOC runs flawlessly (so far, don’t quote me). I wouldn’t even use FOC on 10S to be honest.
  • The loud motor noise in the FOC detection is completly normal. Don’t panic like I did, when it made that sound!

Assuming that all settings work with BLDC, and that you have set:

(Click Read Configuration on the Bottom Left of BLDC Tool before continuing)

  1. Motor Amps in Motor Configuration -> Motor -> Current Limits (Motor Max and Motor Min). You should test this, but start from around 30A in 6S, or 25A in 8-10S, and work your way up 5A at a time to a suitable number. A higher number is fine. You can observe the amps this in the “Realtime Data” tab. You should have already done this. Also, Motor Max should equal Motor Min (regen). Ignore my “0” Values.
  2. Voltage Limits. Get your voltage “Cell” number, and multiply by 3.4 to get Battery Cutoff Start, and by 3.2 to get Battery Cutoff End. So if you are on 6S, then BCS = 6X3.4 = 20.4, and BCE is 6X3.2 = 19.2. You can set values slightly higher, and get better battery cycles (amount of functional discharge and charges), but at the expense of lowering your range. Leave the Minimum/Maximum Input Voltage at 6V and 54V respectively. Again, ignore my “0” Values.
  3. Don’t set your ERPM Limits in the Motor tab.

(Click Write Configuration after done. Make sure it says “Write Successful”)

One last time: Make sure you can operate using BLDC before trying FOC. There are many guides out there, just search on this website / Torque Boards youtube channel.

You can now set up FOC mode, finally!

  1. In the box that says “Motor Type”, select FOC.
  2. Go to Motor Configuration -> FOC, and detect and apply the following parameters in order, making sure to wait until something happens:
  • Measure R and L
  • Measure λ
  • Apply, on the same row as Measure R and L
  • Calc CC
  • Apply, on the same row as Calc CC.
  1. Select “Sensorless” in the yellow box, if you don’t have a sensored motors. If you have Hall Sensors, select “Hall” and click “measure” in the blue box. Then hit the “apply” in the blue box. Also, if you are running Sensored motors, set the Sensorless ERPM to 3000, as you won’t need the sensors after that speed. Also, it wastes power, reduces speed, and increases noise, if you don’t set it to 3000.
  2. Click Write Configuration here | , and test the motor(s) on bench (without you standing on it). Then run a test. Don’t push the board too hard at first. If there are no issues, feel free to push the board harder, and to increase Motor Min/Max values (but not above your motor specification).

Assuming you got the settings right, you now have a FOC-enabled board!

P.S. In response to that d*ckhead who is being a smartass, I am sick (not annoyed, but I feel bad) of seeing people disorientated, like I was, while setting up their board (esp. VESC, a $100+ piece of equipment). I belive it is our responsibility as an esk8 community, to help others who spend huge amounts of money on their boards and parts, and do not want to risk breaking goods/injuring themselves. Sometimes looking at other posts doesn’t answer your question, and may misguide or mislead you. If you don’t have something to say, don’t say it.

Extra info on FOC. Great resource, maybe could have linked to it?



Um… Damn dude. Not an expert huh?? Thanks for all this info, super helpful!

Is this the nominal battery voltage? So this may differ based on the cell?

No, nominal voltage of Lipo is 3.7V and Li-Ion has 3.6V (I’m not sure but maybe some have higher nominal voltages)

I wouldn’t go with this low values for Lipo batteries. For Lipo I have for Cutoff Start 3.6V and for Cutoff End 3.4V. This is recommended by @ackmaniac. For Li-Ion battery he set 3.0 and 2.8 in his ESC Tool, but I have no experience with Li-Ions.

flashing new firmware before switching is also a must (maybe somoene said it before me)

and I have had 3 drv error’s because of vesc running FOC and all while doing a sharp turn… Since I unchecked the traction controll, I have never had a drv fail on 10s ( now i’m good for between 500-800 km I would guess)

1 Like

… and some say it’s a myth. :slight_smile:

well it could be, but it’s 2 min work and you start from a nice new platform which is always a win

Perhaps it’d be a good idea to link to more information about where to get this

FOC honestly sounds like more trouble than it’s worth. Every conversation about it references drv errors and blown up hardware.

depends, how high you value silence. I love it that people can’t hear me coming at all and are like wtf is that.

I typically don’t run FOC, I have used it and really enjoy the silence but it scares me a little bit. I run hybrid mode on pretty much everything at this point.

I live in SF I hope to think it helps fewer people walk out in front of me. Haha

You simply haven’t used the search button everything you need is already posted on other threads

1 Like

I quite like the motor whine in bldc

Maybe we should link to the threads instead of criticize him for asking a question. I had thought about running the board I will be doing in foc but am unsure because of drv fails



Erpm limit only applies to BLDC. :confused:

1 Like