• 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 GO+ parameters change

To be aware though that the Go+ App will only set what is available to be set in your region hence the need to set up an account and log in.
Interesting information about geofencing. Are there screenshots of menues that are only available in countries with weak rules for E-Bikes? It should work to connect the mobile phone via VPN to a foreign provider to get access?
We would have to decode the meaning of each of the 256 bytes in the payload of the CAN messages, then we could send the "right" bytes ourselves by any suitable CAN device. ;)
The documented commands and payloads are far from complete as far as I found in my first CAN sniffing attempts.
 
I'll give it a try ;)
Might be worthwhile purchasing one of the M510 or preferably M560 FC2.0 or FC2.1 controllers from Aliexpress to learn what CAN messages Bafang send to the display and then BTE over to the App.

I may have a damaged FC2.0 controller that still talks to the display if you PM me your address ?
 
The documented commands and payloads are far from complete as far as I found in my first CAN sniffing attempts.
Thank you for the spoiler "can sniff" in post 20. Now i could compare parameter 6011 with my controllers. Specific bit 3 - 4 and 5 - 6 from parameter 6011. Your controller seems to use bit 3 AND 4 too for calculating the undervoltage which seems to give for your controller 31 volt. BESST (if it can show parameters 6011 and 6012) will probably show a wrong value in this case ( at least my version 1.2.43.0 does) because it uses only bit 3 to show undervoltage value. So does OpenBafangTool.

A controller of mine, CR S10F.350.FC uses bit 3 and 4 too for calculating undervoltage which is 38V (43V system) and BESST shows 216V ! Because BESST reads only bit 3 and not 3 and 4 together. However a similar controller but with older HW and Softw, this one uses only bit 3 for undervoltage and also only bit 5 for recovery voltage and on this one BESST shows the correct value's. But not for controllers which are using bit 3 AND 4 for undervoltage and bit 5 AND 6 for recovery voltage. So that had me confused for a long time but your controller uses bit 3 and 4 and 5 and 6 too so i'm satisfied now lol.

So it looks like BESST and OpenBafangTool will show wrong value's for some controllers regarding undervoltage and recovery voltage. Possible Bafang changed some things over time regarding those value's who knows.

I saw in your table most data for parameter 6012 is zero? Is it a controller with torque settings?

I found something interesting on github to check out too but i don't know anything about it and why it is that it seems nowhere mentioned. So i don't know what to think of it.
 
Most use New Zealand as their VPN home country
I can't find a free VPN provider for new zealand and I'm not willing to pay for it :)

I found something interesting on github to check out too but i don't know anything about it and why it is that it seems nowhere mentioned. So i don't know what to think of it.
very interesting. I've just downloaded and unpacked the repo. It's a HTML gui and runs without compiling, just double click on the unzipped HTML file. But it doesn't connect to my Canable module. Maybe because I bought the cheapest (old) one.
With the Cangaroo tool it works....

1752078844021.png

1752079055571.png
 
Now i could compare parameter 6011 with my controllersHm
Hm, there seems to be a write command with one byte 0x40 payload, that announces a "long write command" for the 0x60xx parameters. It seems, that I have to learn a lot about this protcol :ROFLMAO:
The 256 bytes payload are described here, even the torquesensor settings can be found there (y)

SourceTargetOperationData lenghtcommandsubcommandData 0Data 1Data 2Data 3Data 4Data 5Data 6Data 7
1320262D9681000000
132016012400000000
13248601200000000
132580000000000
132580100000000
132580200000000
1325803000020000
132580400000000
1325805000000082
132680696646E5100FF
132016011400000000
132486011240F2F1879B88810
132580027514500020
1325801200860465
13258025E0B750920660
1325803700C241000
132580436666666
1325805642444444
13268064640000FF23
132016010400000000
132486010321223324
1325800881E03C0640
13258018C0AA0C80F00
1325802221541F413214
132580300000000
1325804040F0F0F0F0F0A
13258050A86F4115F4
132680616096096094E
13201600F400000000
13248600F6464646464646464
13258006464646464646464
1325801646400C4944
132580244444441
1325803010100C51
13258046464646464646464
1325805640000000
1326806000000092
 
Last edited:
I can't find a free VPN provider for new zealand and I'm not willing to pay for it :)


very interesting. I've just downloaded and unpacked the repo. It's a HTML gui and runs without compiling, just double click on the unzipped HTML file. But it doesn't connect to my Canable module. Maybe because I bought the cheapest (old) one.
With the Cangaroo tool it works....

View attachment 372969

View attachment 372970
Trying to connect to BESST and the same message comes up " Disconnected Websocket closed " any clues to get it to run ?
 
Hm, I found, that the app doesn't send the settings to the controller. If you change to the main screen and go back to the settings, the old values are shown again. :(
So I have to try an older version, or proceed with the BESST tool 🤷‍♂️
 
Trying to connect to BESST and the same message comes up " Disconnected Websocket closed " any clues to get it to run ?
D you mean from the github link i posted? In server.js i saw a VID and PID mentioned and my (2) canable's have different VID and PID. I also saw in those files mentioning candlelight so i thought maybe my canable needs Candlelight firmware.
I flashed online candlelight firmware and now the VID and PID are the same as the ones in server.js from the github link. But stil not working.

