Bafang M500/M600 thread

CiDi said:
This is the M600 controller configuration page of the Bafang BESST program.
Unfortunately the parameters that can be set are few, speed limit, type and wheel circumference and sensors calibrations.
Note: The speed limit can only be lowered, the maximum level is decided by the manufacturer and cannot be exceeded, even after a software update.
I am studying how to bypass this limit.

Update:
They gave me a new BESST account and with this I was able to increase the speed up to a maximum of 60km / h.
So the accounts don't all have the same privileges.

I read on another thread that they managed to access BESST without credentials, for the moment only with version v.1.2.17.
https://endless-sphere.com/forums/viewtopic.php?f=28&t=58780&sid=4e103296c3cf78687e8e093d7089c996&start=1175
 
artyy said:
CiDi said:
artyy said:
Thanks for reply. Would you tell me what actually is the diffrence between Firmware for 48V and 43V that you are using now in terms of motor smoothness and battery drainnig and are there any "side effects" related to the fact that this is 43V soft version and your battery is 48V?

The only side effect is the indication of the battery level which is wrong, for the rest only advantages.
This is mainly used at level 1 and 2, 3 for extreme climbs, 4 and 5 are not used.

Well, I know that it is difficult to define how the motor works better. I have to test it myself. I use exactly the same levels as you described. But I must say that at the beginning there was a massive problem with the speed sensor but after tuning it all became smoother and the motor seemed to work comparably with TSDZ2. The only real problem now is error 21 that often appears when I use the throttle at low speed (my prefered walking mode) and very really error 30.

The firmware for the 48V, in levels 1 and 2 has a discontinuous operation that is not very pleasant to use and the battery consumption suffers.
The latest firmware for the 43V is smoother and consumes less battery.
I asked bafang if it was possible to have an updated firmware like the 43V version, they replied that it is not possible to create a firmware with the characteristics of the 43V for the 48V.

Has anyone been able to verify my same impression?
 
I can confirm that you can use besst software and tool (newest version) without having credentials . I just changed the wheel size and max speed on my m500 . You need to do some adjustments in the script but finally I got it to work.

And I was able to increase the max speed from 25kmh to 60kmh.


Gesendet von iPhone mit Tapatalk
 
CiDi said:
CiDi said:
This is the M600 controller configuration page of the Bafang BESST program.
Unfortunately the parameters that can be set are few, speed limit, type and wheel circumference and sensors calibrations.
Note: The speed limit can only be lowered, the maximum level is decided by the manufacturer and cannot be exceeded, even after a software update.
I am studying how to bypass this limit.

Update:
They gave me a new BESST account and with this I was able to increase the speed up to a maximum of 60km / h.
So the accounts don't all have the same privileges.

I read on another thread that they managed to access BESST without credentials, for the moment only with version v.1.2.17.
https://endless-sphere.com/forums/viewtopic.php?f=28&t=58780&sid=4e103296c3cf78687e8e093d7089c996&start=1175

In this threat they are mostly talking about bbs01 and bbs02, in the last few post they are mentioning that they can't actually access the m500/600
 
That was also me in the other thread. At the beginning I struggled a bit with python 3.7 and some needed modules in win10. It’s definitely possible to access the m500/600 with this script. But you need as well the bafang usb tool to connect. I will post a short manual in the next days


Gesendet von iPhone mit Tapatalk
 
Where did you guys obtain the BESST tool? Lunacycle told me they would provide temporary login to flash the latest firmware from Bafang if I could obtain the BESST tool but they don't sell it.

FLX won't sell it unless you buy a bike from them. I conctacted CNEbikes. They replied back that they don't sell it. I contacted this seller on alibaba and here is the response. Fairly condescending and I'm not sure they are correct regarding the BESST tool being specific for dealer.

2020-09-15 12:47

Hi, I would like to know the price for:

2019 New Bafang Besst Motor Test Machine 8FUN Program Tool

https://www.alibaba.com/product-detail/2019-New-Bafang-Besst-Motor-Test_62061974887.html

----------------

Bruce Xia 2020-09-15 19:55

Do you only use for yourself or you have own ebike business

----------------

2020-09-17 01:36

For myself to flash latest Bafang firmware for M600 motor.

----------------

Bruce Xia 2020-09-17 02:08

lol

No company will sell it for you

Because bafang only provide the account to dealer

Except you buy 100pcs motors,bafang will provide to you

----------------

2020-09-17 02:28

The dealer who sold me my M600 motor will provide login to flash latest Bafang firmware. Unfortunately they do not currently have the BESST tool in stock. Can you sell it to me?

