Bafang M500/M600 thread

ornias said:
4πr^2 said:
OK - JLink is on order. I will poke around and see if there is anything to see!

In other news, believe I've found the weakest component so far...looks like they are running battery voltage through an SMPS buck converter before sending it on to the rest of the system and the linear regulators. A 13S "48V" battery could be approaching 54V fully charged and that is just too much to slam into simple LVRs. The SMPS looks to be based on an MP2459 driver which has rated max voltage input of 55V and "absolute maximum" of 60V.

https://www.monolithicpower.com/en/documentview/productdocument/index/version/2/document_type/Datasheet/lang/en/sku/MP2459/document_id/259

So if anyone is thinking of hotrodding the controller beyond a 14S pack, which might already put you a bit north of 58V fully charged, then it might be wise to do some surgery on the 2459 and provide a more robust way to get down to 'nominal' voltage levels.

Thank you, this explains their hard maximum on 58v in firmware. If you go over the board wont start.

Probably so. Though would be really nice if that could be 59V, or even the full 60V. That would allow for a fully charged 14S pack @ 58.8 ... and what's 0.8V among friends!??! :wink:
 
14S and charging to 58V will work, though my BMS only starts cell balancing when the voltage gets to 4.18V/cell. (Suspect others might be similar) So a 'balance charge' would leave me with a 14 x 4.18V = 58.52V battery. I'd need to discharge that ~half volt to allow the bike controller to turn on, or as you say, stay at 58V, but that doesn't balance cells.

A tweak to ~59V allowance in firmware would allow full charging / cell balancing, eliminate the pre-discharge issue and would only push about 0.5 to 0.8V further into the 'red zone' between the rated max of 55V and the 'absolute max' of 60V ratings on the chip.

Looks like LMR16006 might be a possibility for a replacement chip. Same form factor, pinout, etc. It has ratings of 60V max, 65V 'absolute max'. So either gets you a bit of comfort well within the ratings for a 14S pack, or allows you to push into the red zone once again with a 15S pack at ~62.7V!
 
Just fired my one up for the first time at 57.8volts and it seems to run and work fine. I'll try a fully charged battery at some stage. Oddly enough I only had to put a discharge for a few minutes on my battery and it was down to just below 58 volts, is that voltage above 58 almost a float volt ?
 
4πr^2 said:
ornias said:
4πr^2 said:
OK - JLink is on order. I will poke around and see if there is anything to see!

In other news, believe I've found the weakest component so far...looks like they are running battery voltage through an SMPS buck converter before sending it on to the rest of the system and the linear regulators. A 13S "48V" battery could be approaching 54V fully charged and that is just too much to slam into simple LVRs. The SMPS looks to be based on an MP2459 driver which has rated max voltage input of 55V and "absolute maximum" of 60V.

https://www.monolithicpower.com/en/documentview/productdocument/index/version/2/document_type/Datasheet/lang/en/sku/MP2459/document_id/259

So if anyone is thinking of hotrodding the controller beyond a 14S pack, which might already put you a bit north of 58V fully charged, then it might be wise to do some surgery on the 2459 and provide a more robust way to get down to 'nominal' voltage levels.

Thank you, this explains their hard maximum on 58v in firmware. If you go over the board wont start.

Probably so. Though would be really nice if that could be 59V, or even the full 60V. That would allow for a fully charged 14S pack @ 58.8 ... and what's 0.8V among friends!??! :wink:
I could try to make an experiemental firmware with settings max voltage to 59.
Though i'm not sure if this safetly is related to that settings or hardcoded elsewhere...
 
Waynemarlow said:
Just fired my one up for the first time at 57.8volts and it seems to run and work fine. I'll try a fully charged battery at some stage. Oddly enough I only had to put a discharge for a few minutes on my battery and it was down to just below 58 volts, is that voltage above 58 almost a float volt ?