In the end i have put a bootable UBUNTU image on a external SSD. I'm not a programmer at all and i don't know anything about Linux. But long story short ( 1 full day trying as compleet noob) my canable with now candlelight firmware works in UBUNTU. Replay canbus logs (canable SLCAN serial) on windows laptop and receiving it on another laptop in UBUNTU via my second canable with candlelight firmware. So my canable with candlelight firmware works but still no go with the github repository link.

You can start index.html but that's just it, it runs till the end of main.js in the map UI. Nothing shows up in the index.html because the server.js is not running. Or it checks for the canable device and something is not right and stops?

package.json points to server.js as the "main". I think something needs still to be done so that server.js automatically starts ands feeds data to the index.html. I tried to manually start server.js but got error "ws" package not found. It has some dependencies and "ws" looks like one of them. See also package-lock.json but actually it's all latin to me.

Again i don't know anything about programming, but here in this forum i guess some people are able to figure out what needs to be done to get it running. Under windows probably no luck as long as candlelight firmware is not recognized?
Sorry for the long post but i hope someone will take a look at it. BTW on github, issues 1, that is me :) I hope the developer did not leave this project as it looks promising.
 
Last edited:
D you mean from the github link i posted? In server.js i saw a VID and PID mentioned and my (2) canable's have different VID and PID. I also saw in those files mentioning candlelight so i thought maybe my canable needs Candlelight firmware.
I flashed online candlelight firmware and now the VID and PID are the same as the ones in server.js from the github link. But stil not working.
I have read that canable candlelight firmware does not work under Windows anymore? When flashed with candlelight => Unknown device, no drivers for the 2 instances, don't try zadig, i did.

In the end i have put a bootable UBUNTU image on a external SSD. I'm not a programmer at all and i don't know anything about Linux. But long story short ( 1 full day trying as compleet noob) my canable with now candlelight firmware works in UBUNTU. Replay canbus logs (canable SLCAN serial) on windows laptop and receiving it on another laptop in UBUNTU via my second canable with candlelight firmware. So my canable with candlelight firmware works but still no go with the github repository link.

You can start index.html but that's just it, it runs till the end of main.js in the map UI. Nothing shows up in the index.html because the server.js is not running. Or it checks for the canable device and something is not right and stops?

package.json points to server.js as the "main". I think something needs still to be done so that server.js automatically starts ands feeds data to the index.html. I tried to manually start server.js but got error "ws" package not found. It has some dependencies and "ws" looks like one of them. See also package-lock.json but actually it's all latin to me.

Again i don't know anything about programming, but here in this forum i guess some people are able to figure out what needs to be done to get it running. Under windows probably no luck as long as candlelight firmware is not recognized?
Sorry for the long post but i hope someone will take a look at it. BTW on github, issues 1, that is me :) I hope the developer did not leave this project as it looks promising.
One thing for sure, you know a lot more about programming than I do. AudreyPR uses the BESST tool from Bafang to link his CAN program, perhaps have a look at his code and see how he handles the interface to Windows ?
 
In the Telegram group there was this hint, thanks to @Tomblarom!
stancecoke it turns out, the index.html is expecting a backend server running on localhost:8080. You need to install NodeJS and run:

npm //test NodeJS install
npm install
node server.js
1000136805.png
 
Not for me, see my new comment on github.

I've added the hint for the needed processor and firmware to the ReadMe

needs STM32F072 processor with candlelight firmware

with the latest candlelight firmware, there is no need to install additional drivers, windows recognizes the module automatically:
The Firmware also implements WCID USB descriptors and thus can be used on recent Windows versions without installing a driver.

Sadly, if you are searching for "Canable" at eBay or aliExpress, you don't get that detailed information about the processor and the firmware :(
I was lucky to buy a "right" one (FYSETC UCAN) by coincident.

The author of the tool is a member here at ES. But he wasn't seen for quite a long time now.
Nevertheless: big thanks!!! 🙏

regards
stancecoke
 
Last edited:
@Stancoke, thanks for bringing that GitHub project up to a working conclusion.

Now all we need is someone to write the code to allow the BESST tool to be useable with this CAN tool for us code dummies, there are a lot of BESST tools out there as it offers plug and play ( give me engineering problems, coding is just not my forte, sorry 😄 ).
 
What's wrong or missing with Andrey's tool? :unsure:
Is it buggy?
AudreyPR's is nearly there, but I think its missing part of the setup, that of the torque sensors Delta Voltage
1752326484421.png
This thread goes into it very well.


I'm not sure how Audrey uses this initial calculation of the spread of the sensor voltage and I'm not sure how Bafang do it but I suspect that only part of the torque sensors out put is being used ( probably simply read from 0 volts ) on the M820 engine that I have ( in comparison to the M510 motor the sensor is very much on or off although with the testing and alteration of the SPD parameters I can dial this in a bit better ) .

If we had this part we could at least make some assumptions then become predictable and also make the torque curve more tuneable.

But perhaps the M820 does things in a slightly different manner to the Bafang Ultra engine as I suspect the Spd tables that I'm using in the OpenBafangTool has slightly a different effect than the thread below. Is it the way Audrey calculates the Delta voltage or is he simply reading the output values from the motor and then integrating them in the Spd table ?

 
Not sure though that the Canable Pro does the mV part either ?

Thanks for looking at Audrey's code.

Shame as the BESST Pro does exactly the same but in quite a simple and elegant way with a very good representation of what each part does to the torque curve but only the later M510 and M560 with FC2.0 or later controllers and not the M820 which you can only set assistance and acceleration, hence my assumption the M820 is a copy of the Ultra setup.

1752337930716.jpeg
 
Last edited:
Back
Top