• Hello ES! We could use some help to get us past the finish line on building the new knowledgebase for the forum.
    Can you donate? Please see our fundraising page. Thank you!

Bafang Canable Pro Master - discussion

Can you change torque multiplication with this program? It's something that go+ app is missing.
 
Last edited:
@mdi: Your link to aliexpress for the canable in your ReadMe points to an offer with various options?! The need of flashing a new firmware will deter many potential users :(
The EBAY link points to the UCAN module that works out of the box, no manual firmware update needed!

The wiring is not consistent also, the order of GND, CANH and CANL is different depending on the board you've bought. So my sktech, that you used in your ReadMe will be wrong for some boards.
1753964603708.png
 
Last edited:
Not all people wants to buy from ebay, also specs there is in german whitch is not clear to me at all.

You don't know witch frimware version u will get, old versions may have drivers issues.

But ok we can set this step as optional.

UCAN is not isolated, more secure is canable pro.

All board have CAN-L CAN-H prints, I think everyone is smart enough to read that.
 
I changed post 1 a little. Added a Canable Pro V1.1 Isolated based also on STM32F072 which also works right out of the box. (i have such one too).
 
For the moment i have no CAN- battery myself but yesterday i could get one to use it for an hour. So i did quick check. The program reads the battery for what is available under tab "battery" without problem. Some battery id's flood the log and cmd window but i learned to remedy that.

At the tab "info" the battery Hw and Softw version shows up but serial and model nr do not.
In cmd window this data for serial nr. got discarded because it sees only the first 8 bytes from 16 (MF END sequence error / MF Length Mismatch ).
Anyway, in Besst or Pro the full ser. and model are displayed.

Some interesting data from battery is not yet integrated in "bafang canable pro master" (logged with Savvycan. (Also in the past with other battery models).

"Design info" command 64 sub 00 length 4
D0 = total cell (block) count (which shows 10 for this 36V battery = correct).
D1 = i still not figured out but the data = hex 04 for this 36V battery. Wildest guess: 4 cells parallel ? With the above; 10SP4?
D2 + D3 = design capacity (shows 13000 (in mAh) which is correct for this specific 36V battery)

"charging info" is the other one that possibly could be integrated
command 64 sub 01 length 6
D0 + D1 = charge cycles which shows 9 for this battery and seems to be correct
D2 + D3 = max uncharged time in hours (in Besst recalculated in days)
D4 + D5 = last uncharged time in hours (in Besst recalculated in days)

for all the above, that Little-Endian byte order.

I don't know if it's possible to integrate those extra's in the tab "battery" coupled to the "sync" button. It's just a suggestion as in the picture below.

BCPM battery data 36Volt with adding text.png
 
Last edited:
  • Like
Reactions: mdi
At the tab "info" the battery Hw and Softw version shows up but serial and model nr do not.
In cmd window this data for serial nr. got discarded because it sees only the first 8 bytes from 16 (MF END sequence error / MF Length Mismatch ).
Also can u provide full console log on that ?
 
I will test it and provide console log too but can take some time. Need to ask for that battery if i can have it again to test.
 
Good find that is great, no figuring out anymore if a module will work or not. Now it's readymade to buy with already the correct cables and i see they link to mdi-9 his github.
The tab "Battery" is now completed by mdi-9 with these extra's; "lowest cell V" and "highest" and also "the difference in mV". Also "design" info and "charge information" was added and tested.

cell voltage stats-ok.pngDesign - charging-info-ok.png
 
Last edited:
There's a saying there are no stupid questions but maybe you can read post 1 and even if you read only the bold lines it will be clear what to use. Also there is a bold line which says what to do if you see "not plausible value's" what answers your question too in OpenBafangTool thread :)
 
The firmware update procedere is described at GitHub, just not implemented so far.
https://github.com/OpenSourceEBike/...ain/CANBUS#canbus-controller-update-procedure
I implemented step 1 and 2 in simple script but don't know witch byte0 use for ID:05112000 with M820. Procedure lists bits only for M500 and M600. Is somewhere full list avalible ?
So I'm not getting ACK in step 2 with M820.

If someone wants to help here is the code:

For now it only tries to enter fw upload mode and exits.
Main script is in fw_upload.js. So to run it enter: node fw_upload.js
 
For that byte 0 you can try 01 maybe that will work for M820?
Reason; i opened up some .bins and for M500 it's 88
M600 shows 89
M820 shows 01
But it seems to depend too on the HW version of controller that for the same motor that number changes with the HW version for that motor controller so you need to pick from YOUR motor firmware .bin that first number you see in a hex editor.
I can be wrong but that is what i see in .bins from different motors or differences for a same motor having different HW versions.
 
Last edited:
  • Like
Reactions: mdi
From a M820 bin, seems HW2.0 first 4 bytes 01 45 82 40
The bytes maybe match with what you have in yours .
 
* It's first 2 bytes from bin file. 3,4 are not. 02 00 not match m500 bin file. maybe it's static.
 
The only thing i could find out so far is that the first byte is the "Bootloader version".
 
Back
Top