Bafang Error Codes Explained: How to Diagnose Error 30, 08, 07 and 21 on a Mid-Drive E-Bike
A Bafang error number tells you which subsystem is at fault: throttle, motor, controller, sensor or communication. The most common, Error 30, is a display-to-controller communication fault that L'Atelier says is almost never the motor: power off, unplug and reconnect the main display/controller connector, check the pins for bends, corrosion and moisture, and look for a pinched cable. Error 08 is the motor Hall sensor (check the motor connector first), Error 07 is overvoltage (battery and charger), and Error 21 is the speed sensor (realign the magnet).
This guide is for riders of factory Bafang e-bikes (M510, M620 Ultra) and owners of DIY conversion kits (BBS02, BBSHD) who want to diagnose before they buy parts. It follows L'Atelier's Bafang and e-bike troubleshooting guides (la-telier.com). Anything that involves opening the motor or the battery is a job for a trained workshop.
How to read a Bafang error code
Bafang motors, whether factory-fitted or installed as a kit (BBS02, BBSHD, hub motors), report faults as a number on the display (DPC, 850C, SW102 and others): Error 04, 07, 08, 21, 30 and so on. According to L'Atelier the numbering is stable and well identified. The exact nuance can vary with controller firmware, but the family of cause stays the same. Also note whether the bike still assists: L'Atelier distinguishes a warning (the bike still rides, something needs attention) from a blocking error (assist cuts out; you can still pedal, but the motor won't respond until the cause is fixed).
Bafang error codes and first check (L'Atelier)
| Code | Meaning | First check |
|---|---|---|
| Error 04 | Throttle does not return to zero | Throttle/grip, release it completely |
| Error 07 | Overvoltage | Battery and charger: voltage too high |
| Error 08 | Motor Hall sensor fault | Motor connector, Hall cable |
| Error 09 | Motor phase fault | Motor phase connector |
| Error 10 | Controller temperature too high | Let it cool, ventilation |
| Error 11 | Controller temperature sensor | Controller / connectors |
| Error 12 | Current sensor fault | Controller (warranty) |
| Error 13 | Battery temperature fault | Let it return to temperature |
| Error 14 | Motor temperature fault | Let it cool |
| Error 21 | Speed sensor | Magnet position on the spoke |
| Error 25 | Brake signal abnormal (cut-off) | Brake sensors, connectors |
| Error 30 | Display-controller communication | Main cable and connector |
Error 30: the step-by-step fix
Error 30 means the display and the controller have stopped talking. In the vast majority of cases the culprit is the main cable or connector between them, not the motor and not the display itself.
- Turn the system off.
- Unplug and reconnect the main display/controller connector, making sure it seats fully.
- Inspect the pins: bent or corroded pins, or moisture in the socket, are enough to break communication.
- Follow the cable along the frame: look for a pinched or cut section.
- Power back on. L'Atelier's verdict: a cleaned, properly seated connector fixes most Error 30s without replacing any part.
Error 07, 08, 21 and 25: the other usual suspects
- Error 07 (overvoltage): often appears after charging, or with an unsuitable battery or charger. Check the voltage and use only the original charger.
- Error 08 (Hall sensor): the controller can no longer read the rotor position. Check the motor connector and Hall cable before suspecting the motor itself.
- Error 21 (speed sensor): as on any e-bike, the magnet on the spoke has moved. Realign it so it faces the sensor at a few millimeters.
- Error 25 (brake): the brake sensors cut the assist. A stuck brake contact or a loose connector triggers the code.
- Errors 10, 13, 14 (temperature): often not a fault at all. The motor, controller or battery is too hot or too cold, and assist returns once temperature normalizes.
Speed sensor: false alarm number one
L'Atelier's e-bike error guide says the most common error on most e-bikes comes from a speed sensor magnet that has shifted. A simple realignment fixes many codes wrongly blamed on the motor.
The five reflexes before any disassembly
Whatever the brand, L'Atelier recommends running through these in order before touching a tool:
- Power cycle: turn off, wait 10 seconds with the battery off, then restart. This clears most transient communication errors.
- Reseat and lock the battery: a loosely clipped battery or an oxidized contact causes power and communication errors.
- Check the connectors: display, speed sensor and motor cables. A bent pin or moisture is enough.
- Check charge and temperature: below 0°C (32°F) or above about 40°C (104°F, from 40 × 1.8 + 32), many systems go into safe mode. Let the bike return to room temperature.
- Firmware update at a dealer if the code persists: many "system" errors disappear with an update.
Heat, programming and DIY kits
Some codes come from how the motor is used or configured. L'Atelier reports that the M620 Ultra can overheat on sustained steep climbs (over 15% for more than 20 minutes) and drops into a degraded mode at 80°C, and that the BBS02 loses torque progressively above 90°C internal temperature when run beyond 75% of its power for long periods. If assist fades on a long climb, stop and let it cool before suspecting a failure.
On a programmed kit, some codes appear right after inconsistent parameter changes. If a code shows up just after programming, restore sane settings first. Before changing anything in Bafang Config Tool, save the stock profile to a .ini file so you can go back. And leave PAS sensor calibration alone unless you know exactly what you are doing: a bad calibration can cause phantom assist, with the motor running when you are not pedaling, a serious fault that can cause a crash. L'Atelier also notes that the M620's error display is cryptic without Bafang documentation, which is not public.
Legal frame covered by the base: EU rules
L'Atelier's guides describe EU and French law: an e-bike is limited to 250 W nominal and 25 km/h assistance (about 15.5 mph, from 25 × 0.621), with assist only while pedaling; derestricting it on public roads is illegal and leaves you without insurance cover. US federal and state rules are not covered by this base, so check them separately.
Preventive maintenance that avoids many codes
- Every 500 km (about 310 miles) or monthly: clean the motor housing with lukewarm water and mild soap, never a direct pressure washer; check crank arm torque (24 Nm on Bafang M510/M620); inspect connectors for oxidation and water; lube the chain.
- Every 2,000 km (about 1,240 miles): check bottom bracket play; test every assist mode (a mode that does not respond suggests a failing sensor); compare range with new (a drop of more than 30% means the battery needs examining).
- Every 5,000 km (about 3,100 miles), workshop: housing off, reduction gear bearing check, internal cleaning with lithium grease NLGI 2, firmware update, torque sensor test under load.
- Wear parts: nylon reduction gear around 15,000 km, bearings 20,000-25,000 km, torque sensor 15,000-20,000 km (it loses precision).
Mile figures are our conversions (km × 0.621, rounded). Battery habits matter too: store at about 50-60% charge and never below 20%, and do not charge below 0°C; bring the battery indoors for 2 hours first. Got a specific code? The L'Atelier bike mechanics base answers questions such as "My Bafang shows Error 30, no more assistance" with the source passage.
Decode your e-bike's error before buying parts
Bafang, Bosch and Shimano STEPS codes, motor maintenance schedules and torque values, searchable across L'Atelier's guides with sourced answers.
Frequently asked questions
What does Bafang Error 30 mean?
A communication error between the display and the controller. L'Atelier says it is almost never the motor: power off, reconnect the main display/controller connector, check the pins and moisture, and look for a pinched cable.
Is Bafang Error 08 a dead motor?
Not necessarily. Error 08 is a motor Hall sensor fault: the controller can't read the rotor position. L'Atelier advises checking the motor connector and Hall cable before suspecting the motor.
Why does my Bafang show Error 07 after charging?
Error 07 is overvoltage. L'Atelier links it to charging or an unsuitable battery or charger; check the voltage and use only the original charger.
My assist cut out on a long climb. Is the motor broken?
Possibly just heat. Temperature codes (10, 13, 14) clear once things cool; L'Atelier notes the M620 Ultra drops to a degraded mode at 80°C on sustained steep climbs.
Can I reprogram my Bafang to clear an error?
If the code appeared right after programming, restore healthy settings first, ideally the stock profile you saved as a .ini file. Do not touch PAS sensor calibration unless you know exactly what you are doing.
Can I keep riding with a Bafang error showing?
Often yes, as a regular bike: L'Atelier explains that with a blocking error the assist cuts out but the bike stays usable in pedal-only mode. On a BBSHD, though, long no-load pedaling with a dead battery (over 30 km) wears the internal freewheel, so pushing or disengaging is better.
Get the Kopik newsletter
New knowledge bases, RAG guides and product news. One email every week or two, unsubscribe in one click.
By subscribing you agree to receive our newsletter. We never share your address.