If you look at a typical lithium discharge curve, the first few tenths of a volt drop pretty quick, then you settle into a nominal discharge around 3.7V where most of the actual capacity is. 58/14 = 4.14 volts per cell, so you really only need to discharge the very 'tip' - which may only take a few minutes. It's definitely more of a nuisance than an arduous task!

@ornias 59V firmware would be neat to try. I don't currently have any way to upload, so I'd be relying on someone else to test out my wild idea. Though Waynemarlow does make a good point above - you'd only be operating above 58V for a few minutes, so not like we're expecting 24/7 operation at high voltages.
 

Attachments

  • typical discharge.jpg
    typical discharge.jpg
    31.7 KB · Views: 1,590
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 on this forum 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.

A thought regarding what voltage to run it at. It seems to have a real sweet spot around 50 volts where everything tames down and the motor feels really happy with what it’s doing. Do we run 14S and precondition the voltage to 50 volts, using the W/h counter on the display as your battery level. This overcomes the early shut down the motor is reported to do on the 13S setups and limits the voltage to the motor if we think 58 volts is reliably to high ?
 
ornias said:
mjohn said:
Hi M500 tweakers,

I admire everyone who is able to do this digital stuff and I hope that the result is also useful for simple end users like me. Fingers crossed that you are successful.
In all this discussion and exchange of ideas about DIY controllers and firmware I would like to ask a more simple question concerning the existing software modifications. Was anyone able to adjust the max speed using the USB2CAN adapter lately with the latest M500 motor and firmware? Or in other words, did Bafang close this door?

I tried it multiple times (as posted before) and it did not work for me. I would appreciate some feedback and help. Even 'the door is closed' ... would help.

Tks

The earlier posted guide is actually wrong, the address is wrong mostly.
Afaik the function still exists.
Try the same instructions with the following frameid:
05103203

Hi ornias,

thanks for the reply. I'll give it a try. Just out of curiosity, if I just want to modify the speed and circumference for more precise speed indication on the display, do I set the wheel seize parameter to 00 00 to keep, what is in the system (27.5x2x4" in my case).
as an example: B8 0B 00 00 B0 08 00 00 (30km/h and wheel circumference: 2224mm)
Parameter 2 (wheel seize) and 4 (undocumented) stay 00 00.
 
mjohn said:
Hi ornias,

thanks for the reply. I'll give it a try. Just out of curiosity, if I just want to modify the speed and circumference for more precise speed indication on the display, do I set the wheel seize parameter to 00 00 to keep, what is in the system (27.5x2x4" in my case).
as an example: B8 0B 00 00 B0 08 00 00 (30km/h and wheel circumference: 2224mm)
Parameter 2 (wheel seize) and 4 (undocumented) stay 00 00.

Just follow the guide COMPLETELY.
These commands are highly experimental, don't try to guess what you can and cannot do, just follow the settings as described.

For example: Donnot guess that "00" would mean "keep settings" just because you think it would.
 
mjohn said:
ornias said:
mjohn said:
Hi M500 tweakers,

I admire everyone who is able to do this digital stuff and I hope that the result is also useful for simple end users like me. Fingers crossed that you are successful.
In all this discussion and exchange of ideas about DIY controllers and firmware I would like to ask a more simple question concerning the existing software modifications. Was anyone able to adjust the max speed using the USB2CAN adapter lately with the latest M500 motor and firmware? Or in other words, did Bafang close this door?

I tried it multiple times (as posted before) and it did not work for me. I would appreciate some feedback and help. Even 'the door is closed' ... would help.

Tks

The earlier posted guide is actually wrong, the address is wrong mostly.
Afaik the function still exists.
Try the same instructions with the following frameid:
05103203

Hi ornias,

thanks for the reply. I'll give it a try. Just out of curiosity, if I just want to modify the speed and circumference for more precise speed indication on the display, do I set the wheel seize parameter to 00 00 to keep, what is in the system (27.5x2x4" in my case).
as an example: B8 0B 00 00 B0 08 00 00 (30km/h and wheel circumference: 2224mm)
Parameter 2 (wheel seize) and 4 (undocumented) stay 00 00.