----------------

Bruce Xia 2020-09-17 02:29

no

different besst sir

each company have different besst

our besst only work for our motor
 
I've had problems from the get-go with the calibration on my Frey M600, and have asked Frey to help me with obtaining the BESST tool, which I offered to buy. No luck, they do not want to even discuss it. And as to my problem, basically the way the two responses translate to English are:
  • Life isn't fair sometimes!
  • Too bad, so sad!
 
https://hollandbikeshop.com/de-de/fahrradteile-elektrisches-rad/bafang-e-bike-ersatzteile/bafang-werkzeug/bafang-besst-uc-3-0-diagnose-tool-schwarz-674362/

You can try this. Located in the Netherlands. I bought mine there.


Gesendet von iPhone mit Tapatalk
 
i have a Luna babe with M600. power level 1&2 are all but useless. power levels 3,4,5 work fine. i would like to re program to distribute the power as follows, 1=20%,2=40%,3=60%,4=80% and 5=100%. i have read the entire thread and what i conclude is that it is not doable. guess Bafang has locked out any adjustments as i have described above. Luna told me they are trying to get a updated firmware but so far no reply from Bafang
please correct me if i am wrong.
 
tsellers said:
I've had problems from the get-go with the calibration on my Frey M600, and have asked Frey to help me with obtaining the BESST tool, which I offered to buy. No luck, they do not want to even discuss it. And as to my problem, basically the way the two responses translate to English are:
  • Life isn't fair sometimes!
  • Too bad, so sad!

Hmmm, neither Frey or Bafang are doing themselves any favours here, I was considering a Frey M600, but it doesn't sound like the motor will work the way that I want and is not configurable like earlier Bafang motors & Frey's attitude to helping seems pretty poor; maybe I'll give it a miss!
 
Frey's attitude to helping seems pretty poor; maybe I'll give it a miss!

I want to be fair to Frey. They seem to be working hard to establish a foothold in North American and European markets. We have bought a total of 5 bikes from them. With the exception of an optional seat upgrade, everything arrived well packed and as ordered.

There was the odd thing that surprised me. For example, I asked to purchase, as part of our order for 4 bikes, a spare speed sensor magnet for each bike. We were told that was not possible, which I found rather strange. And even stranger when the 'European Ambassador' chimed in (on this forum, it can be viewed easily still) to defend the reason why we should not expect that level of service, with a reasoning that did not make a lot of sense (to me at any rate). (According to him, it was unreasonable for us to expect to be able to buy an extra speed sensor with our order).

We had a rep that went on leave in the middle of our order for personal reasons, and we had to get a friend that spoke Chinese to stick handle the order from that point onward (by contacting our original rep while at home while leave via 'WeChat') when we had no luck getting timely responses or any meaningful information from the new rep.

M600: I had factory assembly issues that caused me to get a front hub with bearing installed incorrectly that took me 2 days to figure out before I could complete my assembly (again shown on this forum), and a derailleur I had to replace at my own expense after not having luck buying and replacing the cage plates and hangers (again documented on this forum). M600: I got a display that powered up to show 460 km on a brand new bike. M600: I have connectors that need to be jiggled into place on the display about once a week or it will not power on. CC: I have gear shift sensors that seem to tell the motor I am shifting when I am not, and ditto for brake sensors if you hit a hard bump. M600: I have a speed reading of 39 km per hour when in fact I have confirmed with many tests I am actually going 35.5, and no way to apparently resolve this because the M600 cannot be programmed. CC: I have a drop seat cable that binds in the frame and you have to feed it carefully back toward the seat post before you can raise the seat post (my friends that bought 2 others on the same order have already broken one, probably because they yanked too hard on the seat post when trying to pull it up). There are some other small issues too petty to bother whining about, you just look after them as required.

However, from what I read, you typically don't get any better service from well known domestic LBS's or national dealers that name themselves after planets or other geographical features even though you are willing to pay more. So I suppose if you are handy with a wrench, can wait 4-5 months, have a bike stand, and a mouse that allows you to order spare parts like derailleurs and speed sensor magnets from Ali Express with a couple of clicks, you're probably best off to order from China once you're satisfied your money is not going to disappear into a black hole, and pay yourself for your labour to address some of the shortcomings you may experience that may or may not be similar to those outlined above.
 
I have just arrived on this site, and I feel you will be able to help here, but I just need some clarification about how I work correctly with the device 'Bafang Besst Tool'.

I drive an eMTB Leader Fox with a Bafang M500 engine, unfortunately it can only go at 25 km / h, I would really like to make it go faster.

