Is my mid-drive motor dead? Home checks before dealer diagnostics
Bosch, Shimano, Yamaha, Brose and Bafang M-series drive units are sealed and CAN-bus controlled, so you cannot back-probe them like a hub motor. You can still eliminate the battery, display, speed sensor, connectors and moisture, and learn from the noises and codes whether the drive unit itself is at fault.
What you need
- Multimeter for the battery contacts only
- Torx and Allen keys for the motor cover and speed sensor
- Torch and a clean rag
- The exact error code from the display (photograph it)
- Bike stand or a way to lift the rear wheel
LED patterns and what they mean
| Missing start condition: speed sensor, torque sensor calibration, walk mode stuck, or firmware lockout | |
| Speed sensor signal missing or implausible (magnet, sensor, tuning device) | |
| Internal drive-unit fault; usually dealer diagnostics | |
| Speed sensor not detected / torque sensor initialisation failed (pedal touched at power-on) | |
| System error / communication error between drive unit and display or battery | |
| Sensor and motor-side faults; check speed sensor first, then dealer | |
| Speed sensor / torque sensor / communication error | |
| Bearings or reduction gears; the electronics are fine |
Step by step
Remove the battery. Look at the contact block on the battery and in the frame for green corrosion, bent pins or water. Charge to 100% on the original charger and confirm the charger LED goes green. If you can safely reach the main terminals, measure: 36V systems should show 40-42V full.
If OK: Clean contacts, full charge, correct voltage. Continue.
If not: Corroded or wet contacts: clean with contact cleaner and a plastic brush, dry, refit. Battery will not charge or reads low: battery/BMS fault. Fix that first; a low battery makes a mid-drive throw communication errors that look like motor faults.
Fit the battery, press the display power button for 3 seconds. On Bosch, also try the battery's own button. On Shimano hold the power button on the battery or the E-Tube display. Watch whether the display starts, shows the battery level, and whether an error code appears within 10 seconds.
If OK: System boots, shows battery level, no code or a code you have noted. Continue.
If not: No boot at all: display, display holder contacts or remote button. See the display-blank flow; Intuvia and Purion problems are covered there. The drive unit is not suspect yet.
Read the code and look it up under your motor brand on this site. Sort it into one of three groups: sensor codes (Bosch 503/504, Shimano W011/W013, Bafang 21/25), communication codes (Bosch 602/603, Shimano E020, Bafang 30) and internal drive-unit codes (Bosch 500/502/510, Shimano E010/E014).
If OK: Sensor or communication code: the drive unit is probably healthy. Go to the matching flow (speed-sensor, torque-sensor, display-error-no-assist) or continue with steps 4-6 here.
If not: Internal drive-unit code that survives a battery-out reset: skip to step 8. These codes rarely clear by themselves.
Switch off, remove the battery, wait two full minutes, refit and power on. Do not touch the pedals or cranks while the system boots (torque sensor zeroing).
If OK: Assist returns and stays: a one-off glitch, often from a low battery or a touched pedal at start-up. Ride and monitor.
If not: Same fault or same code returns. Continue.
Find the sensor on the chainstay (or the disc-brake-rotor sensor on newer Bosch/Shimano). Check the magnet on the spoke or rotor is present, tight, and within 3-15 mm of the sensor (Bosch spoke magnet: 5-17 mm; rim magnet must pass directly in line with the sensor). Spin the wheel and watch whether the display shows speed.
If OK: Speed reads on the display. Sensor cleared. Continue.
If not: Speed stays 0 or the sensor code appears: reposition the magnet, clean the sensor face, check the sensor cable for chafe where it runs into the motor. Most 'dead' mid-drives that show 503/504/W011 are exactly this. See the speed-sensor flow.
Remove the plastic motor cover(s) (usually 2-6 Torx/Allen screws). Unplug and inspect every connector going into the drive unit: main power, display/CAN, speed sensor, light. Look for green/white crust, water droplets, or a pin pushed back. Check the drain hole at the bottom of the motor is not clogged.
If OK: Dry, clean, all connectors click home. Refit. Continue.
If not: Corrosion or water: dry 48 hours at room temperature with covers off, clean pins, apply a thin film of dielectric grease, retest. If the fault appeared after a pressure wash or heavy rain, see the moisture-after-rain flow.
Rear wheel in the air, assist on. Pedal by hand and listen. Then pedal with assist off. Then spin the cranks backwards.
If OK: Only a smooth whine that follows assist: normal. Assist actually engages: the drive unit is not dead, the original complaint was intermittent or sensor-related. Continue to step 9.
If not: Grinding or rumbling with assist off = bearings or reduction gear; the electronics are fine but the unit needs an overhaul. Loud click once per crank rev = freewheel/sprag clutch or chainring spider. Motor spins up but the crank does not drive the chain = broken internal gear or clutch. See the motor-noise flow for the full sound table. Still no assist, no noise at all: continue.
A Bosch, Shimano E-Tube, Yamaha or Bafang BESST dealer reads the drive unit's fault memory, temperature history, total error count and firmware state, and can run a motor self-test in a few minutes. Ask for the printed report.
If OK: Diagnostics show a peripheral fault (sensor, cable, battery comms) or an available firmware update fixes it: cheap outcome.
If not: Diagnostics show an internal motor error, hall error, over-temperature history or the unit fails the self-test: the drive unit is confirmed as the fault. Move to step 9.
Get two quotes: an independent motor rebuilder (they replace bearings, gears, sprag clutch, seals and sometimes the torque sensor or PCB) versus a new unit from the dealer. Typical figures: independent rebuild 150-400 EUR/USD; a new Bosch/Shimano/Yamaha unit 700-1200 EUR/USD plus fitting; Bafang M-series 400-700. Check warranty: many drive units carry 2 years, and dealers will often replace under goodwill just outside it.
If OK: Rebuild or warranty replacement solves it. Ride-test as in step 10.
If not: Unit is out of warranty, the PCB is dead, and no rebuilder supports the model: new drive unit is the only route. On older bikes compare that cost against the bike's value.
Ride 10 km with varied load and at least one hill. Watch for codes, cut-outs, heat smell, and noise.
If OK: Fault gone: done.
If not: Cut-outs under load only: battery sag or a battery contact; see step 1. Noise returns: rebuild incomplete.
What you now know for sure
- Peripheral: battery, contacts, display: System will not boot or drops out; drive unit never got a fair chance. → Fix contacts, charge/replace battery, repair display. Cost low.
- Speed or torque sensor: Code 503/504, W011/W013, 21/25 or speed stuck at 0. Drive unit healthy. → Reposition magnet, replace sensor, recalibrate. 20-80 EUR/USD.
- Moisture or connector: Fault after rain or washing, corrosion visible. → Dry 48 h, clean, grease. Usually recoverable if caught early.
- Mechanical wear inside the unit: Grinding, rumbling, clicking; assist still works or works intermittently. → Independent rebuild (bearings, gears, clutch). 150-400.
- Drive unit electronics: Internal code that survives resets, failed dealer self-test, no assist and no noise. → Warranty claim, PCB repair specialist, or new unit (700-1200).
Manuals and video
- Bosch eBike Help Center: official error-code index
- Bosch eBike downloads: quick start guides and battery guide
- Bosch eBike dealer search (DiagnosticTool readout)
Videos found on YouTube and checked automatically; they are other people's work, not ours.
- How to Disassemble and Maintain a Mid-Drive Motor of an eBike TRUCKRUN eBike Systems
Frequently asked
Can I test a Bosch or Shimano motor with a multimeter like a hub motor?
Not usefully. The controller, hall sensors and torque sensor are inside the sealed unit and talk to the display over CAN. You can measure battery voltage and inspect connectors, but the drive unit needs the brand diagnostic tool for a real readout.
How much does a new mid-drive unit cost?
Roughly 700-1200 EUR/USD for Bosch, Shimano and Yamaha units including fitting, 400-700 for Bafang M-series. Independent rebuilders fix bearings, gears and clutches for 150-400, which is why a noise diagnosis matters before you buy a unit.
Assist stopped after I pressure-washed the bike. Is the motor dead?
Probably not yet. Remove the battery and motor covers, let everything dry for 48 hours, clean the connectors and try again. Water in the connectors causes communication errors that mimic a dead motor. Water inside the unit itself is more serious; a rebuilder can often still save it.