Ultra Tuning: Master Thread -- Start Here!


Well-Known Member
If you're starting out to tune, or re-tune, your Bafang Ultra G620/M510 motor, you've come to the right place. There's a lot to setting up an Ultra to ride the way you want, but if you take it a step at a time it won't be as daunting. You don't have to do them all at once - I actually recommend against that.

I've created a series of threads covering the different aspects of Ultra tuning - this thread lists them all. I recommend going in this order and doing test rides after each:
  1. First, set up the Basic tab:

  2. Next, set up the Pedal tab:

  3. Now, set up the often-overlooked Delta Voltage Table in the Torque Tab:

  4. Finally, set up the important Spd Table in the Torque Tab:
I'm not intending to follow-up with additional posts in this thread, and I ask that you think hard before responding here. Ideally, this would be the only post in this thread. Information material to Ultra setup should be posted to the appropriate thread linked above, as should suggestions/criticisms/corrections. I'm also open to DMs if there's something you want to ask or discuss off of the actual setup content threads linked above.

EDIT: I decided to create a thread documenting where prior Bafang Ultra tuning guides have gone wrong:

EDIT: Added a "Quick Start" post for those who don't want to devote of time/energy into the tuning process.
Last edited:
I am experiencing some motor issues at the moment but I was able to set up my programming via following the suggestions above. I ditched the stock LUNA tune right away as it was horrible IMNSHO and tried the Smooth tune as well as all the others on YT. None of those did what I felt necessary so I branched blindly off on my own tweaking then testing settings. Eventually I got to where myself and my riding buddy with the same bike were happy enough with and rode it for over a thousand miles.

However I was never really convinced that it was the best it could be and after reading Smorgasboards conclusions I hoped it would lead to that? I had already done the continuous get but re-did that and fine tuned the related settings and then basically followed his logic from there. Immediately upon riding I was impressed by how much the pedal feel had improved in all modes, I use the 5 version. Way more torque sensitive and less cadence influence that I felt with my best guess tune. I do think for my riding style and with a more comprehensive understanding of how the system coordinates I could tweak it even more and as Smorgasboard alludes to making small changes off the laptop program is a PITA. To that end I ordered an EggRider to facilitate finishing off the tune.

Thanks to @smorgasbord for the effort he put into this, every M620 UART owner should at least try to implement it for their bikes.
Just remember that the EggRider only works with 1 battery only,
using dual battery's will burn it up, per the email I received from them.

Adrian A <[email protected]>​

Tue, Apr 4, 12:46 PM
to me

Hi Don,
Thank you for your message.
Yes, unfortunately, we are not compatible with dual batteries. We had some customers that fried their EggRiders because of this. If you are going to use an EggRider with dual batteries, then you will void your warranty.

So I am thinking that I'll use the ER with 1 battery for tuning,
then unplug it and use the dual battery's to test until I get the turning I want.
Your thoughts and suggestions..
@smorgasbord Sorry to clutter here but I have a question that incorporates all the parts. I have gone through all the parts of tuning the motor. I did a ride the other day with the basics and today with all the steps. What I noticed on my ride today was it was actually to easy to pedal and i did take a hit on the battery. I would like to tune it down some and have a bit more leg power.
I used the spreadsheet without changing the %, and I used your PAS settings that you mentioned later in the PAS thread when talking with Armourd.

My question is: I would like to change something in those settings so that I have a bit more leg power to move. Should I change the PAS levels lower according to the % chart you showed in the pas post first, or should i change torque setting at a lower %?

Also this is for a more battery efficiency thing. I am on mostly flat florida and the settings you have suggested is really really fun, but i am looking for range. Thanks

edit. The only reason I left eco pas1 today was to flat out play with the other levels and to fly on the ground. i smoked the lectrics on eco pas1, even in their top assist. Did have to up the PAS to catch up after being behind a 1/4 mile though.
Last edited:
It will be interesting to see what programming you end up doing after your previous participation in the "Ultra Tuning" threads before you owned an Ultra.

That's easy... I'm going to do exactly what I did did with my BBS02B and tune using my own empirical data and what feels right for me and how I ride.
As soon as I did that and ditched the blindly followed know it alls, what looks neat mathematically on paper and the totally wrong conclusions that had been regurgitated repeatedly by most... I ended up with a more natural feeling, smooth accelerating bike with no endless unwanted lurching, ghost pedalling and on/off feel that many complain about.
Sorry... No misrepresented charts or graphs for you to cream yourself over 🙃
My conclusions actually ended up postponing a Frey CC purchase which in hindsight I'm so glad it did because I like the ZEN so much better as it's so much more.

But you know... Nothing like all the conclusions you had about the BBS02B that you never owned.
Last edited:
Quick Start:

Over the past several months I've had requests to post my settings. I haven't done that for the obvious reasons that my bike, my setup (ludicrious congroller, EggRider), myself, and how/where I ride are almost certainly different than anyone else here. For instance, I suspect almost no-one is using the double-magnet fake-out I outlined in the SPD Table thread to gain a wider range of settable values because I think EggRider might be the only display that supports the necessary double wheel circumference entry (unless you're willing to have your display read MPHs as half of what they really are, which seems equally unlikely).

But, I do get that going through all the threads and figuring out what to do for your own setup is perhaps more time consuming than some are willing/able to put in. And, perhaps it wouldn't be bad to have a starting point from which you can do your own iterating. So, in that spirit, here are some TL;DR summaries (note that any value I don't post just leave at the factory default):