If you use the usbtocan innomaker interface, follow the guide faithfully, I don't know why, but ID must start with "8" and not "0"

When you send the configuration frame, it must be complete with all the required parameters.

Pay attention to the communication speed which must be 250
 

Attachments

  • Setup Bafang Command.jpg
    Setup Bafang Command.jpg
    89.1 KB · Views: 1,561
Waynemarlow said:
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 on this forum 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.

A thought regarding what voltage to run it at. It seems to have a real sweet spot around 50 volts where everything tames down and the motor feels really happy with what it’s doing. Do we run 14S and precondition the voltage to 50 volts, using the W/h counter on the display as your battery level. This overcomes the early shut down the motor is reported to do on the 13S setups and limits the voltage to the motor if we think 58 volts is reliably to high ?

Thanks for the review. Seems I've heard the "PAS 1 is too powerful" comment on more than one occasion. I guess ultimately that may be adjustable in firmware. Short term, for the electronically inclined, I would wonder if you could 'de-shunt' the motor. We know that the 'ludicrous' version adds a second resistor in parallel to half the resistance in the shunt, meaning double the current delivered to the motor. Seems like going the opposite way would work just the same... replace the existing resistor with a higher value to reduce current.

You mention 50V being a sweet spot for operation of the bike, but that seems to be almost dead for a 14S battery... 50V/14 = 3.57V/cell which puts it on the tail end of the curve. (below) If you have the option, a 13S battery would be closer to 50V nominal. 50V/13 = 3.84V/cell which is not bad.

Also curious about your 21700 pack? Any pics info on it? I briefly looked at some 21700 cells, but haven't gone into the deep research of how they compare in fitment, weight, capacity, etc compared to the originals.
 

Attachments

  • 50V.jpg
    50V.jpg
    31.3 KB · Views: 1,553
Sorry I notice I have written 50 volts, I meant 52 volts. Ignoring the pack size, just that voltage seems the motor likes as it seems to be quiet and in its stride without too much noise. Sort of old school "sounds right" normally means the motor is in its sweet spot to me.

Not sure of what you meant " originals " but we have experimented with Samsung 30 and 35E's as 14S2P but the 35E's have been somewhat of a failure, they drop off the voltage at the tail end too fast with the current EBikes will pull, triggering the BMS shut off's early. Now as 14S3P's they work fine.

We've ended up with Samsung INR21700-50E 4900mAh - 9.8A as the 14S3P and Samsung INR21700-40T as the 14S2P packs and both have been exceptional in particular the 40T's which for a lightweight 2P pack to just fool about for an 1 1/2 hours have been particulalry good.
 

Attachments

  • battery built.jpg
    battery built.jpg
    237.9 KB · Views: 1,548
4πr^2 said:
Short term, for the electronically inclined, I would wonder if you could 'de-shunt' the motor. We know that the 'ludicrous' version adds a second resistor in parallel to half the resistance in the shunt, meaning double the current delivered to the motor. Seems like going the opposite way would work just the same... replace the existing resistor with a higher value to reduce current.

Ludi doesn't seem to put another resistor in, they replace the already present resistors or bypass them somewhat.
See the pictures we already have in the repo of the stock m600 board: Also two resistors, but with different resistence.
 
ornias said:
- We've 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.

Hi Ornias, could you explain a little how we may try this? Which versión of the Besst tool in the repository should we use?
 
mar666cel said:
dont jus m500/600 firmware on a m400/m420 also dont jus m400 firmware on a m420!
Doubt you need to warn anyone for this. As the firmware update contain code that prevents uploading to other controllers.

