electric mountain bike uart protocol

CAN-BUS vs UART: Which Communication Protocol Wins?

Plugging a UART display into a CAN BUS controller bricks your system. Ordering the wrong protocol conversion kit means weeks of returns and compatibility headaches. Your Bafang motor’s connector shape determines whether you can freely tweak power settings with a $10 cable or if you’re locked into expensive dealer-only programming that limits what you can change. Since 2021, Bafang switched most motors to CAN BUS, catching thousands of riders off-guard when their programming cables didn’t fit. Here’s what these protocols actually control, which conversion kits use which system, and what your real options are when you need to program, upgrade, or troubleshoot your e-bike’s electronics.

The $500 Mistake: Why Protocol Matters More Than Wattage

Conversion kit buyers fixate on motor power ratings while ignoring the communication protocol, then discover they can’t adjust speed limits, can’t use their favorite display, or can’t even get basic battery stats. The protocol (UART or CAN BUS) dictates how your motor controller, display, battery, and sensors talk to each other. Get this wrong and you’re stuck with incompatible parts or locked-down settings you can’t change.

Bafang made this worse by switching from UART to CAN BUS mid-production without updating product photos or descriptions. A rider ordering what looks like the same BBS02/BBS02B in 2024 gets a fundamentally different system than someone who bought the same motor in 2020. The connector changed from round 5-pin to pentagonal, the programming cable costs 10x more ($100+ BESST tool vs. $10 UART cable), and most importantly, the programming flexibility vanished.

Conversion Kit Reality When Bafang says “all 2021+ motors use CAN BUS,” they’re not exaggerating. The BBS02/BBS02B, BBSHD, M600, M620 (Ultra), and even hub motors switched over. Only old stock and some budget resellers still ship UART versions, and they rarely specify which you’re getting.

What Actually Changes Between Protocols

The motor internals are identical. A UART and CAN BUS BBS02 have the same stator, same gears, same physical power output. The difference is the controller (the brain) and how it communicates.

Feature UART CAN BUS
Programming access Full controller access, $10 cable Limited access, $100+ BESST tool
Speed limit changes Change anytime via display or cable Factory locked, BESST changes once
Display connector Round 5-pin (green) Pentagonal 5-pin (house shape)
Battery communication Optional, basic voltage only Advanced data (temp, cycles, cell voltage)
Aftermarket displays Many options (EggRider, 850C, etc.) Limited, EggRider doesn’t work
Open source firmware Available, easy to flash Limited support, difficult to flash

UART: The Old Standard That Still Works Better

UART (Universal Asynchronous Receiver-Transmitter) dominated e-bike communication from the early days through 2020. It’s point-to-point communication: the display talks to the controller, the controller talks to the motor. Simple, direct, and most importantly for DIY riders, completely open for programming.

Two distinct wiring configurations for an e-bike motor, labeled UART and CAN-BUS, showcasing the different communication protocols

How UART Actually Works

Two wires (TX for transmit, RX for receive) carry data between components. The display sends commands to the controller (“increase power to level 3”), the controller responds with status (“motor temperature 45°C, drawing 12 amps”). It’s serial communication, meaning messages queue up one after another.

Programming Freedom: Plug in a $10 USB programming cable, launch the free Bafang Configuration Tool, and you have complete access to:

  • Current limits per PAS level (control how much power each assist level delivers)
  • Speed limits (change from 20mph to 28mph or remove entirely for off-road)
  • Voltage cutoffs (protect your battery from over-discharge)
  • Throttle behavior (set max throttle speed independently of PAS)
  • Pedal assist sensitivity (adjust how quickly motor responds to pedaling)
  • Keep current settings (control motor smoothness vs. power delivery)
Display Compatibility: UART displays from different manufacturers often work together if voltage and connector pinout match. A KT-LCD3 display works with Bafang controllers, EggRider works with most UART systems, and Chinese 850C displays are popular upgrades from basic 5-pin displays.
The Limitations: UART can only handle one conversation at a time. If you’re running a display, throttle, brake sensors, and lights all on UART, messages can occasionally collide or delay. For simple conversion kits with just a display and basic sensors, this never matters. For complex systems with GPS, Bluetooth, advanced lighting, and multiple displays, UART starts showing its age.

UART Motor Identification

Visual Check: Look at the display connector coming from the motor. Round 5-pin green connector = UART. Some older systems use 3-pin or different connectors, but Bafang UART is consistently round. The connector has a notch preventing incorrect insertion.
Production Dates: Bafang motors manufactured before mid-2020 are UART. Motors from 2021 onward are CAN BUS. The transition period (late 2020 to early 2021) had both versions shipping depending on OEM requirements, creating confusion.