What I don't understand correctly is that a script needs to be replaced ...

How should it be correct? How does it work, I am a layman in that kind of thing.

Nice forum for this :wink:

Thanks, Fraben :thumb:
 
Fraben said:
I have just arrived on this site, and I feel you will be able to help here, but I just need some clarification about how I work correctly with the device 'Bafang Besst Tool'.

I drive an eMTB Leader Fox with a Bafang M500 engine, unfortunately it can only go at 25 km / h, I would really like to make it go faster.

What I don't understand correctly is that a script needs to be replaced ...

How should it be correct? How does it work, I am a layman in that kind of thing.

Nice forum for this :wink:

Thanks, Fraben :thumb:

Let's do some clarity
BAFANG BESST 3.0 programming interfaces are all the same.
BESST is a product for bike dealers/assemblers.
The account is issued by Bafang to the assembler/builder/reseller buyer.
When connecting with the controller/HMI/battery/sensor, the program verifies that the serial number corresponds to an motor purchased by the account holder.
There are two types of accounts, only the one of the manufacturer can change the speed.
All this happens through requests to the Bafang server.
There is a python script which replaces the Bafang server and accepts all requests.
https://endless-sphere.com/forums/viewtopic.php?f=28&t=58780&sid=4e103296c3cf78687e8e093d7089c996&start=1175
 
tsellers said:
Frey's attitude to helping seems pretty poor; maybe I'll give it a miss!

I want to be fair to Frey. They seem to be working hard to establish a foothold in North American and European markets. We have bought a total of 5 bikes from them. With the exception of an optional seat upgrade, everything arrived well packed and as ordered.

There was the odd thing that surprised me. For example, I asked to purchase, as part of our order for 4 bikes, a spare speed sensor magnet for each bike. We were told that was not possible, which I found rather strange. And even stranger when the 'European Ambassador' chimed in (on this forum, it can be viewed easily still) to defend the reason why we should not expect that level of service, with a reasoning that did not make a lot of sense (to me at any rate). (According to him, it was unreasonable for us to expect to be able to buy an extra speed sensor with our order).

We had a rep that went on leave in the middle of our order for personal reasons, and we had to get a friend that spoke Chinese to stick handle the order from that point onward (by contacting our original rep while at home while leave via 'WeChat') when we had no luck getting timely responses or any meaningful information from the new rep.

M600: I had factory assembly issues that caused me to get a front hub with bearing installed incorrectly that took me 2 days to figure out before I could complete my assembly (again shown on this forum), and a derailleur I had to replace at my own expense after not having luck buying and replacing the cage plates and hangers (again documented on this forum). M600: I got a display that powered up to show 460 km on a brand new bike. M600: I have connectors that need to be jiggled into place on the display about once a week or it will not power on. CC: I have gear shift sensors that seem to tell the motor I am shifting when I am not, and ditto for brake sensors if you hit a hard bump. M600: I have a speed reading of 39 km per hour when in fact I have confirmed with many tests I am actually going 35.5, and no way to apparently resolve this because the M600 cannot be programmed. CC: I have a drop seat cable that binds in the frame and you have to feed it carefully back toward the seat post before you can raise the seat post (my friends that bought 2 others on the same order have already broken one, probably because they yanked too hard on the seat post when trying to pull it up). There are some other small issues too petty to bother whining about, you just look after them as required.

However, from what I read, you typically don't get any better service from well known domestic LBS's or national dealers that name themselves after planets or other geographical features even though you are willing to pay more. So I suppose if you are handy with a wrench, can wait 4-5 months, have a bike stand, and a mouse that allows you to order spare parts like derailleurs and speed sensor magnets from Ali Express with a couple of clicks, you're probably best off to order from China once you're satisfied your money is not going to disappear into a black hole, and pay yourself for your labour to address some of the shortcomings you may experience that may or may not be similar to those outlined above.

Thanks for taking the time to explain, I am not so concerned with small mechanical niggles with the bike, more that the motor will not be programmed to function in the way that I would want it to and that, as it appears, Frey would not assist by granting Besst access, so that I could reprogram.

I already have a great bike with a Bosch motor, the only reason I was thinking of changing was so that I could have throttle for occasional use; to fill in for odd moments when pedalling is not possible, due to potential pedal strikes and to get instant motor assist to pull away on steep inclines. It seems that a stock frey bike would not allow for throttle from zero and I'd be unable to be able to change this, so I will, more than likely, stick with the bike I have and modify it to add a Phaserunner/Baserunner, so that I can get the motor to function exactly as I like.
 