mar666cel said:
and i have a tip on the leaderfox.cz ther is a download page the has some firmware white more paddel asist
Please donnot share false information. The firmware on the cz version of that website (it's not on the english version!) is only for Bafang MAX UART (the old protocol) and has nothing to do with m500/m600. Totally different protocol and thus offtopic.
 
PadreParada said:
Hi Ornias, could you explain a little how we may try this? Which versión of the Besst tool in the repository should we use?

The hidden GUI is only available in the latest version of BESST. We did not modify BESST, we modified our access-hack to bypass logi. Our login bypass should enable that screen if you connect a motor to it. Without motor it wouldn't show.

But it's also verified to be unusable, it does not actually work!
 
@ ornias
@ SiDi
and all the other specialists,

I am aware that all is kind of experimental, tweaking given values. But I'd like to have a solid feeling when pressing [send] if you know what I mean. What frameID is the final word for my M500?
Having now 2 different frame IDs for the same parameters does not make me feel relaxed...
As said, I am having an M500 motor software/hardware from after the Q1 update. I am wondering what can go wrong if using the wrong frameID or wrong parameter? Will it be simply 'NOT accepted' or do I kill the system?

I try to implement kind of 'failsafe' values as the original software cuts off power about 10% early and unfortunately I would not be able to analyze what I messed up. If the wrong parameter is set by mistake or stupidity, like too small circumference, will I be able to correct the mistake or will I be stuck with a bike which cuts off at a crazy low speed.

frameID 85 10 32 03 or 05 10 32 03 (what is the final word??)
data: 94 11 B5 01 B0 08 00 00 (45km/h; 27.5“; 2224mm) or B8 0B for 30km/h max speed to keep the value within certain tolerances
(as far as I know +10% is acceptable here)

I need an advise again.
 
mjohn said:
@ ornias
@ SiDi
and all the other specialists,

I am aware that all is kind of experimental, tweaking given values. But I'd like to have a solid feeling when pressing [send] if you know what I mean. What frameID is the final word for my M500?
Having now 2 different frame IDs for the same parameters does not make me feel relaxed...
As said, I am having an M500 motor software/hardware from after the Q1 update. I am wondering what can go wrong if using the wrong frameID or wrong parameter? Will it be simply 'NOT accepted' or do I kill the system?

I try to implement kind of 'failsafe' values as the original software cuts off power about 10% early and unfortunately I would not be able to analyze what I messed up. If the wrong parameter is set by mistake or stupidity, like too small circumference, will I be able to correct the mistake or will I be stuck with a bike which cuts off at a crazy low speed.

frameID 85 10 32 03 or 05 10 32 03 (what is the final word??)
data: 94 11 B5 01 B0 08 00 00 (45km/h; 27.5“; 2224mm) or B8 0B for 30km/h max speed to keep the value within certain tolerances
(as far as I know +10% is acceptable here)

I need an advise again.

30.00km/h = BB8hex = B8 0B

If you get it wrong, if they are admissible, it accepts them, otherwise it doesn't.
You can always send them correct.

Correct ID is 05, but if you use Innomaker interface, it wants 85
 
savaoaknyc said:
tfischer said:
savaoaknyc said:
can someone measure the exact dimensions of the m500 or m600.I have some frames for e8000 shimano and i am wondering if somehow i can make the m500 or m600 to fit the frame.
I am in the exact situation, did you manage to check the dimensions or even better did you try it?

Hi i have bought dengfu with bafang so we did some trials, it is pretty close.

I would love to do this like this:
m800 into m500/600 slot

I'm doing development on this bracket. Got mounts for Brose and Shimano (E6100, E7000, E8000, EP8 are all identical). Simply too busy to finish it up. Currently working on Brose to M600, for a bike build I'm doing. Fits perfectly! Already did 3D-scans and need to reverse engineer the models.. Meanwhile, for Shimano this may help you guys! https://www.ticycles.com/ticycletubes/motor-cabinet-shimano-steps-e6100-e7000-e8000-lightweight-steel-bracket

Some impressions:
 

Attachments

  • IMG_20210420_171437_1.jpg
    IMG_20210420_171437_1.jpg
    259.8 KB · Views: 1,439
  • IMG_20210420_171558.jpg
    IMG_20210420_171558.jpg
    286.7 KB · Views: 1,439
  • IMG_20210506_183223_1.jpg
    IMG_20210506_183223_1.jpg
    328.8 KB · Views: 1,440
  • IMG_20210506_183256.jpg
    IMG_20210506_183256.jpg
    352.1 KB · Views: 1,440
  • signal-2021-05-26-131050_001.png
    signal-2021-05-26-131050_001.png
    98.9 KB · Views: 1,440
  • signal-2021-05-26-131050_002.png
    signal-2021-05-26-131050_002.png
    239.3 KB · Views: 1,439
Here is one more update on the component layout. Version 1.6 - This will probably be the last one for a while - I think all the major components are identified, so I put the motor back together to go ride!
 

Attachments

  • X1 Ludicrous Controller M600 - Annotated Top V1.6.jpg
    X1 Ludicrous Controller M600 - Annotated Top V1.6.jpg
    468.4 KB · Views: 1,397
4πr^2 said:
Here is one more update on the component layout. Version 1.6 - This will probably be the last one for a while - I think all the major components are identified, so I put the motor back together to go ride!

Would you mind doing some cirquit tracing as well?
 
Guess it depends on what you mean by "some" :wink: A lot of the circuits... SMPS, CAN TX/RX, gate drive, etc are covered in their respective datasheets. MOSFET half-bridge layout is pretty standard, etc. I've tried to track down a few traces, but between all the silk screening on the board and the sheer density of components, its pretty easy to loose the track! Plus there could be dozens of hidden vias under the larger components. I'm not entirely convinced this isn't a multi-layer board with some traces on 'middle' layers. Just seems like there should be a lot more traces than I see... either that or the most efficient/compact layout ever.

If there are some specific things you're looking for, let me know and I'll see what I can track down next time the motor is apart.
 
Tomblarom said:
There appears to be a new firmware for M500 with BOOST button functionality. I don't know whether it's M600 compatible. It was privately forwarded to me. Flashable using the BESST tool. Unzip first.

Display: DPC240CI.......
Controller: CRX10NC361....

Excuse my english. I own a bike with the M500 already bought in oct. 2020.
Controller info: CR X10N 250.FC 4.2
Additionally two original Bafang displays. Both exactly labeled as DP C 241C 20.
The first one, no BOOST, shows at display info DP C 240 20.
The second one, with BOOST mode, display info DP C 241C 20.
It looks like the first one has the software of the DP C 240.
With the second one connected, level 5 (3),(9), pressing the plus button again a 'b' for BOOST appears in the display.
After reaching 25km/h pressing ON/OFF and holding these button the motor starts to exceed the 25km/h limit up to 32km/h.
As long as the button is pressed.
 
Oldman9a said:
Tomblarom said:
There appears to be a new firmware for M500 with BOOST button functionality. I don't know whether it's M600 compatible. It was privately forwarded to me. Flashable using the BESST tool. Unzip first.

Display: DPC240CI.......
Controller: CRX10NC361....

Excuse my english. I own a bike with the M500 already bought in oct. 2020.
Controller info: CR X10N 250.FC 4.2
Additionally two original Bafang displays. Both exactly labeled as DP C 241C 20.
The first one, no BOOST, shows at display info DP C 240 20.
The second one, with BOOST mode, display info DP C 241C 20.
It looks like the first one has the software of the DP C 240.
With the second one connected, level 5 (3),(9), pressing the plus button again a 'b' for BOOST appears in the display.
After reaching 25km/h pressing ON/OFF and holding these button the motor starts to exceed the 25km/h limit up to 32km/h.
As long as the button is pressed.

If you have the BESST interface, you can update the firmware.

https://github.com/OpenSourceEBike/Bafang_M500_M600/raw/main/Firmwares/Official/Display/DPC241CI10202.3.bin
 
Back
Top