Back
E-bikeTongshengError codes

Tongsheng TSDZ2 and TSDZ8 error codes: VLCD5, 860C, stock or open-source firmware

M
Max
8 minOctober 16, 2026
Tongsheng TSDZ2 and TSDZ8 error codes: VLCD5, 860C, stock or open-source firmware

The Tongsheng TSDZ2 is the best-selling Chinese mid-drive kit after Bafang: a crank motor with a torque sensor, in 36, 48 or 52 V, fitted to thousands of converted hybrids and touring bikes. Its recent sibling, the TSDZ8, follows the same idea with a brand-new controller. The catch: the same "E02" does not mean the same thing depending on the display and, above all, on the firmware running in the controller. Before reading a code, you need to know what is running in your motor.

Step zero: stock or open-source firmware?

The TSDZ2 has a quirk: a community project ("OSF", Open Source Firmware, on endless-sphere and GitHub) has rewritten the controller software. Plenty of second-hand kits have been reflashed. Three clues:

ClueStock firmwareOpen-source firmware (OSF)
DisplayStock VLCD5, VLCD6, XH18VLCD5/VLCD6/XH18 (mbrusa version) or 860C, 850C, SW102 (casainho version)
MenusLimited settingsHidden menus through the lights button, assist modes "Power / Torque / Cadence / eMTB / Hybrid / Cruise"
CodesSeller's paper manualOSF manual table (below)

The OSF documentation states it plainly: "the errors and related codes listed in the original display manuals are no longer valid" once the open firmware is installed. If you bought the bike used, ask the seller. A colour 860C on a TSDZ2 almost always means open firmware.

Open-source TSDZ2 firmware codes (VLCD5, VLCD6, XH18)

