2022 - Top 12 Bafang Ultra M620 Ebikes

It is quite difficult to implement robust communication between hardware, software, and mobile app without CAN communication.
CANbus adds a layer of redundancy and adaptability that is difficult to achieve with UART. To offer programmability using an App, smarter control, other functionality like navigation, GPS, etc certainly needs CAN.
Bafang realizes that and they are slowly moving towards it but it all comes down to how well they can execute it.
Ravi, can I ask how you are dealing with new CANbus equipped Ultra bike owners? Are you telling them to just suck it up and live with the OEM programming until Bafang gets around to something we can deal with, or are you suggesting new owners go with upgraded controllers? -Al
 
It seems there is a significant price increase and some of the offerings have switched to lesser components. Am I correct ?
 
It is quite difficult to implement robust communication between hardware, software, and mobile app without CAN communication.
Untrue. The UART protocol involved is simple, functional, & shared across many component manufacturers.

CANbus adds a layer of redundancy and adaptability that is difficult to achieve with UART.
What redundancy? What adaptability?

To offer programmability using an App, smarter control, other functionality like navigation, GPS, etc certainly needs CAN.
Untrue. The latter are display features having nothing to do with the motor-controller; & anyway the motor-controller is readily programmable & controlled via UART.

Bafang realizes that and they are slowly moving towards it but it all comes down to how well they can execute it.
Bafang doesn't even know to configure the motor+controller bundles they sell now. Most likely reason for the switch to CANBus is so their supplier can reuse production capacity from automotive lines.
 
... ~

Touchscreen to do what we need to do, is going to have to be pretty sophisticated, but if that's what it takes and they make that available at a reasonable price, I'm on board with that plan. Pretty sure others would be as well, as long as we're able to make the changes necessary to civilize the CANbus Ultra's....
I'm not recommending a touchscreen interface, I'm merely pointing out that connecting a touchscreen display & cockpit-controls system, to a UART motor-controller, for configuration & controls, is exactly as easy as connecting any other display & cockpit-controls system.

Display & cockpit-controls design are (currently) independent of strict brand locking: Any manufacturer or suitably equipped hobbyist, can slap together a programmable display with digital controls, connected to a UART communication port, & have full command of any functions exposed via the com port, of any number of different UART motor-controllers.

