Bafang M500/M600 Tuning & The BESST Tool

ornias

Member
Jul 22, 2021
65
70
Netherlands
So i got a race face 30 chain ring and still at the stupid customs ztto 32 chainring and 52 casette.As soon as i have everything i will do again a test ride.Usually with the Bosch Fatbike-Mondraker panzer with a 400wh battery i am able to get 1000hm.With the kenevo 2018 even 1500 but on 500w max peak.With Yamaha also 1500hm no problem with 400wh battery
A little secret about the Bafang first assist level:
It is about 50% too agressive (in comparison to bosch et.al.) aka putting too many watts through the motor (providing too much assistence). This might explain your performance, because if you add 50% more range you get quite close to the Bosch both terms of average power output to the motor and range.
 

Jon A

Member
Apr 24, 2021
32
14
WA/MT, US
I really hope you guys get the Canbus programming figured out. I just got an Ultra equipped bike and was very happy that it came with UART. In just a day or two of programming I've pretty radically transformed the feel of the motor for the better making it much smoother and progressive with less need to change assist levels--giving it a progressive output curve much more like the "EMTB, Magic Tour, Tour+" available from other brands. Economy is hugely improved depending upon how hard you pedal, the higher assist modes are much more usable....

But it's hard for me to recommend to people they buy an Ultra-equipped bike now since they are supposed to be changing to Canbus as well and if that's what they get they wouldn't be able to get the same performance as I have.
 

ornias

Member
Jul 22, 2021
65
70
Netherlands
I really hope you guys get the Canbus programming figured out. I just got an Ultra equipped bike and was very happy that it came with UART. In just a day or two of programming I've pretty radically transformed the feel of the motor for the better making it much smoother and progressive with less need to change assist levels--giving it a progressive output curve much more like the "EMTB, Magic Tour, Tour+" available from other brands. Economy is hugely improved depending upon how hard you pedal, the higher assist modes are much more usable....

But it's hard for me to recommend to people they buy an Ultra-equipped bike now since they are supposed to be changing to Canbus as well and if that's what they get they wouldn't be able to get the same performance as I have.
Thanks for the thumbs up!

Yesterday I spend a whole day on reverse enginering the CANBUS FrameID's used and I can now quite confidently say that I can translate every frameid to a certain function inside BESST and connect it to certain configuration variables.

What's needed from now on is mostly checking what data we have and haven't access to using the CANBUS and how we get that data out of it.
 

Kyokushin

Active member
Mar 28, 2021
332
195
Sol
Thats excellent @ornias . I am wondering how to coock a f/w with higher current limit or set it higher. I saw in documentation there are three variablea for max current, one when battery is fully charged and two when its low. I am curious how its set in original f/w on these three.
 

ornias

Member
Jul 22, 2021
65
70
Netherlands
Thats excellent @ornias . I am wondering how to coock a f/w with higher current limit or set it higher. I saw in documentation there are three variablea for max current, one when battery is fully charged and two when its low. I am curious how its set in original f/w on these three.
Thats the next goal: Trying to send GET commands over the CANBUS and decoding those parameters from the response :)
 

Waynemarlow

E*POWAH Master
Dec 6, 2019
1,126
902
Bucks
I think one of the Bafang displays is already set up with Bluetooth, purchasing a display rather than a BEEST tool would be probably better for most people if we can use Bluetooth to reprogram the motor.

The other consideration would be to bring someone like the Blevo developer on board as he would have all the Bluetooth and background App program all ready in existence
 

Kyokushin

Active member
Mar 28, 2021
332
195
Sol
Thats good idea. cp241 have blutooth (unfortunately i owe cp240 without) but surely i would switch to cp241 if bluetooth program could be possible. however for now i have the besst tool.
 

ornias

Member
Jul 22, 2021
65
70
Netherlands
I think one of the Bafang displays is already set up with Bluetooth, purchasing a display rather than a BEEST tool would be probably better for most people if we can use Bluetooth to reprogram the motor.

The other consideration would be to bring someone like the Blevo developer on board as he would have all the Bluetooth and background App program all ready in existence
At the moment we need work with the CANBUS, we hit a snag where most GET commands donnot get a response from the firmware, we need people with CANBUS experience and/or Javascript to help us, more than we need people who can build Apps. Because we need to figure out this CANBUS protocol.
 

ornias

Member
Jul 22, 2021
65
70
Netherlands
Today we figured out which controller is used, so we also need people with experience with microcontrollers.
Specifically we need people with experience with the "NXP ST32K142" microcontroller
 

Dengfu

Active member
Mar 29, 2021
47
27
Australia
For those who want to follow the open sourcing, credit where it's due... member casainho at endless-sphere has done an OS firmware to another motor controller, the TSDZ2, to the degree that some motor suppliers sell with the OS firmware installed. ASAIK he also started the question of OS for m500 and m600 over at endless-sphere.
The thread is dispersed with other info about the motors, but the OS project has posts that start around here:
and the GitHub project is:
for those that want to follow progress or get involved.
 