Yesterday I made a backcountry larch viewing trip that involved about 800 meters of elevation gain. The first 8km were bike approach, and the last 6 on foot. I elected to take my Giant Full-e instead of the Frey M600 mostly due to weight. It seemed to me that the Yamaha power plant was also smoother, and I also appreciated having to worry less about pedal strikes in all the rocky ground (I find about the only time I use the throttle on the Frey is to facilitate avoiding pedal strikes). Maneuvering the lighter and more responsive bike made riding much more enjoyable. After getting the Frey my intent had been to sell the Giant, however now I think I'll keep it for backcountry use, and the Frey will get the studded tires when winter arrives.

Of course my dream bike would be to get a Specialized Turbo S-Works Levo SL, but in the meantime I'll have to keep my reality in line with my wallet.
 
mirkoser100 said:
I can confirm that you can use besst software and tool (newest version) without having credentials . I just changed the wheel size and max speed on my m500 . You need to do some adjustments in the script but finally I got it to work.

And I was able to increase the max speed from 25kmh to 60kmh.


Gesendet von iPhone mit Tapatalk

Hey Mirkoser,

How did you adjust the script, because I also have an M500 motor and i can only max 25km / h.

Is it just copy / paste stuff?

thanks
 
So find attached the modified code. I just changed the #user type: 1 brand, 2 dealer, 3 assembler, 4 manufacturer, 5 terminal. 4 for tool access, 3 for diagnostics
userdata = json.dumps( {'code':0,'data':{'user':{'status':6,'org': {'id': 12345, 'type': 6}},'token':123}} )
to "6"

Save this code to a file ****.py But make sure that python3.7 is installed.
I had to install pip and the simplejson package as well . (win10 64bit)
Then open the ****.py. The programm has to stay open in the backround. If the black window disappear, the simplejason package is missing and you have to install it as well.

Then open besst (newest software 1.2.23),type in some random userdata.
Then click on tools and read (besst tool has to be connected first). Im using the besst 3.03 tool

Code:
# written by elenhinan, 24.11.2016

from http.server import BaseHTTPRequestHandler, HTTPServer
import socketserver
import simplejson as json
import socket

class BESST_server(BaseHTTPRequestHandler):
	def do_POST(self):
		data_string = self.rfile.read(int(self.headers['Content-Length']))
		print("got post from BESST (%s)"%data_string)

		if b"password" in data_string:
			print("login accepted ;)")
			self.send_response(200)
			self.send_header('Content-type', 'application/json;charset:UTF-8\r\n')
			self.end_headers()
			#user type: 1 brand, 2 dealer, 3 assembler, 4 manufacturer, 5 terminal. 4 for tool access, 3 for diagnostics
			userdata = json.dumps( {'code':0,'data':{'user':{'status':6,'org': {'id': 12345, 'type': 6}},'token':123}} )
			self.wfile.write(userdata.encode('utf-8'))
		else:
			self.send_response(200)
			self.send_header('Content-type', 'application/json;charset:UTF-8\r\n')
			self.end_headers()
			userdata = json.dumps( {'code':0} )
			self.wfile.write(userdata.encode('utf-8'))


def run(handler_class=BESST_server, port=80):
        ip_lookup = socket.gethostbyname('besst-api.yuntick.com')
        print(("test.api.besst.bafang-service.com forwards to %s"%ip_lookup))
        httpd = socketserver.TCPServer(("", port), handler_class)
        print("Starting httpd...")
        httpd.serve_forever()


if __name__ == "__main__":
	run()
 

Attachments

  • ScreenHunter_115 Sep. 24 18.54.jpg
    ScreenHunter_115 Sep. 24 18.54.jpg
    11.1 KB · Views: 3,224
  • ScreenHunter_117 Sep. 24 18.54.jpg
    ScreenHunter_117 Sep. 24 18.54.jpg
    9.4 KB · Views: 3,223
  • ScreenHunter_120 Sep. 24 19.00.jpg
    ScreenHunter_120 Sep. 24 19.00.jpg
    43.9 KB · Views: 3,223
  • ScreenHunter_121 Sep. 24 19.00.jpg
    ScreenHunter_121 Sep. 24 19.00.jpg
    62.8 KB · Views: 3,223
mirkoser100 said:
So find attached the modified code. I just changed the #user type: 1 brand, 2 dealer, 3 assembler, 4 manufacturer, 5 terminal. 4 for tool access, 3 for diagnostics
userdata = json.dumps( {'code':0,'data':{'user':{'status':6,'org': {'id': 12345, 'type': 6}},'token':123}} )
to "6"