CAN: Why Bafang Locked You Out

CAN (Controller Area Network) came from the automotive industry where multiple electronic systems need to communicate simultaneously without interference. In theory, it’s superior: faster, more robust error checking, handles multiple devices talking at once. In practice for e-bike conversion kits, it mostly means locked programming and expensive tools.

The Bafang 1T4 UART Wire Harness is an all-in-one solution that simplifies your e-bike build by seamlessly connecting your display, throttle, and brakes
The Bafang 1T4 UART wire harness is an all-in-one solution that simplifies your e-bike build by seamlessly connecting your display, throttle, and brakes

How CAN Actually Works

Instead of two wires for TX/RX, CAN BUS uses two wires (CAN High and CAN Low) that form a balanced signal resistant to electromagnetic interference. All devices on the network broadcast messages with priority IDs. Critical messages (like “brake activated!”) get priority over low-priority data (like battery temperature updates).

The Programming Lock: Bafang implements CAN BUS to restrict modification. European e-bike regulations require speed limits and power restrictions, so Bafang locked the controller to prevent “illegal” changes. The BESST programming tool costs $100-150, requires dealer login credentials (easily pirated but technically restricted), and even with access, you can only change:

  • Speed limit (one time firmware flash, can’t revert)
  • Wheel diameter (for speed calculation accuracy)
  • Basic display settings
What You Can’t Change: Current limits, PAS sensitivity, throttle curves, keep current settings, voltage cutoffs – all locked in firmware. Bafang allows one firmware flash per controller, and if you brick it during the update, warranty is void. The factory programming is often terrible: aggressive first-level assist, jerky power delivery, and fixed parameters that don’t suit different riding styles.

CAN Motor Identification

Bafang display connectors showing the difference between CAN display connector and UART display connector
Difference between CAN BUS and UART display connector for Bafang display
Visual Check: Pentagonal (house-shaped) 5-pin connector = CAN BUS. The connector looks like a child’s drawing of a house with the roof point at the top. Cannot physically plug into a UART display.
Motor Cover Markings: Some (not all) CAN BUS motors have an orange Bafang logo on the motor cover. However, this isn’t reliable – some UART motors also have orange logos, and some CAN BUS motors have plain silver/black covers. Don’t rely on this alone.

The Battery Communication Trap

CAN BUS systems can communicate with “smart” batteries that report detailed information: individual cell voltages, charge cycles, temperature, remaining capacity in watt-hours rather than percentage. Sounds great, except:

Compatibility Issues: The battery communication cable (separate from the main power cable) is optional for CAN BUS systems. You can run a basic 2-wire battery (just positive and negative power) with a CAN BUS motor and it works fine, you just don’t get the advanced battery data on the display. The problem comes when manufacturers lock controllers to only work with their specific smart batteries, forcing proprietary battery purchases.
Workaround: Most Bafang CAN BUS systems don’t enforce battery pairing. The communication cable is truly optional. Riders report using generic batteries (just power wires, no communication) with CAN BUS Bafang motors without issues. You lose battery data on the display but the motor runs normally.

The Programming Problem: What You Can Actually Change

Programming flexibility determines how well your motor suits your riding style. Factory settings are generic compromises that rarely work optimally for anyone.

UART Programming: Full Access

Required Hardware

  • Bafang programming cable: $5-15 on AliExpress, Amazon, or eBay
  • Windows PC or Mac (software exists for both)
  • Free software: Bafang Configuration Tool or Penoff’s tool

Programming Process

  • Disconnect display from controller
  • Plug programming cable into display port on controller
  • Connect cable to PC via USB
  • Launch software, click “Read” to download current settings
  • Modify parameters, click “Write” to upload changes
  • Disconnect cable, reconnect display, test ride

Total time: 10-15 minutes including test rides and adjustments.

Popular Tune Files: The Bafang community shares optimized configuration files for different use cases. “Smooth” tunes reduce aggressive low-speed assist, “Torque” tunes maximize power for off-road, “Efficiency” tunes extend range. Download, load into software, flash to controller. Total cost: $0 beyond the cable.

CAN BUS Programming: Limited & Expensive

