Range dropped, percentage jumps, motor cuts out under load: find the real cause
A pack that dies at 40%, a percentage that jumps 20 points on a hill, or a motor that cuts on climbs can be worn cells, a bad cell group, a poor contact, cold weather or simply a wrong gauge. These checks tell them apart without opening anything.
What you need
- the original charger
- a full charge before you start (leave it on the charger 1 hour after the LED turns green)
- a known ride you can repeat: same route, same assist level, same rider
- a multimeter (optional, for step 6)
- the brand app if your system has one (Bosch eBike Flow, Shimano E-TUBE, Specialized Mission Control, Giant RideControl)
Step by step
Check tyre pressure (soft tyres cost 10 to 20% range), brake rub (spin each wheel, it should turn freely for several seconds), a new heavier assist mode, headwind, a child seat or panniers, and temperature below 10 C. Note the last time the range was normal and what changed since.
If OK: Nothing changed on the bike or the ride, and it is not cold: the drop is inside the electrical system. Go to step 2.
If not: You found a load change: fix it and ride the reference route again before blaming the battery. Cold below 5 C alone can cost 20 to 40% range; that recovers in spring.
Charge until the charger LED goes green, leave it 1 more hour, then unplug and let the pack rest 30 minutes. Press the battery button: all LEDs should light. Fit it on the bike and read the display percentage.
If OK: All LEDs and 100% on the display: the pack accepts a full charge. Go to step 3.
If not: Charger goes green early and the pack never shows all LEDs, or the display says 100% but the pack LEDs disagree: the BMS is ending charge early because one cell group is high (imbalance) or the gauge has lost calibration. Go to step 5.
On a quiet road, ride in the highest assist level and push hard on the pedals from low speed. Then ride over a rough patch (cobbles, kerb). Watch the display: does it reboot, flash or drop assist for a second?
If OK: Assist stays smooth under load and over bumps: contacts and BMS current limit are fine. Go to step 4.
If not: Display reboots or assist drops on bumps: battery contact or bike contact plate is intermittent (clean, check the lock and the spring on the contact plate). Assist drops under hard load only, without reboot, and the display shows a battery symbol or a code: the BMS is hitting its current or low-voltage limit, which is a sign of worn or unbalanced cells. Go to step 5.
Start with the pack at about 50%. Climb the steepest hill you have in maximum assist and watch the percentage. Then stop for 2 minutes at the top and watch it again.
If OK: Percentage drops a few points on the climb and does not bounce back after the rest: normal behaviour. Go to step 7 for the capacity test.
If not: Percentage drops 15 to 30 points on the climb and creeps back after the rest: this is voltage sag. Either the cells are worn (high internal resistance) or one cell group is weaker than the rest. Both mean the pack is ageing; go to step 5 to tell whether it is the whole pack or one group.
Ride the reference route until the bike cuts out or the display shows empty. Note the percentage where it happened and, if you have one, the battery LED count immediately after.
If OK: Cut-out at 0 to 5%: the gauge is honest, the pack is simply smaller than it used to be. Go to step 7.
If not: Cut-out at 20 to 40% and the pack still shows 1 or 2 LEDs: one cell group reaches the low-voltage limit long before the others. That is a bad cell group or a BMS balancing failure, not general wear. See verdicts.
Only for packs with an accessible discharge connector. Measure the rest voltage at 50% charge, then have someone measure while you hold the rear brake and press the walk-assist or throttle for 3 seconds. Compare the two readings.
If OK: Sag under 2 V on a 36V pack, under 3 V on 48/52V: internal resistance is healthy. If range is still low, the capacity has shrunk evenly; go to step 7.
If not: Sag of 4 V or more, or the BMS cuts the output during the test: the pack has high internal resistance (worn cells) or a collapsing cell group. See verdicts.
Reset the trip meter, ride the reference route in one fixed assist level from 100% until the pack cuts out. Compare the distance with the range you had when the bike was new (or with the manufacturer's range table for that assist level, halved for real-world riding).
If OK: 70% or more of the original range: normal ageing, nothing to repair. Keep the pack, adjust expectations, and repeat this test yearly.
If not: Under 60 to 70% of the original range, with no sudden cut-out and a normal gauge: the cells are evenly worn. See verdicts.
Bosch: eBike Flow app, battery section, shows state of health on Smart System; older BES2 needs a dealer's DiagnosticTool. Shimano: E-TUBE Project app shows charge cycles and, on newer firmware, battery health. Specialized: Mission Control shows battery health in percent. Giant: RideControl app shows EnergyPak Smart health. Compare the app value with your ride test.
If OK: App and ride test agree (both around 70% or better): the pack is simply older. Decide on your own timeline.
If not: App says 90% health but the ride gives 50%: the fault is not the cells. Look at contacts, tyre and brake drag, or a BMS/gauge that needs recalibration (three full charge/discharge cycles). App refuses to read the battery at all: BMS communication fault, dealer diagnosis needed.
What you now know for sure
- Battery cells worn evenly: Full charge is accepted, no sudden cut-out, no reboot on bumps, but the range test gives under 60 to 70% of new and sag is moderate. → Normal end of life after 500 to 1000 full cycles. Choose between a new original pack, a cell-replacement service (keeps case and BMS, only worth it if the BMS is a standard type), or ride on with lower range.
- One bad cell group or balancing failure: Charger stops early, the pack dies at 20 to 40% while still showing LEDs, and the percentage bounces back after a rest. → The pack is unsafe to keep cycling: the weak group is stressed every ride. Cell-replacement service or new pack. Do not keep riding it to empty.
- BMS current limit or BMS fault: Assist collapses under hard load without a reboot, the app cannot read the battery, or the gauge and LEDs disagree wildly after a recalibration. → Brand packs: dealer diagnosis can read the BMS log and confirm. Generic packs: a BMS swap is possible but only by a battery service, never at home.
- Contact or bike side: Display reboots or assist stutters over bumps or when you wiggle the battery; range and sag are otherwise normal. → Clean contacts, check the battery lock and the spring contacts on the bike's mounting plate, then the main harness. A shop can replace a worn contact plate.
- Cold weather, not a fault: Range only drops when it is under 10 C, the pack recovers fully on warm days, and the sag test at room temperature is fine. → Store and charge the pack indoors, fit it just before riding, expect 20 to 40% less range below 5 C. Nothing to repair.
- Gauge miscalibration: Percentage jumps but the pack cuts out only at 0 to 5%, the range test is fine and the app health is good. → Run three full charge-to-cut-out cycles; most BMS gauges relearn. If it does not settle, a dealer can reset it.
Frequently asked
My battery says 60% and then the bike dies. Is the battery worn out?
Not necessarily worn, but definitely faulty. Sudden death from a mid-range percentage means one cell group is much weaker than the others, so the BMS shuts down to protect it. A pack that is only worn dies at 0 to 5% with a shrinking range.
Does cold weather permanently damage the battery?
Riding in the cold does not; it only reduces range temporarily. Charging a pack that is below 0 C can damage the cells permanently, so always let it warm up indoors for a few hours before charging.
How much range loss is normal per year?
Around 3 to 5% per year plus about 1% per 25 full cycles is typical for a quality pack. A commuter riding 5000 km a year on a 500 Wh pack can expect roughly 80% capacity after three years.