An even better idea, would be for Bafang to create a bluetooth module for their motors.
The Bafang DP-E12, & 750C, & the Eggrider v2 module, all support Bluetooth, the difference being that the Bafang (& every other manufacturer's) display-connected app is crap; whereas with a dummy module like the Eggrider, the motor-controller's com port goes right into an adapter that allows using a phone as the entire display, with most of the desktop app's more advanced config options exposed as well.

Also, I believe anyone who can create a smartphone app user-interface, can modify the Eggrider app to suit their tastes\purpose, & I think anyone able to build a programmable Bluetooth device, can design a Bluetooth control that'll talk to the Eggrider.

I honestly don't understand the appeal of wireless controls on bikes though: The pieces are all physically attached to each other; unless there's some set of wireless levitating handlebars I'm unaware of? A wired system entails fewer & simpler components with less points of failure, to accomplish identical features... !?!

All that said, I've seen Bafang motor-controllers with a connector for a Bluetooth module, & I think I was even asked whether I wanted that when ordering the Frey...?

Oh well, one can dream!!!! 😅
For me, it's a nightmare. Any wireless touching my body or directly inline with it, stops working... and I live near a twice displaced hacker collective. Please pardon my paranoia if I don't trust wireless with things that propel me around!
 
I honestly don't understand the appeal of wireless controls on bikes though:
This!
My inner asshat also always giggles over the need to have a pretty full color screen. I watch the screen on my internet devices and TV. I ride my eBike.

that said bafang has always fucked with their dealers and customers. Perhaps one of the worst communicators of any major brand. The “B” version fiasco Luna experienced is chapter and verse Bafang. It continues today. (Before anyone gets excited, I have a new Bafang mid delivered last week...)
tomjasz said:

6 years of BBSxx series customer support. Never an update on product, programming, or mechanical failures. Firmware changes and mechanical issues never supplied to any vendors. Warranty? Dealer eats parts and repairs. We “leaked” the 07 nightmare error code firmware fix, gotten from a large Chinese distributor, not Bafang. And sworn to not reveal who supplied it.
 
Last edited:
I'm not recommending a touchscreen interface, I'm merely pointing out that connecting a touchscreen display & cockpit-controls system, to a UART motor-controller, for configuration & controls, is exactly as easy as connecting any other display & cockpit-controls system.
We're way past UART. Anything there is old news. This is about CANbus. My point is/was I could care less how the changes we need to make are input. For me, and I'm sure many others, it's about the possibility of doing that.

Not into wireless either....
 
I agree with everything which has been highlighted on the thread.
Bluetooth/wireless displays does open opportunities for consideration and innovation. But it does open potential issues in terms of longevity, durability and reliability.

As mentioned by @ProphetZarquon, third party developers have introduced these displays and axillary features to bafang motors. However (depending on your requirements), would not be favourable for everyone.

The CANBus vs UART protocol argument will cause controversy depending on which side of the fence you're on. Me personally (a long standing Bafang user who has seen the evolution and innovation of their products and someone whose first experiences on ebikes was on a bafang motor), I'm more leaning towards the UART. But my opinion and thought process may change overtime.

For now, let us all take away the confidence that no matter which Bafang Ultra ebike/emtb you consider to buy or build, the motor itself remains (in my opinion) one of the best motors in terms of longevity, durability, reliability, consistency, programmability and most importantly, future proof (which is more than I can say compared to other leading competitors within the ebike motor manufacturers).

I leave you with the Tsunami video guys and girls. Guaranteed, this is a bike which after 4 years, I'll still be able to source the parts to keep it going 👍🏿
 
What redundancy? What adaptability?
There is a reason why every car in the world uses CANbus communication not UART.
This diagram explains why the CAN bus communication protocol is used in the automotive world and the redundancy.
Source: https://canbuskit.fortin.ca/what.php

Without CAN communication, the wiring would a total mess.

1643827055478.png


With CAN communication, the communication would lot more robust.

1643827134532.png



The latter are display features having nothing to do with the motor-controller; & anyway the motor-controller is readily programmable & controlled via UART.

When you start building smarter control like mobile App to tune the torque, speed, range, this is where CAN communication shines.
It's quite challenging to build all those features based on UART. One could also build a lot more security features in the BMS with CAN and make it seamlessly integrated with the rest of the system.
The GPS hardware may be in the display or it may not be in the display but implementing GPS/ remote lock etc requires a more robust, higher bandwidth communication protocol.
If you would like a remote communication feature like many of the systems do (Shimano, Bosch, Specialized-Mahle) where you can tune the torque, assist level, speed, using CAN enables hardware engineers to design them appropriately.
Can one do all of that just UART, possibly!? But, it is so much simpler with CAN.

Anyway, Thanks for engaging me. I have no more data to contribute.
 
There is a reason why every car in the world uses CANbus communication not UART.
This diagram explains why the CAN bus communication protocol is used in the automotive world and the redundancy.
Source: https://canbuskit.fortin.ca/what.php

Without CAN communication, the wiring would a total mess.

View attachment 113299

With CAN communication, the communication would lot more robust.

View attachment 113300





When you start building smarter control like mobile App to tune the torque, speed, range, this is where CAN communication shines.
It's quite challenging to build all those features based on UART. One could also build a lot more security features in the BMS with CAN and make it seamlessly integrated with the rest of the system.
The GPS hardware may be in the display or it may not be in the display but implementing GPS/ remote lock etc requires a more robust, higher bandwidth communication protocol.
If you would like a remote communication feature like many of the systems do (Shimano, Bosch, Specialized-Mahle) where you can tune the torque, assist level, speed, using CAN enables hardware engineers to design them appropriately.
Can one do all of that just UART, possibly!? But, it is so much simpler with CAN.

Anyway, Thanks for engaging me. I have no more data to contribute.
A compelling case you've raised @Ravi Kempaiah 👍🏿.
"Food for thought" as they say 👊🏿.
 
Wow all this talk about complex tech on a simple ebike. I like the idea of just a bar graph for battery level and a throttle control the assist level of the motor. Toss out all the sensors (even the motors halls because I can pedal the ebike to 1mph to generate a back emf for the controller) and make the system as reliable as possible. I don't care how many sensors they integrate into a program for a pedal assist system it will never provide the desired assist at all times and conditions that the tried and true simple throttle provides but I guess we have to create work for programmers that think they are smarter than the rider at controlling the assist level.

I do understand that pedal-assist can make riding an ebike feel more like riding a traditional bike but the programs always have issues because there are so many variables and the best a program can do is guess the assist desired by the rider.

All this reminds of the Tesla prototype ebikes that utilized grip pressure steering. That just sounds like a great way to kill riders but keep programmers employed.
 
There is a reason why every car in the world uses CANbus communication not UART.
Yep: Vendor lock-in, & lower wiring harness cost for complex vehicles with many interconnected electronic modules.

This diagram explains why the CAN bus communication protocol is used in the automotive world and the redundancy.
Source: https://canbuskit.fortin.ca/what.php

Without CAN communication, the wiring would a total mess.

View attachment 113299
Kinda proving my point for me, here: An ebike has none of this multipart complexity.

Cluster, accessories & security, are all provided by the display, & there _is_ no transmission integration... & if there were, it could be controlled by display, without direct connection to the motor-controller, or by the motor-controller, without direct connection to the display.

Interconnecting them all offers significant safety & maintenance downsides, with no functional upside: All proposed features work with a single component driving them, & communicating with the others directly; for example, there is no need for motor-controller to communicate with media functions (& huge safety reasons why it shouldn't). In CANBus, there is no meaningful device isolation; every component is exposed to attack & harmful input, by every other component on the wiring harness.

CANBus reduces wiring complexity while increasing signalling complexity. UART signalling is very straightforward by comparison, & much easier to learn. CANBus also enables undisclosed proprietary unlock & hardware ID features, making it possible to refuse a replacement part. Plus new & exciting failure modes. UART is a simpler protocol to implement programmatically, & does not easily restrict 3rd party development, the way an authorized-service-only CANBus system does.

Unlike automobiles, ebikes have all their features provided by a very small number of discrete electronic components, where interchangeability offers more feature diversity than a single manufacturer\bundler ever could.

CANBus enables more formidable lockouts against third-party service.

That's the big advantage for OEMs.

When you start building smarter control like mobile App to tune the torque, speed, range, this is where CAN communication shines.
All this is already available with UART communication.

In fact for the more advanced features, it's only available with UART, due to CANBus controllers requiring more complex OEM-authorized permissions, to reach those settings.

Also CANBus adapters require more complex electronics, making them more expensive to produce.

Aside from a change in communication protocol used by hardware external to the cellphone (& again, the UART protocol is simpler to program for!), there is no difference between what can be implemented via a mobile device app commanding a UART versus CANBus adapter, except that CANBus communication is more readily locked against such implementation.

It's quite challenging to build all those features based on UART.
You haven't mentioned a single thing that isn't already done with UART; all of these are intentionally made more difficult on CANBus systems; & even presuming OEMs did not lock against 3rd party service (which they do), there is no feature beneficial to the end user, which CANBus can offer, that cannot be developed at lower complexity on UART.

Smartphones do not have CANBus adapters built in. All smartphones will need an adapter to communicate by CANBus or UART; but UART signalling is simpler to program for, the adapters are cheaper, & the UART motor-controllers available are more freely adjustable than otherwise identical CANBus units.

One could also build a lot more security features in the BMS with CAN and make it seamlessly integrated with the rest of the system.
'Security features', as in "Use only X brand battery"?
True.

CANBus offers a much stronger communications-based lockout capability.

Locking the motor-controller & battery via a "panic button" style communications-based lockout, to enable soft-bricking a battery, display, controller, or other components, in the event of theft (or accidentally - ask a slew of Dell laptop owners), is possible with any communications system, but in practice the only real advantages are to DRM, with users seeing no real-world benefit, over just locking the battery in place with a decent key.

Of course, the battery's cells themselves cannot be programmatically secured against scavenging, nor can the motor itself, nor the more purely mechanical parts, such as the cassette or wheels.

Meanwhile an alarm systems gains nothing but failure modes, by interconnecting its communication with all other electronic modules on the ebike:

Isolation is the simplest & most effective means of electronic security.

If a soft-brick of the motor-controller or battery is desired, that can be implemented through UART communication, it just isn't a widely desirable feature, because such soft-brick features present extremely troublesome failure modes guaranteed to produce support headaches, & because soft-bricking doesn't actually help prevent theft before it occurs, reduces the likelihood a casual thief will be caught riding it, & encourages professional thieves to disconnect parts as soon as possible, thereby preventing any such lockout & further reducing any chance of recovering the ebike intact.

Interconnectedness may sound like a good thing, to someone unfamiliar with systems maintenance, but in security, interconnectedness always means more risk, due to an increased number of interconnected attack surfaces. Look at the exploits for Bluetooth, satellite, radio remote, and cellular systems integrated into CANBus vehicles: Attackers gain entry through a non-critical system, then use the interconnectedness of the CANBus system to gain control over critical systems responsible for vehicular movement. Far from being a solved issue, vulnerabilities have increased explosively as more smart features are added to more vehicles, without any physical network isolation being implemented.

Most of these systems have no functional need to communicate with each other, they only need to communicate with one user-interface computer or the motor-controller, & never need both. Any communication with either device, is sufficient to allow full access to all exposed features of both devices, while maintaining compartmentalized operation!

Furthermore, this isn't some lumbering roadyacht with a hundred devices in it: The BMS (assuming it's even programmable), motor-controller, & display, are all of the computing devices. That's it. Even when adding features, the number of discrete computing devices doesn't go up: Antitheft, GPS tracking, GPS navigation, geofencing, social apps & gamification, media playback & control, ebike config, live drivetrain stats; these are all already available to & through the display.

Want truly rich smartphone integration? Totally doable, & the devices necessary to get the smartphone connected, are cheaper using UART than CANBus.

Adding smart features & accessories is not in any way dependent on switching to CANBus instead of UART communication, & in several important ways, both end-user & 3rd-party enhancements are actively hindered by CANBus systems due to the enhanced vendor-locking features.

The GPS hardware may be in the display or it may not be in the display but implementing GPS/ remote lock etc requires a more robust, higher bandwidth communication protocol.
Um. What are you even talking about, on this one?

No. GPS does not in any way need "more robust" or "higher bandwidth communication protocol" between the display & motor-controller. Any possible functionality the motor-controller has, is already achievable over UART, with fewer roadblocks. If you disagree, please mention specifically what would be more practical on CANBus than UART protocols?

Remote locking capability is also protocol independent, & software locking sufficient to prevent using the ebike is already available without CANBus.

With regard to soft-bricking the controller or BMS itself, that is more often problematic than useful, as I stated above. A robust physical lock offers better security and better reliability, obviating any large benefit from part-by-part locking of internally housed electronics.

If you would like a remote communication feature like many of the systems do (Shimano, Bosch, Specialized-Mahle) where you can tune the torque, assist level, speed, using CAN enables hardware engineers to design them appropriately.
False. All of that is readily available, & the only reason any users & 3rd parties can't see those features, are because the OEM chose to make them unavailable.

Also, wireless features are not via CANBus anyway; they use separate protocols & connect via a gateway device, such as the display (or in rare cases, a wireless communications module on the motor-controller itself). CANBus versus UART has no relevance to wireless features at all, except with regard to aforementioned vendor-locking.

The only perceived issues with UART motor-controller communication being too slow, which I have seen anywhere among any of the forums & technical discussion groups surrounding ebike motor controllers, was presumption that sensor timing was too low, or the controller's bus rate too low, to maintain readings accurate enough for smooth graduated response. Deeper investigation of the electronics & configurations used, revealed this presumption to be incorrect: The "better" controllers had nearly the same response times, due to nearly identical components, & the OP had been using a config which left the torque sensor entirely uncalibrated, causing the controller to interpret 0 "Kg" on the pedals as ~12 Kg of pedal force applied.

Bafang does not optimize their motor-controller settings at all, much less for a given ebike.

The motor-controller's "default settings" for the torque sensor are literally non-functional.


Their new CANBus units are being sent out to bike builders with this non-functional torque sensing, locked behind an online permissions server.

The UART units were fully adjustable, to a much finer degree than the motor-controllers offered by Bosch, Shimano, or other large brands.

Can one do all of that just UART, possibly!?
Yes. All of it. Not a single technical barrier to prevent it.

But, it is so much simpler with CAN.
Significantly more difficult, on purpose.

Anyway, Thanks for engaging me. I have no more data to contribute.
At least contribute something explaining why on earth GPS feature developers would want CANBus motor-controllers instead of UART?

I am all for engaging discussion, but without something besides empty promises to back up the assertions that CANBus is fine or somehow better for users, & with evidence piling high that CANBus is used against users, singing the purported praises of CANBus controllers, smacks of toxic optimism...

I see no evidence at all, that CANBus is good for users, while the downsides created by pervasive vendor-locking, are enormous & visible across multiple industries.
 
Sorry for the long post, everyone; that one felt like it was worth unpacking piece by piece, to explain why TLDR:

CANBus = bad news for users, bad news for 3rd party maintenance, & bad news for feature development.

Why? Vendor lock-in.
Parts "secured" against refurbishment, exchange, interoperability, configuration, or expansion.

Essentially, CANBus has been used to introduce additional restrictions; regardless of its ostensible, potential advantages.
 
End of day it doesn't matter, Bafang has gone that direction and no amount of hand wrenching will change it.

Any more 2022 Bafang Ultra M620 Ebikes to add to the list?​

 
Wow all this talk about complex tech on a simple ebike. I like the idea of just a bar graph for battery level and a throttle control the assist level of the motor.
Well, that's very different from just a direct throttle, but I think you describe exactly what I'd like to see, too!?

Regular current-based throttle? Yes please, always!

But more similar to what you described, a slider (which stays put) to adjust the level of assistance supplied in response to pedal force, would be wonderful!

Further, a slider to adjust how acutely that assistance ramps? Oy vey, getting complicated again: How about an app that dynamically adjusts assistance based on how often you hit the More & Less buttons? 😜 I'm kidding.

The first part though, about a slider for assist level, sounds great.

End of day it doesn't matter, Bafang has gone that direction and no amount of hand wrenching will change it.
True, but their biggest motor getting a bad reputation, for being jerky with poor torque sensing, & the impact that will have on future sales, might change their tune a bit on locking out the finer config features?

And failing that, some tool wrenching & parts swapping can change it, for those who find themselves otherwise unsatisfied.

Any more 2022 Bafang Ultra M620 Ebikes to add to the list?​

Quite right! Back to topic:

https://shop.sondors.com/pages/lx
I liked the Sondors LX I rode, but there's already a Sondors in the list? The LX was actually one of the best handling fat-tire ebikes I've been on...
 
Well, that's very different from just a direct throttle, but I think you describe exactly what I'd like to see, too!?

Regular current-based throttle? Yes please, always!

But more similar to what you described, a slider (which stays put) to adjust the level of assistance supplied in response to pedal force, would be wonderful!

Further, a slider to adjust how acutely that assistance ramps? Oy vey, getting complicated again: How about an app that dynamically adjusts assistance based on how often you hit the More & Less buttons? 😜 I'm kidding.

The first part though, about a slider for assist level, sounds great.


True, but their biggest motor getting a bad reputation, for being jerky with poor torque sensing, & the impact that will have on future sales, might change their tune a bit on locking out the finer config features?

And failing that, some tool wrenching & parts swapping can change it, for those who find themselves otherwise unsatisfied.


Quite right! Back to topic:

https://shop.sondors.com/pages/lx
I liked the Sondors LX I rode, but there's already a Sondors in the list? The LX was actually one of the best handling fat-tire ebikes I've been on...
I strongly considered the Sondors LX for this list, being a Sondors owner myself, but in that category there was 3 Ebikes to choose from them, at the end the Cruiser got put in for price and diversity of style.
All three ultra based Ebikes they make could have made this list, just like other people mentioned more models from Frey could have made this list, but they already had 2.
 
Wow all this talk about complex tech on a simple ebike. I like the idea of just a bar graph for battery level and a throttle control the assist level of the motor. Toss out all the sensors (even the motors halls because I can pedal the ebike to 1mph to generate a back emf for the controller) and make the system as reliable as possible. I don't care how many sensors they integrate into a program for a pedal assist system it will never provide the desired assist at all times and conditions that the tried and true simple throttle provides but I guess we have to create work for programmers that think they are smarter than the rider at controlling the assist level.

I do understand that pedal-assist can make riding an ebike feel more like riding a traditional bike but the programs always have issues because there are so many variables and the best a program can do is guess the assist desired by the rider.

All this reminds of the Tesla prototype ebikes that utilized grip pressure steering. That just sounds like a great way to kill riders but keep programmers employed.
This is getting off topic a bit, so I'll try to be brief as I think it's worth mentioning. Have you ridden a bike with a POWER based PAS vs. the much more common SPEED based systems? They work just like your preferred throttle based system, with the PAS levels determining how much power goes to the motor (basically giving you 5 throttle presets, with the lower one being adjustable). Speed/how fast the bike is moving will no longer have ANYTHING to do with anything.

What about a well tuned Ultra powered bike? One that's been fine tuned to YOUR preferences?

I would hold off on firm opinions of what CAN be done with fairly simple systems that are well thought out. I think if you approach bikes with either of these systems installed with an open mind, you may come away from the experience pleasantly surprised.
 
Last edited:
Sorry for the long post, everyone; that one felt like it was worth unpacking piece by piece, to explain why TLDR:

CANBus = bad news for users, bad news for 3rd party maintenance, & bad news for feature development.

Why? Vendor lock-in.
Parts "secured" against refurbishment, exchange, interoperability, configuration, or expansion.

Essentially, CANBus has been used to introduce additional restrictions; regardless of its ostensible, potential advantages.
I'm impressed. Clearly you have a pretty good understanding of the CAN vs. UART bus systems. -Al
 
Back