Save this code to a file ****.py But make sure that python3.7 is installed.
I had to install pip and the simplejson package as well . (win10 64bit)
Then open the ****.py. The programm has to stay open in the backround. If the black window disappear, the simplejason package is missing and you have to install it as well.

Then open besst (newest software 1.2.23),type in some random userdata.
Then click on tools and read (besst tool has to be connected first). Im using the besst 3.03 tool

Code:
# written by elenhinan, 24.11.2016

from http.server import BaseHTTPRequestHandler, HTTPServer
import socketserver
import simplejson as json
import socket

class BESST_server(BaseHTTPRequestHandler):
	def do_POST(self):
		data_string = self.rfile.read(int(self.headers['Content-Length']))
		print("got post from BESST (%s)"%data_string)

		if b"password" in data_string:
			print("login accepted ;)")
			self.send_response(200)
			self.send_header('Content-type', 'application/json;charset:UTF-8\r\n')
			self.end_headers()
			#user type: 1 brand, 2 dealer, 3 assembler, 4 manufacturer, 5 terminal. 4 for tool access, 3 for diagnostics
			userdata = json.dumps( {'code':0,'data':{'user':{'status':6,'org': {'id': 12345, 'type': 6}},'token':123}} )
			self.wfile.write(userdata.encode('utf-8'))
		else:
			self.send_response(200)
			self.send_header('Content-type', 'application/json;charset:UTF-8\r\n')
			self.end_headers()
			userdata = json.dumps( {'code':0} )
			self.wfile.write(userdata.encode('utf-8'))


def run(handler_class=BESST_server, port=80):
        ip_lookup = socket.gethostbyname('besst-api.yuntick.com')
        print(("test.api.besst.bafang-service.com forwards to %s"%ip_lookup))
        httpd = socketserver.TCPServer(("", port), handler_class)
        print("Starting httpd...")
        httpd.serve_forever()


if __name__ == "__main__":
	run()
Is it possible to change the speed limit of each PAS or the sensitivity?
Also is it possible to play with the throttle settings?
 
mirkoser100 said:
No you can just modify the max speed and wheel size


Gesendet von iPhone mit Tapatalk

I am guessing if there is an option to upload a firmware update, or a configuration files, you can essentially repack your own with the modification you want to have.

But I am guessing modifying the speed and wheel size is also something.
 
mirkoser100 said:
Firmware Update is possible. But I have no firmware [emoji3]


Gesendet von iPhone mit Tapatalk

Not 100% sure, but I think someone has uploaded a firmware in this thread. It might be interesting to check out, I might do it my self and see if having a BEEST tool actually makes sense as getting one I pain in the ass. I don't even know where to get it.
 
You can buy it here. If you are in Germany you will get it within 3 days.


https://hollandbikeshop.com/de-de/fahrradteile-elektrisches-rad/bafang-e-bike-ersatzteile/bafang-werkzeug/bafang-besst-uc-3-0-diagnose-tool-schwarz-674362/

Yes somebody posted a firmware but for a 43v M600 version...


Gesendet von iPhone mit Tapatalk
 
mirkoser100 said:
You can buy it here. If you are in Germany you will get it within 3 days.


https://hollandbikeshop.com/de-de/fahrradteile-elektrisches-rad/bafang-e-bike-ersatzteile/bafang-werkzeug/bafang-besst-uc-3-0-diagnose-tool-schwarz-674362/

Yes somebody posted a firmware but for a 43v M600 version...


Gesendet von iPhone mit Tapatalk
Actually mine is m600, I might want to see if I can change play with the firmware and see if I can edit some things otherwise I don't know if I need it. I am in Germany as week and I know this is not legal, but I mostly want to have the power as I am 108kg person. What I want to do is limit the speed on the top 3 assist modes and the ones above will be for "off road fun" as etherway I really don't ride it more then 30km/h most of the time. if I am with my wife its like 20km/h :cry:
 
Fraben said:
mirkoser100 said:
I can confirm that you can use besst software and tool (newest version) without having credentials . I just changed the wheel size and max speed on my m500 . You need to do some adjustments in the script but finally I got it to work.

And I was able to increase the max speed from 25kmh to 60kmh.


Gesendet von iPhone mit Tapatalk

Hey Mirkoser,

How did you adjust the script, because I also have an M500 motor and i can only max 25km / h.

Is it just copy / paste stuff?

thanks

Remember to add the text

127.0.0.1 test.api.besst.bafang-service.com

to the host file in the folder

C:\Windows\System32\drivers\etc
 
Back
Top