1) Basic Tab:
• Set Limited Speed (%) to 100 for all
• Set Limited Current (%) as follows
If, when you try the above, it feels too powerful, the use the values starting at 7 for level 1 in my thread on the Basic Tab. You still end up at 100 for level 9, but the lower PAS levels assist less so when you want you get more of a workout compared to the settings in the Basic Tab Thred. This probably varies the most with how powerful your Ultra controller is. The default for 52v systems is about 1500 watts, but 1000, 2000 and even 2500 watt controllers using UART were out there. If you're on a 48v/1000 watt system you might want more than 10% for level 1. Again, see the Basic Tab thread for the math on how to set that up.
The numbers above, and the math in the Basic Tab Thread are setup to have a uniform percentage increase in power at each level (or every other level if you're on 5 choice in your display). I feel strongly this is a much better feel than spacing values out evenly. But, of coruse, you can just tweak individual amounts in the above table to suit you, using this as a starting point.

2) Pedal Assist Tab:
• Leave all values at default. Most don't matter and the ones that do matter need to be where they're at by default.

3) Throttle Tab:
• See the BBSxx threads as the Ultra appears to work the same. I've got little to add here.

4) Delta Voltage Table on the Torque Tab:
• Set Base Voltage(mV) to 760
• Set "0 Speed Boost Time(x10ms)" to 120
• Set the following values for the table, choosing either column #2 or #3. Column #2 has a more progressive torque curve, which gives more power at lower torque levels, but even column #3's values are pretty progressive:
Base Voltage:275%/158%/117%/100%,etc.175%/150%/125%/100%, etc.
0-5 Kg575366
5-10 Kg331313
15-20 Kg209209
20-30 Kg418417
30-40 Kg382365
40-50 Kg295313
50-60 Kg50260

One attribute of Column 2 is that by 50kg of pedal force you're pretty much maxed out as to how much power you can get at the current PAS level and current bike speed. I did that because getting more than 50kg is a LOT of effort that I've decided in my old age isn't somewhere I regularly want to go. 50kg is still a pretty respectable pedal force. Lighter riders or weaker riders might want to max out at 45 or even 40kg. See the thread on the Delta Voltage Table for details on how to do that and still get the max power range out of your Ultra.

5) SPDxx Table on the Torque Tab:
Bike Speed Range0 - 3 MPH1.5 - 5 MPH4 - 8 MPH6 - 11 MPH10 - 15 MPH> 15 MPH
Start (kg)13118641
Full (kg)405060504525
MinCur (%)1357912
MaxCur (%)100100100100100100

Now the SPDxx table is the place where you need to think about what you're doing on your bike at various speeds. Remember, the SPDxx table columns are based on road speed (actually wheel rpm, but for Ultra bike wheels these are good values). Note that the speed ranges overlap - the Ultra controller feathers the values between the columns at intermediate speeds. For instance, at 7MPH you get about mid-way between Spd40's and Spd60's values.

Note also that anything above 15 MPH and you're in Spd100 alone territory. That may be fine for some off-road riders, but I suspect many on-road riders will go well beyond 20MPH, and you may want different responsiveness from your motor at 28 MPH than at 16 MPH. That's why I do the double-magnet fake-out thing. But, you'll have to actually read the thread on on SPDxx Tables to get that.

My point here is that you should think about what you want from the motor when you're at different speeds, which means thinking about what situations you're in at the different speeds. For instance, SPD0 is done by 3MPH, so for me that's really a start from a stand-still column. So, I'm OK with needing 13kg of force on the pedal (maxes out at 60, btw) to get motor output, but I want the take-off to be smooth, so I start with MinCur at 1%. I also want to get moving, so when I reach 40kg I'm getting the 100% MaxCur, which means I don't have to stomp on the pedal to get full power (within my PAS level) to get going.

SPD20 is similarly mostly a start-up thing for on-road. For off-road you might be doing something technical uphill. Either way, you want controllability here, so having the pedal force range go up to 50 seems right, and no need to have ultra-low power, so I bumped MinCur to 3 (probably could bump it up even more).

Spd40 and Spd60 are pretty similar in these lowish speeds. I pretty much want to reserve full power from the motor for full pedal pressure, and similarly lower the minimum pressure to get power so I get nice pedal pressure to motor output torque mapping.

At SPD80 you're moving along at a decent clip and you either want to stay here or accelerate. So the settings are a compromise between a smooth mapping and lowering ultimate pressure to go even faster.

And finally at SPD100, you probably want to be going even faster. So, lower the Full pedal pressure amount to something easily achievable, which means you don't need to push as hard to get max power output.

Now, to be honest, I haven't done a lot of testing with these SPD values since I personally use the double-magnet fake-out. But, these are pretty close to the settings my wife's bike has (she doesn't like the EggRider) and she's happy with them. YMMWCV (Your Mileage Will Certainly Vary).

Hope this helps - happy Ebiking!
Last edited:
Thanks Smorg,
I added it to my log book.
I dropped a pm on some questions I had in the Delta Voltage Table on the Torque Tab: