Bafang M500 and M600 motors

⚡ EMTB Pro Go Pro — exclusive discounts & ad-free Peaty's 25% off & more · Ad-free browsing · Pro badge See the deals →
Guys, could you write Bafang and ask them for M600 (and M500) firmware with a possibility to adjust settings like inM510?
M600 is still on the market for 2023 and probably for future, and have good market share in US so it may be very helpful if Bafang prepare such firmware for this motor also.
 
Guys, could you write Bafang and ask them for M600 (and M500) firmware with a possibility to adjust settings like inM510?
M600 is still on the market for 2023 and probably for future, and have good market share in US so it may be very helpful if Bafang prepare such firmware for this motor also.

Good idea. I just did that per your request.

On a different note - Does anyone know what version of the firmware is shipping on the M600 currently (or recently)?
 
The M600 has fantastic power, but Bafang firmware is poor and implementation even worse. I’ll forgive it because of the power and be mindful of its aggressive start power, especially when manoeuvring.

Not interested in messing with firmwares so that rules out the m510
I may have phrased my question not clear enough, I didn't mean if any of the M5x0/600 motors can compete with the established brands in terms of raw power/torque, I am interested in having a good adaptive mode that is on par with the "Trail" mode of Shimano, or the "MTB" mode of Bosch.
In fact I would tune the motor down because I like the adaptive behavior but feel they help me too much.

It seems like not even the M510's firmware offers such a mode in a reliable way. They seem to mostly cadence driven, but not mainly by torque and what other sensor data Bosch or Shimano use to determine the motor output.
 
I doubt Bafang are interested. Even their own Bafang Enduro MTB team do not run Bafang firmware and a lot of their riders would have experienced the amazing EMTB/Trail plus modes of the Bosch.


QUOTE="El Topo, post: 415842, member: 25598"]
I may have phrased my question not clear enough, I didn't mean if any of the M5x0/600 motors can compete with the established brands in terms of raw power/torque, I am interested in having a good adaptive mode that is on par with the "Trail" mode of Shimano, or the "MTB" mode of Bosch.
In fact I would tune the motor down because I like the adaptive behavior but feel they help me too much.

It seems like not even the M510's firmware offers such a mode in a reliable way. They seem to mostly cadence driven, but not mainly by torque and what other sensor data Bosch or Shimano use to determine the motor output.
[/QUOTE]
 
Even their own Bafang Enduro MTB team do not run Bafang firmware ...
Which firmware are they running then?!
I mean, they can't be running a Bosch motor without anyone noticing it, do they have a custom firmware that noone else has acess too? I would like to think Bafang would implement a good trail mode if they had anyone actually coding it.

With the current state, I don't know if I can justify the purchase of any of these Bafang motors, I don't need/want power, I want a smooth and adaptive trail mode (preferably one where I downregulate the power, preferably via an app - not the other way around).
 
Last edited:
Well they won’t be running a Bosch motor (I ment that most Mountain bikers have ridden a Bosch bike)
yes the team confirmed they are running custom firmware.
I doubt it even a coding issue! Probably more a Hardware limitation


Which firmware are they running then?!
I mean, they can't be running a Bosch motor without anyone noticing it, do they have a custom firmware that noone else has acess too? I would like to think Bafang would implement a good trail mode if they had anyone actually coding it.

With the current state, I don't know if I can justify the purchase of any of these Bafang motors, I don't need/want power, I want a smooth and adaptive trail mode (preferably one where I downregulate the power, preferably via an app - not the other way around).
 
Good idea. I just did that per your request.

On a different note - Does anyone know what version of the firmware is shipping on the M600 currently (or recently)?
As far i know the 46.7 is used as a stock, and thats pretty good firmware imo.
 
Correct. The main thing is it doesn't have the aggressive ramp up which throws you off when riding technical trails.
 
I like this ramp up, and higher amperage is better on steep hills. Good we can pick the firmware, and also thats the reason we need the adjustable firmware to easier adjust it to our requirements.
 
Yes on a non technical steep hill it is great, but if you are riding rooted, rutted and technical steep short singletrack rails, its very annoying. Its a compromise on long steep hills, i switch to 5 PAS levels rather 9 PAS levels. This helps on the long steep hills although the ramp up on PAS 2 is still too aggressive.
 
Yes on a non technical steep hill it is great, but if you are riding rooted, rutted and technical steep short singletrack rails, its very annoying. Its a compromise on long steep hills, i switch to 5 PAS levels rather 9 PAS levels. This helps on the long steep hills although the ramp up on PAS 2 is still too aggressive.
I‘m running 46.7 on 52V and ride a lot of technical steep single track. I‘ve got used to the ramp up and I’ve got to say that the bike handles as good as my Bosch and Brose motored friends in the same tracks. In some ways you can use that punchiness to get up steps and such like that they seem to have no chance of getting up. Technically at 52V it should be worse but the biggest gain in taming a very peaky motor has been both going to 52V and the use of 155mm cranks, the two changes have made a good motor even better.

Would I want to change things, yes and no, my FAZUA motor can be changed virtually at my discretion on every level, it’s good really good to be able to that. Would I get rid of my M600, no it’s good in its place, bad that I can’t change the levels and ramp up and down at my discretion. I’m hoping the new BEEST Pro will be able to that, until then I’m relatively happy.
 
Hello ebikers.

K1 eBikes has designed small, portable and simple K1 CAN Monitor & Speed Unlocker - no need computer or mess with BESST. Works ONLY with Bafang motors with CAN bus (green connector to display with "house" shape 5 pin connector).

For more info check the following link:
https://endless-sphere.com/forums/viewtopic.php?f=31...

How to unlock speed:
https://youtu.be/6z3TzEqNWsQ

If you interested, send an email to [email protected], will answer any questions and will send user manual.
K1 CAN Monitor is determined for testing purpose only and is not waterproof.

CANMon2.JPG
 
I was primarily talking about the M510, no doubt there's an M610 on the way.

Rapid obsolescence is one of the risks when buying a non-mainstream solution, particularly of Chinese origin and particularly in a field that is undergoing a huge upsurge in both popularity and progress. It's unfortunate that a more open source ethos doesn't tend to come with such products, but great that such things also tend to attract people with a more techy mindset, who are happy to tear them to pieces in the pursuit of making them better,or in my case, breaking them...!
Actually the company FLX just released a EmTB with what they call the Bafang M610 uses 750watrs continuous and 1000watt peak. Plus their newest release is supsr cheap for the parts.
 
This question is for m600 riders with a lot of miles on that motor.

How reliable is it in practice? For the sake of the question set aside any water intrusion issues. I can solve for those.

I'd like to know in a general sense if the m600 generally works as advertised or if around some milage point they tend to have internal failures.

Any insight would be helpful. Im trying to justify a cheeb build with an m600.

Thanks in advance ☺️
Well our torque sensor went within the first 150miles after we rebuilt the m600 and replaced the bad torque sensor. Not a single problem. Only issue is the manual wheelies. Coming from dirtbike world, its hard to get my Luna X2 up on the rear wheel. Tbh if i could do it all over, i'd buy a bike with ultra bagang motor, or id go with Bosch abs driven bike like the Whyte 180RS.
Much more reliable andna difference in how the power is transferred to the ground. Bosch is better, but just a little under powered for that top end.
 
Well our torque sensor went within the first 150miles after we rebuilt the m600 and replaced the bad torque sensor. Not a single problem. Only issue is the manual wheelies. Coming from dirtbike world, its hard to get my Luna X2 up on the rear wheel. Tbh if i could do it all over, i'd buy a bike with ultra bagang motor, or id go with Bosch abs driven bike like the Whyte 180RS.
Much more reliable andna difference in how the power is transferred to the ground. Bosch is better, but just a little under powered for that top end.
bad torque sensor cause no assist from motor when pedalling?
 
Actually the company FLX just released a EmTB with what they call the Bafang M610 uses 750watrs continuous and 1000watt peak. Plus their newest release is supsr cheap for the parts.
This is very interesting! Still no information on bafang m610 on the official website. This would however be s very desirable upgrade..
 
I need a M500 motor for development. Does anyone have a used one to sell?

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

Since the Bafang is keep launching new motor models and not updating the firmware of previous recent models, like M500 and M600, I really think the best route is to go with VESC and forget about developing firmware for their original motor controllers!! For now I will try to go DIY, using VESC outside of my M500, but later maybe someone want to design, build, test and sell custom motor controllers based on VESC and for this Bafang motors.

Example of VESC EBike motor controller: Flipsky VESC 75100 EBike controller: 100€, 75V 100A, CAN and UART communication.

Advantages:
- BEST motor controller out there, OpenSource, small and powerful
- only 1 minute to make the inital motor auto detection setup, resulting in the best motor performance and silence out there!!
- VESC EBike application can be developed in high level scripting language
- powerful mobile app (also for PC and RaspberryPI), with high level scripting language for custom application
- display available to buy on shops, OpenSource (although for ESkates but easy to adapt for EBikes)
- there are A LOT of experienced users / developers of VESC
- powerful advanced algorithm for sensorless at motor 0 speed meaning no hall sensors needed
- cheaper than a Bafang original motor controller

Disadvantages:
- DIY solution

Video:


image.png


image.png


image.png


image.png


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

I connected an old VESC controller to the 48V TSDZ2 motor (I do not have yet a Bafang motor for development). VESC software were able to detect the motor characteristics:



I was tweaking the sensorless HFI silent mode and it seems to work well. I tried to block with pliers the motor shaft and I could feel the torque, although I did not tested it on the real EBike. I also did not connect the hall sensors as I am only interested on the sensorless mode, as I plan to run the Bafang motor in sensorless mode.



On this short video, you can see the motor running. Note that the motor is very silent but because it was attached on the metal vice, the noise was kind of amplified:




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

I am thinking in using the VESC only for the motor control. Then, use a custom DIY board where every will be connected: brake sensors; throttle; torque sensor. This board will also connect to VESC using UART_0 and connect to the display using UART_1 (Easy DIY display).

This board will use the NRF52840 microcontroller (the same used on the Easy DIY display) and the firmware will be developed in Pyhton. This board will basically implement the EBike aplication: reading the various sensors and output commands to the motor controller, like setting the motor current and motor speed. It will also send data to the display and receive data for the user configurations done on the display.

This board with the EBike application, will be easy and fast to be reused on other devices like my TSDZ2 EBike motor controllers. I will also use it to my Xiaomi EScooter.

I already bought the Flipsky 75100 VESC motor controller to use on development and to install on the final, on my EBike with M500 and 52V battery. Currently, I have a Flipsky VESC 4.2 but it do not support voltages like 48 or 52V, only lower. I also have the NRF52840 board and I am starting the development of the EBike app in Pyhton.
 
I have this one:
So far, so good, 1.1kW in peak. You only need to swap two wires on connector or make an adapter with plugs.

You may also add one shunt resitor then force M600 18A firmware upload - it also should work.
Hi,
Do you know where FLX.bike sends its goods?

I wanted to order this controller, but it can't be sent to the Czech Republic...
I would have it forwarded from one of the countries that FLX ships to...
 
Hi,
Do you know where FLX.bike sends its goods?

I wanted to order this controller, but it can't be sent to the Czech Republic...
I would have it forwarded from one of the countries that FLX ships to...
you may try myus.com, i used their services once, however i see Czechia on FLX list.
 
I just got the M500 second hand motor, it was fast, thanks to Thomas H.

First thing I did were to remove the cover and original motor controller, and cut the motor wires on the original controller and solder to VESC. Took me only 1 minute to get the motor running:


As you can see, I only needed to connect the 3 phase wires and it is running sensorless.

See also that there is a generous space where the original motor controller was, meaning the DIY EBike control board can probably be installed there and the only external board will be the VESC controller. The wires will need to be:
- 3 thick motor phase wires, as seen on the video
- 2 thin UART wires, for communication with VESC
- 2 thin wires, 5V and GND, from VESC to power the DIY EBike control board


I did draw the schematic for the DIY version I plan to implement - all that was already tested on previous projects. The power to this board will be provided by the 5V output from VESC.

As can be seen, mostly is only wires. There are only 3 basic resistors + the CAN module (to communicate with the torque sensor) + the NRF52840 board. This board is connected by USB to PC, to be programmed with the (CircuitPython) Python application of EBike, yet to be developed. The debug of this python EBike application is done by serial port that is implemented on top of the USB connection.
The various sensors connections are really basic.

The communication for the display will also be UART and the power to the display will be the dame 5V from VESC.

ebike.png


And here is the schematic for the Easy DIY display - really basic:



For now, I have a very simple Python code that is sending data to UART1, to be connected to VESC. My plan for next days is to make a code that reads the throttle value and setup a motor speed and current based on the throttle values. It needs to read the throttle ADC as also to read and send by UART commands to the VESC -- here is the Github repository with current code and schematics:

 
This is difficult to grasp but very interesting! 😄 I take my hat off before you. Also do you know if stock controller uses FOC? If not there might be some efficiency gain as well!
 
This is difficult to grasp but very interesting! 😄 I take my hat off before you. Also do you know if stock controller uses FOC? If not there might be some efficiency gain as well!
Almost for sure original firmware on the original motor controller, implements FOC.

For me, even lowest assist level produces to much motor power so I will win once I can setup it to lower -- my fitness will be improved and I will be able to use a smaller and lighter battery.
 
I would say this issue was resolved in m510 that allows you with the help of Besst Pro to regulate max current on each assist level. If you set it to 10-15% you get a very gentle assist
 
I would say this issue was resolved in m510 that allows you with the help of Besst Pro to regulate max current on each assist level. If you set it to 10-15% you get a very gentle assist
I understand your suggestion, but I bought my M500 only 8 months ago and If I would need to buy M510, I would need to pay 1000€!! Paying 1000€ just to have the assist levels factor customized??

But even that would be not enough, because I really want to focus on my fitness and I need full control of the motor, as I did explain here on the other forum:

I am now more fit, I use my ebike with Bafang M500 and I use a gravel bike (a regular bicycle, no motor). I really care about my health and the bicycles / ebikes are strategic health and pleasure machines I use, other than small trail runs and swimming.
I am now more fit, I use my ebike with Bafang M500 and I use a gravel bike (a regular bicycle, no motor). I really care about my health and the bicycles / ebikes are strategic health and pleasure machines I use, other than small trail runs and swimming.

On both bicycles, I have the same Garmin pedals XC100 that measures my pedal power. My average regular pedal power is around 200 watts and I like to pedal at that level on my rides. But I can also give peaks of like 400W for 30 seconds, etc - see my power curve bellow measured by my pedals.

Although I am looking to do fitness, I still need to use the ebike for that step and long hills, on days with 80 kms and that I take like at least 6 hours to do it. This long day rides and this power, have a big positive impact on my diabetes and fat loss!

I do not like my M500 because the lowest assist level 1 is still to much for me, I wish it was way lower! But it is not only that, I wish to be force to always give my average 200W pedal power and only after that, the motor assist would turn on. See this graph:



So looking at the graph, I would like:
1. Green line: configure a constant min value of motor power, like 75W, that is the one to compensate the the extra friction on the pedals due to the motor and extra weight on the bicycle due to the motor and battery.
2. Green line: configure the pedal power value after which the motor would start to give assistance / motor power on top of 1., and ramp up it based on the pedal power.

This is a dream, as the original firmware does net let us configure such advanced modes. If we could develop our own firmware, we could do it. The pedal power value could be measured by the Bafang M500 torque sensor.

My power curve recorded by my pedals:


On both bicycles, I have the same Garmin pedals XC100 that measures my pedal power. My average regular pedal power is around 200 watts and I like to pedal at that level on my rides. But I can also give peaks of like 400W for 30 seconds, etc - see my power curve bellow measured by my pedals.

Although I am looking to do fitness, I still need to use the ebike for that step and long hills, on days with 80 kms and that I take like at least 6 hours to do it. This long day rides and this power, have a big positive impact on my diabetes and fat loss!

I do not like my M500 because the lowest assist level 1 is still to much for me, I wish it was way lower! But it is not only that, I wish to be force to always give my average 200W pedal power and only after that, the motor assist would turn on. See this graph:



So looking at the graph, I would like:
1. Green line: configure a constant min value of motor power, like 75W, that is the one to compensate the the extra friction on the pedals due to the motor and extra weight on the bicycle due to the motor and battery.
2. Green line: configure the pedal power value after which the motor would start to give assistance / motor power on top of 1., and ramp up it based on the pedal power.

This is a dream, as the original firmware does net let us configure such advanced modes. If we could develop our own firmware, we could do it. The pedal power value could be measured by the Bafang M500 torque sensor.

My power curve recorded by my pedals:
 
I got the Bafang M500 motor running using a throttle. The code I did, reads the throttle value and maps that value to a motor current value, that I send to VESC using command COMM_SET_CURRENT.


Here is the current EBike board. Black and red wires powers the EBike board from the VESC. Yellow and white wires are UART tx and rx, for communication with VESC.
The throttle has 3 wires. The blue is the throttle output analog signal and the others are GND and 3.3V that powers the throttle. There is one resistor of 100K, as seen on the following schematic:

image.png




And this is the current Python code of the EBike board:

 
Keep reading
    Browse all

    Similar Threads

    Community Stats

    Since 2018
    669K
    Messages
    40,902
    Members
    Join 30,000+ Riders, it's free!
    Back
    Top