ornias

Member
Jul 22, 2021
65
70
Netherlands
For those who want to follow the open sourcing, credit where it's due... member casainho at endless-sphere has done an OS firmware to another motor controller, the TSDZ2, to the degree that some motor suppliers sell with the OS firmware installed. ASAIK he also started the question of OS for m500 and m600 over at endless-sphere.
The thread is dispersed with other info about the motors, but the OS project has posts that start around here:
and the GitHub project is:
for those that want to follow progress or get involved.
Dude, we are already discussing this for 3 days by now, even here... :')
 

ornias

Member
Jul 22, 2021
65
70
Netherlands
Short update:
It seems we are having some success in manually altering the firmwares to allow for a higher max current.
This means we can now invite more if you to test:

Also, we've been able to unlock the hidden engineer section for controller alterations in the latest version of the BESST hardware tool. You can try it out yourself by using our "login bypass" for BESST, which is pre-configured to also unlock the engineer section. Sadly enough we've not yet been able to get it to actually read data, but we gladly invite anyone to try and verify our results (as reading the data is pretty safe either way).
 

ornias

Member
Jul 22, 2021
65
70
Netherlands
14km 530m ascend.I have started with 68% and stopped at 30% because i was in the mountain and didn't want to stay without energy in the middle of a hike path.Don't look at the time on the picture this is a calculation for hiking not mtb.On the other side the bike is a good climber, the front wheel does not go up, but than again the bike is just too big for me i am 1.88 and this is the xl version.I will do some modification with the stem and handlebar.

So i got a race face 30 chain ring and still at the stupid customs ztto 32 chainring and 52 casette.As soon as i have everything i will do again a test ride.Usually with the Bosch Fatbike-Mondraker panzer with a 400wh battery i am able to get 1000hm.With the kenevo 2018 even 1500 but on 500w max peak.With Yamaha also 1500hm no problem with 400wh battery

View attachment 67229
@savas I found what might have caused your issue while decoding the Bafang firmwares.
The bafang firmwares have a relatively low "low cutoff voltage" aka "0% battery voltage".

It's very well possible that Bosch have a a lower and more sane "low cutoff voltage".

Here is an experimental firmware for Bafang with a lower "low cutoff voltage" that is still well within the specifications of your battery, but should provide more battery on longer travels.

 

Waynemarlow

E*POWAH Master
Dec 6, 2019
1,126
902
Bucks
Short update:
It seems we are having some success in manually altering the firmwares to allow for a higher max current.
This means we can now invite more if you to test:

Also, we've been able to unlock the hidden engineer section for controller alterations in the latest version of the BESST hardware tool. You can try it out yourself by using our "login bypass" for BESST, which is pre-configured to also unlock the engineer section. Sadly enough we've not yet been able to get it to actually read data, but we gladly invite anyone to try and verify our results (as reading the data is pretty safe either way).
Always in awe of you software guys. Keep at it, its a motor worthy of a bit of time spent to soften and tweak its output.
 

thaeber

Well-known member
Jan 26, 2021
888
769
Bruchsal, Germany
@savas I found what might have caused your issue while decoding the Bafang firmwares.
The bafang firmwares have a relatively low "low cutoff voltage" aka "0% battery voltage".

It's very well possible that Bosch have a a lower and more sane "low cutoff voltage".

Here is an experimental firmware for Bafang with a lower "low cutoff voltage" that is still well within the specifications of your battery, but should provide more battery on longer travels.

First of all, many thanks to You guys spending Your time to improve the capabilities of the M500/M600 motors! Highly appreciated! My E10 M500 passed 800km today with zero problems. I really love the bike, only downside is described above: Below 35 % battery level the derating starts, much to early in my opinion,. More power (some more Amps / Watt) when needed would be nice, but not urgently required. The derating really sucks. Now I learn that You experts are working on a solution, but unfortunately I have no clue how to reprogram the controller. Do I need the Besst tool? Will it be possible via the USB connection on the display? Bluetooth? Sorry for the stupid questions, but would it be possible to simply outline the process step by step? Thanks in advance!
 

ornias

Member
Jul 22, 2021
65
70
Netherlands
First of all, many thanks to You guys spending Your time to improve the capabilities of the M500/M600 motors! Highly appreciated! My E10 M500 passed 800km today with zero problems. I really love the bike, only downside is described above: Below 35 % battery level the derating starts, much to early in my opinion,. More power (some more Amps / Watt) when needed would be nice, but not urgently required. The derating really sucks. Now I learn that You experts are working on a solution, but unfortunately I have no clue how to reprogram the controller. Do I need the Besst tool? Will it be possible via the USB connection on the display? Bluetooth? Sorry for the stupid questions, but would it be possible to simply outline the process step by step? Thanks in advance!
Reprogramming is not possible currently and possibly never for the official firmwares (modified or not).
What we've currently done is expose a few(!) options by manually altering firmwares which can be flashed by using the BESST tool. However: I just started doing so yesterday. So I would say: If you need a guide for it and cannot find one, you're currently not (yet) the target audience yet. Currently it needs testing more than using.
 