Official Method (BESST Tool)

  • Hardware: $100-150 for BESST programming dongle
  • Software: Free download from Bafang, requires dealer login
  • Limitations: Can only change speed limit and wheel diameter
  • One firmware flash allowed per controller lifetime
  • Cannot revert to previous firmware if update fails
  • Bricking the controller during update voids warranty

Open Source Alternative (OpenBafangTool): A GitHub project reverse-engineered CAN BUS communication and created free software that works with the $100 BESST dongle. It offers more parameter access than official software, but:

  • Still requires expensive BESST hardware (future versions may support $12 Canable adapters)
  • Not all parameters unlocked (firmware-locked settings remain inaccessible)
  • Technical complexity higher than UART programming
  • Smaller community, less support, higher risk of errors
The Harsh Reality: Most CAN BUS motors run factory programming forever. Riders either accept the stock behavior or spend $300-500 replacing the controller with an aftermarket Archon X1 or similar, which defeats the purpose of buying a Bafang in the first place.

Compatibility Nightmares: Mixing Components

UART and CAN BUS components are completely incompatible. No adapters exist that actually work reliably. The protocols are fundamentally different – you can’t just convert connector shapes.

Can You Convert UART to CAN BUS (or Vice Versa)?

Controller Swap (Possible with Caveats): The motor internals are identical between UART and CAN BUS versions. Technically, you can swap a UART controller into a CAN BUS motor housing or vice versa.

  • Speed sensor wiring differs (UART = 3 wires, CAN BUS = 4 wires)
  • Motor phase and hall sensor wires are identical (this part works)
  • Display connector obviously changes
  • Main wiring harness may need modification
  • Not a beginner project, requires soldering and motor disassembly
Buying a UART Controller: PSWPower and other suppliers sell replacement controllers. A UART BBS02 controller costs $40-60. If you have a CAN BUS motor you can’t stand, buying a UART controller and doing the swap makes sense if you’re mechanically competent. Cost: $60 controller + 2-3 hours labor vs. $300+ for aftermarket controller.

Display Compatibility

UART Displays: Wide compatibility within UART ecosystem. KT controllers, Bafang controllers, generic Chinese controllers often work with each other’s displays if voltage matches (36V or 48V). Connector pinout varies, so check wiring diagrams before mixing brands.
CAN BUS Displays: Limited to Bafang CAN BUS displays. The popular EggRider display (Bluetooth, smartphone app control) doesn’t work with CAN BUS. Aftermarket CAN BUS display options barely exist. You’re stuck with Bafang’s basic displays or expensive upgrade displays from the same ecosystem.
Display Type UART Compatible CAN BUS Compatible
Bafang DPC-18
Bafang DPC-181
Bafang DPC-010
Bafang DPC-080
Bafang 850C Color ✅ (UART version) ✅ (CAN version)
Bafang 860C
Bafang C961
Bafang C965
Bafang DZ40
EggRider V2 ❌ (as of 2024)
KT-LCD3 ✅ (with KT controllers mainly)
Generic 5-Pin Displays ✅ (verify pinout)

Other Conversion Kit Brands: Who Uses What

Bafang dominates conversion kits, but other manufacturers exist with different protocol approaches.

Tongsheng TSDZ2/TSDZ2B

The TSDZ2 and TSDZ2B mid-drive motors use UART exclusively (as of 2024, no CAN BUS version exists). Programming requires an ST-Link V2 adapter ($5-10) rather than Bafang’s cable, but the process is similar. The community developed open-source firmware that dramatically improves performance over stock.

Open Source Advantage: TSDZ2/TSDZ2B open source firmware (OSF) offers features Bafang can’t match: smoother power delivery, better efficiency, customizable torque curves, quieter operation. The trade-off is complexity – flashing firmware requires ST-Link hardware and comfort with command-line tools or Java software.

KT Controllers (Hub Motor Kits)

KT (Kunteng) controllers power many generic hub motor conversion kits. They use UART exclusively with their own protocol variant. KT-LCD displays work with KT controllers but usually not with Bafang controllers, and vice versa, even though both are UART.

Programming: KT controllers offer limited programming through the display itself (no PC cable needed for basic changes). Advanced programming requires proprietary cables and software that’s harder to find than Bafang tools.

E-Bike Motors KT Controller 48V/52V

Reliable UART-based controller for hub motor conversions. Compatible with KT-LCD displays, offers basic programming through display, and supports 48V/52V battery systems for versatile e-bike builds.
Shop Aliexpress →
Shop Amazon →

Premium Brands (Bosch, Shimano, Yamaha)