This is the best-documented table, because it comes straight from the source code (the project's main.h file) and the user manual published with it. It applies to mbrusa's version 20.1C.

CodeMeaningLikely causeWhat to do
E01Battery over- or under-voltageBattery parameters entered wrongly in the configurator, flat batteryCheck the real voltage, correct the thresholds in the configurator
E02Torque sensorPressure on the pedals at power-on, sensor drift, mechanical faultSwitch off, switch on with feet off the pedals; recalibrate
E03Cadence sensorNo pulses while pedallingCheck the connector; sensor probably faulty
E04Motor blockedHigh current with no rotation: motor or wheel jammedFind the tight spot before restarting
E05Throttle, or current drawn at power-onFaulty or badly calibrated throttle; controller drawing current at restSwitch on again; if it persists, reflash the controller
E06Motor overtemperatureLong climb at high torqueRide in a gentler mode; only exists with a temperature sensor fitted
E07OvercurrentCurrent spikeSwitch off and on again
E08Speed sensorSensor dead or magnet too far awayMove the magnet closer (a few mm), check the cable
E09EEPROM write or motor checkMemory write failure, or motor turning without pedallingSwitch on again; check for "phantom pedalling"

On the XH18, some codes show differently, flashing: flashing E06 = E01, flashing E03 = E05, flashing E04 = E07, flashing E08 = E09. On the EKD01 display, the cadence sensor shows as E13, the throttle as E10 and speed as E14. If you see one of these, it is not a different fault, it is the same table with different numbering.

Two important rules of the open firmware: an error cuts assistance in every mode, and you must switch the display off and on after each error. For a failed sensor (torque, cadence, speed), the manual provides an "assist with sensors error" option (menu E04 at TURBO level) that lets you get home by picking a mode that does not use the faulty sensor. It is a get-you-home mode, not a permanent setting.

860C, 850C, SW102: plain-text messages

With casainho's colour firmware, the screen does not show a bare code but "e:" followed by a number and a label. According to the display source code:

DisplayMeaningWhat to do
e: 1 Motor initMotor not answering at initialisationCheck the motor-display cable, compatible firmware versions
e: 2 Motor BlockedMotor blockedFind the tight spot, freewheel, jammed chain
e: 3 Torque FaultTorque sensorSwitch on without pressing the pedals
e: 4 Brake FaultBrake sensorCheck the cut-off brake levers
e: 5 Throttle FaultThrottleUnplug the throttle to test
e: 6 Speed FaultSpeed sensorMagnet, cable, sensor position
e: 7 Low VoltLow voltageCharge, check the battery
e: 8 CommsCommunicationConnectors, display cable
Temp ShutdownThermal cut-outLet it cool

An "e: config" means the configuration could not be sent to the motor: in practice, often a display firmware and a motor firmware of versions that do not talk to each other.

And with stock firmware?

This is where it gets messy, and we would rather tell you. Tongsheng does not publish an official list online. The original VLCD5 manual, as quoted on owners' forums, lists among others: ERR-02 motor Hall fault or motor short circuit, ERR-03 controller fault, ERR-04 throttle fault, ERR-06 switched on with feet on the pedal (coaster-brake version), ERR-08 low battery alarm. But other guides published online give a different table, where E01 would be the throttle and E02 the brake sensor.

Practical conclusion: with stock firmware, trust the paper manual supplied with your kit, and test causes from cheapest to most expensive rather than replacing a part on the strength of a code. An E02 that disappears when you switch on without touching the pedals is not a dead motor.

The two failures found on almost every TSDZ2

The nylon gear

The first reduction stage of the TSDZ2 is a large blue nylon gear. It is quiet, but it is the motor's sacrificial part: at high torque, on a loaded bike or on a steep climb at low cadence, it eventually strips its teeth. Typical symptom: no code, the motor hums or spins but drives nothing, sometimes with a clack. The gear is sold as a kit, and metal versions exist (longer-lasting, noisier). Removal needs a crank puller and patience, not exotic tools.

The torque sensor

The TSDZ2's torque sensor is both its strength and its weakness. It drifts over time: resting values change, until they trigger E02 on open firmware. The OSF manual provides an on-the-road calibration from the display ("Pedal torque ADC offset" with pedals free and "ADC max" at maximum effort), which you then save to memory. Before ordering a sensor, redo this calibration, and always switch the bike on without a foot on a pedal: that is the number-one cause of E02.

The TSDZ8 case

The TSDZ8 is not a reworked TSDZ2. Its controller uses a different microprocessor (Infineon XMC1302), an 8-pin harness to the display and a new speed sensor: a TSDZ8 controller does not fit a TSDZ2, nor the reverse. The stock firmware is heavily locked; open firmware is being developed by the community, but it is younger than the TSDZ2's. Owner reports indicate the torque sensor stays close to the TSDZ2B's, with the same calibration needs. For codes, refer to the manual of the exact version you flashed: do not blindly transpose the TSDZ2 table.

Diagnosis: cheapest first

  1. Switch on with feet off. Free, fixes most E02s.
  2. Connectors. Unplug, inspect (green corrosion, bent pin), reconnect. The motor-display connector under the bottom bracket takes water.
  3. Speed sensor and magnet. A few millimetres too far is enough for an E08.
  4. Isolate accessories. Unplug the throttle and brake sensors: if the code goes, you have the culprit.
  5. Battery voltage with a multimeter. Compare with the nominal voltage and the thresholds you entered (see our article on multimeter measurements).
  6. Torque sensor recalibration from the display (open firmware).
  7. Opening the motor: nylon gear, internal freewheel, bearings.
  8. Controller: last, it is the most expensive part and the least often guilty.

Battery safety

An e-bike lithium battery stores enough energy for a violent fire. Do not open it, do not charge a battery that has been dropped, has swollen or got abnormally hot, and charge it on a non-flammable surface, never overnight in a hallway. The motor phase wires carry heavy current: remove the battery before any work on the controller.

And the law?

Open firmware lets you change the assist speed. In the UK, an electrically assisted pedal cycle (EAPC) is limited to 15.5 mph (25 km/h) and 250 W nominal; beyond that it is a motor vehicle needing registration, insurance and a licence, and it may not be ridden on cycle paths. We cover the risks in our article on programming and derestricting.

When to hand it over

A workshop is the answer if the motor smokes, smells burnt, if a code comes back after replacing the part it pointed to, or if the battery is involved. To compare with the other big name in Chinese kits, read our Bafang error codes; for generic displays, our guide to Chinese display codes; and for parts, repairing a Chinese e-bike.

---

A code that is in no table, an E02 that keeps coming back despite calibration? Ask the assistant with your display model and firmware version: it will cross-check the manuals.