Jon A

Member
Apr 24, 2021
32
14
WA/MT, US

thaeber

Well-known member
Jan 26, 2021
888
769
Bruchsal, Germany
Reprogramming is not possible currently and possibly never for the official firmwares (modified or not).
What we've currently done is expose a few(!) options by manually altering firmwares which can be flashed by using the BESST tool. However: I just started doing so yesterday. So I would say: If you need a guide for it and cannot find one, you're currently not (yet) the target audience yet. Currently it needs testing more than using.
Ok thanks! This means, I have to wait until You guys did more progress on developing a proper firmware or modification on existing firmware. Sorry that I cannot contribute to the development process. Cross fingers that You are successful!
 

ornias

Member
Jul 22, 2021
65
70
Netherlands
If I'm interpreting the name of that file correctly, does that mean you feel 38V is a proper cutoff voltage for a 48v system?

I believe that would correspond to the "Low Battery Protect (V)" value on my Ultra. It's currently set at 41. Does that sound right?
Yes you are interprenting that correctly, Bafang is pretty conservative with this number.
the default is 42 in this case, so 41 for the ultra seems to be right.


41v or 42v might be beter for battery longevity, but if you only occationaly (lets say one in 6 rides) reach below 10%, it's perfectly fine to set it to 38v and might just give you a few more % before stopping. It seems the battery themselves have a max-discharge spec of (combined) 35V is even 38V is still somewhat conservative.
 

ornias

Member
Jul 22, 2021
65
70
Netherlands
Some news on the reverse enginering and opensource firmware effort:
- We have as of today also managed to reverse engineer the Firmware Upgrade protocol which is used by BESST to upgrade controller firmwares. This means that in the future we will be able to create update software that does not require the BESST tool
- We also figured out why m500 files and not be uploaded to the m600, and the other way around.
- We've also managed to unlock the hidden configuration GUI in BESST, although we have not seen any controller that actually responds on the configuration "read" and "write" commands. We encourage anyone to try it though, it might also be compatible with M620 CANBUS version.
 

Waynemarlow

E*POWAH Master
Dec 6, 2019
1,126
902
Bucks
Interesting first couple of hours on the M600 last night riding in mostly steep and tricky single track with the abnormal growth levels of vegetation around and even over the paths this year. I had some trepidation about buying the M600 from the reports here and other forums but now having ridden one I can honestly say that this motor with minor tweaking will be as good as its fellow manufacturers products, possibly better.

Bare in mind that mine is a very late unit with plastic main gear and with the latest firmware on a 14S3P 21700 battery.

First impressions is that it’s very very quiet apart from almost the Prius type high frequency electric motor whine, certainly quieter than the Bosch Gen 4 and in the Brose category. It’s very very powerful and it surprised me even compared to the Brose which I consider the market leader, how much power it can put out. We have a long hill which gradually increases in steepness and in a straight drag race with the Brose owner who is virtually the same weight, winner winner and quite easily.

So where are the downsides. Sorry for you guys that want 1200 W’s + it’s not for you, for the guys who want to ride with analogue riders, it’s really really not for you, level 1 is just way to powerful, for the guys who want lightweight it’s not for you, it eats battery and understandably so when you consider that in level 1 it will pull 450 W’s, that’s getting into mid levels of assist of the Euro engines, which will too eat batteries if you run them in the higher assist levels. For the riders who want an over punchy off the bottom motor who exclusively ride in higher assist levels and ride steeper territory then sign up and get your wallet out.

Where would I change the motor, early days but the bottom assist levels are just way to powerful to be a really good all round motor. I think that’s it’s main problem at the moment as with that sort of punchiness with 450 W’s as it’s lowest assist level then you can see why we are getting reports of difficult to ride in tricky conditions ( to fast of ramp up for tricky starts but exactly what I would expect if I was starting off in higher assist levels in other motors ) and the consequent poor battery consumption with that higher minimum assist level. My guess if you could say tame down those first 2 assist levels and perhaps even spread the assist values over the 9 levels available, as standard then the motor wouldn’t be far off its competitors.

Lets see where this goes but certainly a better motor than being reported in some quarters in my view. It took me only a couple of hours to adapt my riding style to really begin to enjoy its over powerful and punchy bottom end ( it could seriously make one a very lazy rider ) and if it wasn’t for the overly powerful bottom couple of assist levels, looking forward particularly if the reliability is as good as Bafang had in their older motors.
 

savas

Member
Oct 16, 2018
137
57
sofia
if i remember correctly on my m600 1lvl out of 5 max is around 350w, lvl2 400-500w, lvl 3 600 w max ,lvl4 700 probably.But yes it depends on the firmware, it will be interestting to get the norway version of it m600s or what is called and test it.Mine is with the old gear (stееl gear) it is loud,but i will buy soon the plastic one if possible.
 

EMTB Forums

Since 2018

The World's largest electric mountain bike community.

559K
Messages
28,288
Members
Join Our Community

Latest articles


Top