All use proprietary CAN BUS implementations with even stricter locks than Bafang. Programming requires dealer-level diagnostic tools costing $500-1000+. These aren’t conversion kits – they’re OEM systems for complete e-bikes. No aftermarket compatibility, no user programming, complete ecosystem lock-in.

Technical Differences That Actually Matter

Beyond the programming access debate, the protocols have technical characteristics affecting performance in specific scenarios.

Communication Speed and Error Handling

Technical Aspect UART CAN BUS
Baud rate (speed) 9600-115200 bps (typical: 1200) Up to 1 Mbps (Bafang uses ~250 kbps)
Error detection Parity bit (basic) CRC, ACK, frame check (robust)
Wiring complexity 2 wires (TX/RX) + power/ground 2 wires (CAN H/L) + power/ground
Multi-device support Point-to-point only Multi-master network
EMI resistance Moderate (single-ended signal) High (differential signaling)
Does This Matter for E-Bikes? Not really. UART is plenty fast for e-bike applications. The display updates once per second, PAS level changes happen manually, motor commands update 10-20 times per second. UART handles this easily. CAN BUS’s advantages (multi-device, error checking, EMI resistance) matter in cars with dozens of ECUs, ABS systems, and airbags. On an e-bike with a motor, display, and brake sensor, it’s overkill.

Which Protocol Should You Actually Buy?

Your decision depends on your priorities: customization vs. plug-and-play simplicity, long-term flexibility vs. immediate installation.

Buy UART If You Value

  • Programming freedom – Change any setting, upload community tune files, experiment with power levels
  • Low cost – $10 programming cable vs. $100+ for CAN BUS
  • Display options – EggRider, 850C, KT-LCD3, and dozens of aftermarket choices
  • DIY spirit – UART embraces tinkering and modification
  • Long-term support – Huge community, years of documentation, proven reliability

UART Availability Problem: Finding new UART Bafang motors in 2024+ is difficult. Most suppliers ship only CAN BUS. Several options:

  • Buy old stock from resellers (verify before ordering)
  • Buy used UART motors (eBay, forums, Facebook groups)
  • Buy CAN BUS motor and swap controller later ($60 extra)
  • Choose Tongsheng TSDZ2/TSDZ2B instead (still UART-only)

Buy CAN BUS If You Value

  • Plug-and-play – Install, ride, don’t touch settings
  • Legal compliance – Factory speed limits for road-legal e-bikes in restricted regions
  • Latest hardware – New motors ship with CAN BUS, newest controller revisions
  • Battery data – If using Bafang smart battery, CAN BUS shows detailed battery info
  • Future-proofing – Open source tools are slowly improving CAN BUS access
CAN BUS Reality Check: Unless you’re happy with factory programming forever, CAN BUS creates frustration. The motor works fine, but when you want more power for hills, smoother assist for city riding, or removed speed limits for private land, you’re stuck. Budget another $300-500 for aftermarket controller replacement if customization matters later.

The Realistic Recommendation

For DIY Conversion Kits: Hunt for UART or plan to swap the controller. The $60 controller replacement cost is worth the programming freedom. CAN BUS on conversion kits serves no purpose except locking you out of your own motor.
For Complete E-Bikes: If buying a factory e-bike with Bosch/Shimano/Bafang, CAN BUS is unavoidable. These systems are designed as locked ecosystems. Accept it or choose different brands.
For Budget-Conscious Riders: UART saves money twice – cheaper programming tools and avoiding expensive proprietary components later. The $90+ difference between UART and CAN BUS programming costs buys a lot of other upgrades.

Stop Guessing, Start Checking

Before ordering any conversion kit, demand the seller confirm which protocol the motor uses. “Latest version” means CAN BUS. “2024 model” means CAN BUS. If the listing doesn’t specify and the seller can’t tell you, assume CAN BUS and shop elsewhere.

The connector shape reveals everything, round green 5-pin = UART, pentagonal house-shaped 5-pin = CAN BUS. If the seller’s product photos show a round connector but they’re shipping CAN BUS, you’ll waste weeks in returns and arguments. Get written confirmation before paying.

For riders with existing motors, pop off the motor cover and check the display connector. That 30-second inspection determines your programming options, display compatibility, and whether you need a $10 cable or $100 BESST tool. Don’t assume based on purchase year, transition periods mixed protocols unpredictably.

UART gives you control. CAN BUS takes it away. Choose based on whether you want to own your motor or rent it from Bafang’s restrictions.

Leave a Comment

Your email address will not be published. Required fields are marked *