Regen on a Zero: how it works, what it gives back, how to use it
A Zero puts energy back into its pack when you close the throttle and when you brake. This page covers how that works in each mode, how the bike records it, and what 19 rides on six Zeros measured: how much came back, how hard regen can slow the bike, and where the rest of each slowdown’s energy went. Then how to use it to keep range on a trip, and a 500 m descent on a 2016 FXS read from its own log.
A small sample, and two kinds of number. The measurements come from 19 rides on 6 bikes over two and a half weeks. Each figure says whether it was measured on the bike or worked out from those measurements, and what a worked-out one assumes.
TL;DR
- On 19 rides on six Gen2 Zeros, 498 km in all, regen put back 6.7% of the energy the motor used, 4.3 Wh/km. Per bike it was 4.4 to 8.8% on rides of 13 to 45 km, and 21.6% on three short town rides. Measured from the battery current, read every 1.3 s.
- Regen slows a bike and rider at about 0.8 to 1.6 m/s² (around 0.1 g) at any speed, and gives nothing under 15 km/h. From 50 km/h, regen alone needs about 95 m to stop at 1 m/s². Anything firmer takes the friction brakes, and so do the last metres of every stop.
- For range, coasting beats regen and regen beats the brakes. Energy the air takes while the bike keeps rolling still carries you forward; the measured stops returned about 40% of their energy to the battery; the brakes return none.
- The MBB log writes one
Ridingrecord a minute and has no brake bit. A regen event lasts 3 to 10 s, so the log lands on about one in ten. Read once a minute, one bike’s regen total came out anywhere from a quarter to twice the real figure. - On a descent, add up the battery current and ignore the SoC. On the 2016 FXS example the SoC rose 6 points in 11 minutes, about three times more than the whole drop could have put into the pack.
On this page
How regen works on a Zero
The motor that drives the rear wheel can also be driven by it. When the controller makes it brake, it works as a generator and current flows back into the pack. Zero’s manuals describe one trigger: “When the motorcycle is moving and the throttle control is in the fully closed position, the regenerative braking feature activates” [1, p. 37]. A slight drag is felt, and to coast without regen you hold the throttle “just off of the fully closed position” [1, p. 37]. On the SR/F and the later Gen3 bikes, that spot is the zero-torque point, which “changes with speed and ride mode” [3, p. 25].
There is a second trigger the manuals do not describe: the brake switch, the one that lights the brake light when you squeeze the lever [1, p. 37]. Over Bluetooth a Gen2 Zero reports two regen limits, one for coasting with the throttle closed and one for braking, each a percentage; they are known as the limits of its Eco mode [5]. On the seven Gen2 bikes measured below, brake regen was set to 100% on all of them and coast regen to 0, 50 or 66%. With the lever on, 39 to 72% of the readings showed regen. With the lever off, 0.4 to 14.3% did [4].
The ride mode sets how strong coast regen is. On a 2019 FX or FXS, Eco “increases the amount of regeneration when the throttle is released” and Sport “decreases” it [2, p. 42]; the 2016 manual says only that Eco riders “experience greater regenerative braking” [1, p. 39]. The SR/F ranks its factory modes from Rain, with the least, through Street and Sport to Eco, with the most [3, pp. 29 to 31]. Custom mode is set from a phone [3, p. 31].
- Mode
- Eco
- Regen when the throttle is released
- “greater regenerative braking”
- Source
- [1], p. 39
- Mode
- Eco
- Regen when the throttle is released
- “increases the amount of regeneration”
- Source
- [2], p. 42
- Mode
- Sport
- Regen when the throttle is released
- “decreases the amount of regeneration”
- Source
- [2], p. 42
- Mode
- Eco
- Regen when the throttle is released
- “increases the amount of regeneration”
- Source
- [3], p. 29
- Mode
- Sport
- Regen when the throttle is released
- decreased compared to Eco
- Source
- [3], p. 30
- Mode
- Street
- Regen when the throttle is released
- greater than Rain, less than Eco and Sport
- Source
- [3], p. 30
- Mode
- Rain
- Regen when the throttle is released
- “the lowest amount” of the factory modes
- Source
- [3], p. 31
- Mode
- Custom
- Regen when the throttle is released
- set from a phone; starts with Street’s settings
- Source
- [3], p. 31
Page numbers are the PDF’s own. No manual gives a figure for any mode, and none describes regen from the brake lever.
What the dash shows
The Gen2 dash has a REGEN meter which, in the manual’s words, “indicates the amount of TORQUE on the rear wheel and the POWER (energy) feeding back into the battery” during regenerative braking [1, p. 29]. The SR/F splits it in two. Its torque meter shows the torque at the rear wheel “while accelerating (output) or decelerating (regen)” [3, p. 36], and its power meter shows the rate at which energy is “feeding back into the power pack” [3, p. 37].
On the SR/F a traction function also acts on regen. When the wheel speed sensors report the rear wheel slipping as the bike slows, drag torque control raises or lowers the regenerated power [3, p. 95].
How regen is recorded
Regen is current flowing into the pack. The logs write current as positive out of the pack and negative into it, so regen is a negative battery current while the bike is moving. Two sources record it, at very different rates.
The ZeroLogs Android app, connected to a Gen2 Zero over Bluetooth, reads the main board every 1.3 s. Each reading carries the signed battery current, the pack voltage and the brake switch, so it sees every regen event and whether the lever was on [4]. A Gen3 bike sends coast regen and brake regen as two separate fields, but their units are not verified yet, and nothing on this page uses them.
The MBB log writes a Riding record once a minute, with the battery current (BattAmps) and the pack voltage. The BMS writes a Discharge level row about as often, with its own reading of the current. Neither has a brake bit.
- Interval
- 1.3 s median, 1.6 s at the 90th percentile
- Regen
- Signed battery current and pack voltage
- Brake
- Brake switch, in every reading
- Interval
- 1.0 s
- Regen
- None: GPS speed and altitude, and a barometer on 4 of the 7 phones
- Brake
- None
Riding record- Interval
- 60 s
- Regen
BattAmpsand pack voltage- Brake
- None
Discharge level row- Interval
- About 60 s
- Regen
- Its own reading of the current, and the SoC
- Brake
- None
- Interval
- 1.5 s
- Regen
- Coast regen and brake regen as two fields; units not verified
- Brake
- Not used yet
Measured on the same bikes in the same weeks [4]. The BMS interval is the one in the example log below.
What a once-a-minute record can tell
A regen event lasts 3 to 10 s, so a reading once a minute lands on about one in ten. To see what that does to a total, the regen energy of the same rides was added up twice: from every Bluetooth reading, and from one reading a minute, with the minute starting at each of its 60 seconds in turn [4].
Read once a minute, a bike’s regen total came out anywhere from about a quarter to about twice the real figure. Over many rides the log can give a rough total. It cannot say which slowdown the regen came from, and with no brake bit it cannot split the lever from the throttle.
| Bike | Every reading | Once a minute, 5th to 95th percentile |
|---|---|---|
| DS 2016 | 654 Wh | 352 to 852 Wh |
| DSR 2016 | 777 Wh | 634 to 933 Wh |
| FXS 2016 #1 | 125 Wh | 59 to 201 Wh |
| FXS 2016 #2 | 113 Wh | 29 to 245 Wh |
| S 2023 | 132 Wh | 36 to 213 Wh |
| SR 2017 | 367 Wh | 236 to 501 Wh |
Each bike’s rides in the sample, summed. The range comes from starting the minute at each of the 60 possible seconds [4].
Reading the log lines yourself
The lines below are the first 11 minutes of the descent in the worked example, from both logs. What to look for:
- The sign. In a
Ridingrecord,BattAmpsabove zero is the pack driving the motor and below zero is regen. The BMSDischarge levelrow uses the same sign and keeps its name whichever way the current flows. A negative current with the bike parked on a charger is charging; the current alone cannot tell that from regen, but the record type and the speed can. BattAmpsagainstMotAmps.BattAmpsis measured at the pack andMotAmpsin the motor’s windings, on the other side of the controller, so the two never match (see Riding & Regen Data). Read regen fromBattAmps.- One reading is one moment. At 11:23:32 the BMS reads +8.77 A, out of the pack; ten seconds later the main board reads −13 A, into it. Both can be right, because the current changes within seconds.
- The SoC on a descent. Here it climbs from 49% to 55% while the current adds up to much less (see the worked example). To judge what a descent gave back, add up the current: amps times minutes, divided by 60, gives amp-hours.
Discharge Cutbackfollowed by a line with an amp figure, such as446A, is the BMS stating the discharge current it allows at that moment. On this bike it reads 446 A while the ride never drew more than 70 A, so it limited nothing. It is routine on this bike, not a fault.- Small currents do not show over Bluetooth. The battery current never reads 1 or 2 A; it steps from 0 to ±3 A, so regen under about 0.3 kW does not register [4].
Riding records, 11:21 to 11:3211:21:42 MBB Riding 17.0 km/h -2 A SoC 49% 102.973 V11:22:42 MBB Riding 22.6 km/h -4 A SoC 50% 103.157 V11:23:42 MBB Riding 29.3 km/h -13 A SoC 50% 103.646 V11:24:42 MBB Riding 0.0 km/h 0 A SoC 51% 102.936 V11:25:42 MBB Riding 0.0 km/h 0 A SoC 51% 102.888 V11:26:42 MBB Riding 15.7 km/h 0 A SoC 51% 102.882 V11:27:42 MBB Riding 29.2 km/h -12 A SoC 52% 103.912 V11:28:42 MBB Riding 24.3 km/h 2 A SoC 53% 103.065 V11:29:42 MBB Riding 33.5 km/h -14 A SoC 54% 104.228 V11:30:42 MBB Riding 27.8 km/h -12 A SoC 55% 104.130 V11:31:42 MBB Riding 29.1 km/h -12 A SoC 55% 104.208 V
Battery current (BattAmps) in A, positive out of the pack. Columns trimmed: the raw record also carries MotAmps, the four temperatures, the motor rpm and the odometer.
Discharge level rows, same minutes11:21:32 BMS Discharge level -0.50 A SoC 49% max cell 3.676 V11:22:32 BMS Discharge level 10.48 A SoC 50% max cell 3.668 V11:23:32 BMS Discharge level 8.77 A SoC 50% max cell 3.666 V11:24:32 BMS Discharge level 0.50 A SoC 51% max cell 3.679 V11:25:32 BMS Discharge level 0.50 A SoC 51% max cell 3.677 V11:26:32 BMS Discharge level 0.60 A SoC 51% max cell 3.676 V11:27:32 BMS Discharge level -6.85 A SoC 52% max cell 3.703 V11:28:32 BMS Discharge level -15.63 A SoC 53% max cell 3.722 V11:29:32 BMS Discharge level -13.31 A SoC 54% max cell 3.734 V11:30:32 BMS Discharge level -13.71 A SoC 54% max cell 3.737 V11:31:32 BMS Discharge level -10.58 A SoC 55% max cell 3.735 V
The current is the BMS’s own reading, positive out of the pack. Ten seconds apart from the main board’s records, it often disagrees with them.
What 19 rides measured
The data is 19 rides of five minutes or more on six Gen2 bikes, 498 km and 11.1 hours in all, recorded by the ZeroLogs app over Bluetooth between 14 and 31 October 2026. Ten bikes sent readings in that time, eight Gen2 and two Gen3: a DS, a DSR and two FXS from 2016, a DSR and an SR from 2017, an FX from 2018 and an S from 2023, then an SR/F from 2020 and an SR from 2024. Six of the Gen2 bikes had rides long enough for the energy balance [4].
Back into the pack: 6.7% of the energy the motor took, 4.3 Wh/km, over all 498 km. Per bike, 4.4 to 8.8% on rides of 13 to 45 km. The three short town rides of one FXS, 10 km in all, got 21.6% back. Without regen the same rides would have used about 7.2% more energy.
Measured or worked out
Measured numbers come straight from the bike’s readings: current, voltage, brake switch, speed. Worked-out numbers are calculations on top of them, and each one says what it assumes. The sample is small: 19 rides on six bikes over two and a half weeks.
Brake lever or throttle release
On the four bikes with coast regen at 0%, 83 to 97% of the regen energy came with the lever on. On the three with coast regen at 50 to 66%, 19 to 52% did. Without the lever, the bikes with coast regen set above 0 showed regen in 11 to 14% of their readings; those at 0 in 0.4 to 5.9%.
The current is not always negative with the lever on, because regen fades at low speed. No lever reading under 15 km/h showed regen (680 readings). Between 15 and 30 km/h, 29% of the lever readings showed none, and above 30 km/h, 2%.
- Lever on, share of readings
- 9.1%
- Readings with regen, lever on
- 72%
- Readings with regen, lever off
- 11.0%
- Coast / brake regen setting
- 50% / 100%
- Lever on, share of readings
- 7.1%
- Readings with regen, lever on
- 66%
- Readings with regen, lever off
- 14.3%
- Coast / brake regen setting
- 50% / 100%
- Lever on, share of readings
- 5.4%
- Readings with regen, lever on
- 57%
- Readings with regen, lever off
- 14.1%
- Coast / brake regen setting
- 66% / 100%
- Lever on, share of readings
- 30.3%
- Readings with regen, lever on
- 71%
- Readings with regen, lever off
- 5.9%
- Coast / brake regen setting
- 0% / 100%
- Lever on, share of readings
- 15.5%
- Readings with regen, lever on
- 39%
- Readings with regen, lever off
- 1.0%
- Coast / brake regen setting
- 0% / 100%
- Lever on, share of readings
- 14.9%
- Readings with regen, lever on
- 62%
- Readings with regen, lever off
- 0.7%
- Coast / brake regen setting
- 0% / 100%
- Lever on, share of readings
- 16.2%
- Readings with regen, lever on
- 56%
- Readings with regen, lever off
- 0.4%
- Coast / brake regen setting
- 0% / 100%
The settings are the two fields the bike reports as its Eco mode’s regen limits [5]. A Gen2 bike does not send the mode it is in, so matching them to the riding is consistent but not proof [4].
The brake bit is the brake-light switch
Front lever or rear pedal, either one sets it. It says nothing about how hard the rider squeezes [4].
How hard regen can slow the bike
Regen power at the battery grows with speed (table). Divided by the speed, it gives a force at the wheel that stays nearly the same at every speed: 200 to 350 N with the lever. On a bike with its rider that slows you at about 0.8 to 1.6 m/s², 0.08 to 0.16 g. The power is measured; the force and the deceleration are worked out from it [4].
The distance to stop at a steady deceleration is speed² ÷ (2 × deceleration). From 50 km/h on regen alone that is about 95 m at 1 m/s², 120 m at 0.8 m/s² and 60 m at 1.6 m/s². Any firmer stop needs the friction brakes for the difference. Below 15 km/h there is no regen at all, so the last metres of every stop are friction: from 50 km/h that part holds 9% of the motion energy, from 30 km/h 25%.
| 20 to 35 km/h | 35 to 50 km/h | 50 to 70 km/h | |
|---|---|---|---|
| With the lever | 1.4 to 2.3 kW | 2.1 to 3.5 kW | 2.9 to 3.6 kW |
| Without the lever (coast regen 50 to 66%) | 0.7 to 1.2 kW | 1.0 to 1.8 kW | 1.4 to 2.5 kW |
Each range spans the bikes. Power divided by speed gives the force at the wheel; with the lever it stays between 200 and 350 N in every band [4].
Where a slowdown’s energy goes
A slowdown here is the speed falling by 8 km/h or more with the throttle off; 652 were recorded. The energy it has to lose is its motion energy plus the height it drops (from the phone’s barometer, or GPS altitude where the phone has none). That energy goes three ways. The air and the tyres take some while the bike still covers ground, which is the best use of it. Regen puts some into the pack, read at the battery and divided by 0.85 to count it at the wheel. The friction brakes take the rest [4].
Two of the three parts are worked out. Air and tyres use a drag area of 0.40 m² (0.55 m² in brackets), a rolling coefficient of 0.012 and an 85 kg rider. The brakes are what is left, so they move with the mass, the drag area and the 0.85 efficiency.
Slowdowns that do not end in a stop were done almost entirely with regen. Stops left about a fifth of their energy in the brakes. Descents left the most: riders used the lever more downhill, and regen could not hold the bike on its own.
Above 60 km/h the same arithmetic gives the brakes a negative share (−11% at 0.40 m², −26% at 0.55 m²). There the air takes most of the energy and the guess at the drag decides the answer, so this page gives no split for faster slowdowns until each bike’s drag is measured.
- Count
- 93
- Air and tyres
- 29% (34%)
- Regen
- 47%
- Friction brakes
- 24% (19%)
- Share of the regen with the lever
- 54%
- Count
- 286
- Air and tyres
- 38% (46%)
- Regen
- 56%
- Friction brakes
- 5% (−2%)
- Share of the regen with the lever
- 59%
- Count
- 80
- Air and tyres
- 24% (28%)
- Regen
- 35%
- Friction brakes
- 41% (37%)
- Share of the regen with the lever
- 74%
Regen and the lever share are measured; air and tyres and the brakes are worked out with a drag area of 0.40 m² (0.55 m² in brackets), a rolling coefficient of 0.012 and an 85 kg rider. A descent is a slowdown whose height lost is worth more than half its motion energy [4].
Traffic lights and other stops
Each stop and slowdown was matched to OpenStreetMap at the point where it ended [6]. 99 of the 164 stops, 60%, were at traffic lights, with a median wait of 17 s.
Stops at a traffic light left 17% of their energy in the brakes. Stops where nothing was mapped (queues, unsignalled junctions, parking) left 43%. The data has no other vehicles in it, so traffic itself is not visible; the stops with nothing mapped are the closest it gets. OpenStreetMap coverage also varies: 45 of the 164 stops matched nothing.
| Place | Stops | Median wait |
|---|---|---|
| At a traffic light | 99 | 17 s |
| Nothing mapped (queues, unsignalled junctions, parking) | 45 | 25 s |
| Zebra crossing | 12 | 11 s |
| Stop or give-way sign | 4 | 13 s |
| Roundabout | 4 | 6 s |
Matched to OpenStreetMap where the stop ended: a traffic light within 45 m, a roundabout within 60 m of its centre, a sign within 30 m, a zebra crossing within 20 m [6].
- Count
- 56
- Regen
- 52%
- Friction brakes
- 17%
- Count
- 27
- Regen
- 32%
- Friction brakes
- 43%
- Count
- 48
- Regen
- 51%
- Friction brakes
- 14%
- Count
- 44
- Regen
- 54%
- Friction brakes
- 6%
- Count
- 130
- Regen
- 59%
- Friction brakes
- 1%
Using regen on a trip to keep the range
When you want to lose speed, three things can take the energy of the moving bike: the air and the tyres, regen, and the friction brakes. For range they rank in that order.
Energy the air and the tyres take while the bike keeps rolling is energy you would otherwise have spent with the throttle to cover the same ground. Lifting early, with the throttle held where it neither drives nor regenerates [1, p. 37], lets the air take the slowdown over distance. The study did not put a number on this.
Regen comes second. The measured stops returned about 47% of their energy at the wheel and 40% at the battery, and that energy passes through the controller and the motor again on its way back to the wheel. The range calculator on this site counts 45% of a stop’s energy as recovered [7], which the measurements do not contradict.
The friction brakes come last. Everything they take becomes heat.
- Look ahead and lift early. From 50 km/h, a stop that regen can do alone starts about 95 to 120 m before the line. The part under 15 km/h is friction whatever you do.
- On a bike with coast regen low or off, the lever is what turns regen on: there, 83 to 97% of the regen came with the lever. Brake regen follows the switch, which does not know how hard you pull [4]; friction grows with how hard you pull. A long, gentle stop with the lever puts more into the pack than a short, hard one.
- On a descent, let regen hold the speed. With the lever it pushes back with about 200 to 350 N. Gravity pulls 218 kg of bike and rider down a 10% grade with about 213 N and down a 15% grade with about 317 N, so on steeper roads, or with more weight, regen alone cannot hold the speed and the brakes take the rest. On the measured descents they took 41% of the energy.
- A pack near full takes less charging current [8], and regen is charging current. On a descent straight after a full charge expect less regen and more work for the brakes. How much less on each Zero has not been measured yet.
- Do not read the range you gained from the SoC on the way down. Add up the current, as the worked example shows.
| Grade | Pull down the slope | Regen alone holds the speed? |
|---|---|---|
| 5% | 107 N | Yes |
| 10% | 213 N | Only on bikes with the stronger regen |
| 15% | 317 N | Only on bikes with the stronger regen |
| 20% | 419 N | No, the brakes take the rest |
Pull = m × g × sin(atan(grade)). Air and tyres also hold the bike back, a few tens of newtons at descent speeds, which this table leaves out.
Regen does not replace the brakes
It fades below 15 km/h and with a full pack, Gen3 traction control can reduce it on a slippery road [3, p. 95], and on the bike in the worked example it stopped each time the pack was disconnected. Keep the friction brakes for stopping.
Worked example: a 500 m descent on a 2016 FXS
The bike is a 2016 FXS with a ZF6.5 pack, about 52 Ah by its BMS, ridden down about 500 m of mountain road in some 25 minutes, from 783 m to about 276 m, with regen set to its maximum by the rider's account (the log does not record the setting). A phone recorded the route and the bike wrote its MBB and BMS logs. The bike restarted several times on the way down. The steps below follow the logs in time order [9].
- 111:20 to 11:31, the first 4 km, from 783 m down to 612 m. The
Ridingrecords show 0 to 34 km/h and a battery current mostly negative: regen. The SoC climbs from 49% to 55%. - 2Add up the current instead. The BMS’s readings over those 11 minutes come to about 0.66 Ah into the pack, 1.3% of 52 Ah. Read once a minute, that is a rough figure, but physics gives a hard ceiling: 171 m of drop holds about 100 Wh for 218 kg of bike and rider, about 1.0 Ah at this pack’s 103 V, before the air, the tyres, the brakes and the losses take their share. The SoC rise is worth about 3.1 Ah, three times that ceiling. The log does not say why the SoC moved so fast; it shows that it did.
- 311:32:26: the BMS logs
CAN Link Is Down. The main board has stopped talking to it. Six seconds later the BMS still reads −14.5 A flowing into the pack. It waits 19 s, logsDisabling Due to lack of CAN control messages, and 10 s after that opens the contactor, which disconnects the pack from the motor controller. - 4On the main board the same event reads
Reset: Power-Onwith noKey Offbefore it: the board started again without the key being turned. Its start-up lines (Reset: Power-On,Power On,Key On) are written before the board has read its clock, so their times are filled in by the parser [10]; here they sit 5 to 48 s before the BMS saw the link go. The BMS’sCAN Link Is Downis the time to trust. - 5The bike comes back. The BMS zeroes its current sensor and starts again, the main board finds the pack disabled (
BMS 0 Internal Disable Received,Cannot Connect Module 00!), and the contactor closes 47 s after the link went down. At the second restart the throttle was open as the bike came up, and the main board loggedHigh Throttle Disable. - 6It happens four times in nine minutes, with the same lines in the same order and the same 19 s and 10 s waits. In the BMS reading nearest each link drop, current was flowing into the pack at three of the four. By the current the BMS printed in its
Disablingline, at two. - 7Temperatures stay normal throughout: motor 42 to 47 °C, controller 34 to 37 °C, pack 33 to 34 °C, highest cell 3.75 V. The manual says the BMS stops the bike above a pack temperature of 60 °C [1, p. 118]. The short climb at the end of the ride, 70 A at 11:44:54, took the motor to 57 °C, ten degrees more than anything on the descent.
- BMS current nearest in time
- −14.5 A, 6 s after
- Current in the BMS “Disabling” line
- −2.3 A
- Last main-board Riding record
- 11:31:42: 29.1 km/h, −12 A
- Contactor open to closed
- 11:32:55 to 11:33:13
- BMS current nearest in time
- −6.6 A, 9 s before
- Current in the BMS “Disabling” line
- +0.7 A
- Last main-board Riding record
- 11:33:19: 20.9 km/h, +7 A
- Contactor open to closed
- 11:34:47 to 11:35:10
- BMS current nearest in time
- −8.8 A, 7 s before
- Current in the BMS “Disabling” line
- −8.7 A
- Last main-board Riding record
- 11:37:15: 11.7 km/h, +12 A
- Contactor open to closed
- 11:38:42 to 11:38:56
- BMS current nearest in time
- +0.6 A, 28 s after
- Current in the BMS “Disabling” line
- +0.6 A
- Last main-board Riding record
- 11:41:01: 0 km/h, 0 A
- Contactor open to closed
- 11:41:53 to 11:43:49
Negative current is flowing into the pack. The “Disabling” line is cut short by the firmware: Dischg Cur: -2318m is read as −2.318 A.
11:31:42 MBB Riding 29.1 km/h -12 A SoC 55%11:31:51* MBB Reset: Power-On11:32:01* MBB Power On11:32:11* MBB Key On11:32:26 BMS CAN Link Is Down11:32:32 BMS Discharge level -14.52 A SoC 56%11:32:45 BMS Disabling Due to lack of CAN control messages Dischg Cur: -2318m11:32:55 BMS Contactor was Opened 103.646 V11:32:55 BMS Opening Contactor Due to lack of CAN control messages Dischg Cur11:32:55 BMS System Turned Off11:33:02 BMS Current Sensor Zeroed11:33:08 BMS System Turned On11:33:09 MBB BMS 0 Internal Disable Received11:33:11 MBB Sevcon Turned On11:33:13 MBB Cannot Connect Module 00! modv=0mV, maxv=0mV, minv=42949672911:33:13 MBB Module 00 Contactor is now Closed11:33:13 BMS Contactor was Closed 103.494 V11:33:19 MBB Riding 20.9 km/h +7 A SoC 56%
Selected lines; the BMS also logs its state changes. * The parser filled in these times: the main board writes its start-up lines before it reads its clock [10].
What the log does not show
A long descent with regen at its maximum suggests heat. The log does not show it: no temperature warning, and every reading far from a limit. It does not say why the main board restarted either. Nothing in it rules in or out the board’s 12 V supply, a connector, or the board itself. The cause is not established.
Across all the bikes whose logs we hold, unexpected main-board restarts while moving are not tied to regen. There were 50 on 9 bikes (no Key Off in the 120 s before, last Riding record above 10 km/h): 6 in regen, 12%, and 34 with the pack driving the motor. Regen is 14.7% of moving Riding records, so a restart was no more likely during regen than at any other moment of riding [4].
To read a log like this one, treat a restart as one sequence across both logs and take its times from the BMS. On a descent, add up the current: the SoC can rise far faster than the current explains, and it is worked out again after each restart.
If your log shows this sequence
While the contactor is open the pack is cut off from the motor controller: no drive and no regen. Here that lasted 14 to 23 s at the first three restarts and 1 min 56 s at the fourth, when the last record before it showed the bike standing. On a descent the friction brakes are all you have for that time. Show the sequence to whoever services the bike.
Frequently asked questions
How much range does regen give a Zero?
On 19 measured rides it put back 6.7% of the energy the motor used: 4.4 to 8.8% per bike on rides of 13 to 45 km and 21.6% on short town rides. Without it the same rides would have used about 7.2% more. The sample is small, and your roads change the figure.
Does pulling the brake lever give more regen on a Zero?
On the Gen2 bikes measured, yes. The brake switch triggers brake regen, set to 100% on all seven, and with the lever on 39 to 72% of the readings showed regen. Zero’s manuals describe regen from the throttle only.
Why does the battery percentage go up so fast on a descent?
Regen does put charge back, but the SoC figure can climb faster than the current explains. On one 2016 FXS it rose 6 points in 11 minutes, about three times more than the drop could have given. Add up the battery current to know what you got back.
Why is there no regen at low speed?
No reading under 15 km/h showed regen, even with the lever on, so the last metres of every stop are done by the friction brakes.
Is it better to coast or to use regen?
Coast when you can. Energy the air takes while you keep rolling still carries you forward, while regen returned about 40% of a stop’s energy to the battery. Regen is better than the friction brakes, which return nothing.
Can I see regen in my Zero’s logs?
Yes, as a negative BattAmps in the MBB Riding records and a negative current in the BMS Discharge level rows. Both come once a minute, so they catch about one regen event in ten and have no brake bit.
Manual pages are the PDF’s page numbers, checked against each PDF on 2026-10-31. The measurements come from riders’ own rides recorded with the ZeroLogs app, exported without VINs.
Sources:
- [1] Zero Motorcycles: 2016 Zero FX and FXS owner manual (OM-XMX-MY16-English-04), pp. 29, 37, 39 and 118 (opens in a new tab)
- [2] Zero Motorcycles: 2019 Zero FX and FXS owner manual (OM-XMX-MY19-04), p. 42 (opens in a new tab)
- [3] Zero Motorcycles: 2020 Zero SR/F owner manual (OM-SRF-MY20), pp. 25, 29 to 31, 36, 37 and 95 (opens in a new tab)
- [4] Zero Logs Analyzer: regen measured on 19 rides of six Gen2 Zeros, 14 to 31 October 2026 (opens in a new tab)
- [5] Zero Logs Analyzer: MbbR, the Gen2 Bluetooth read with the brake bit and the Eco-mode limits (opens in a new tab)
- [6] OpenStreetMap contributors, map data under the ODbL (opens in a new tab)
- [7] Zero Logs Analyzer range calculator (/range) (opens in a new tab)
- [8] Zero Logs Analyzer: charging a Zero, the CC and CV phases (opens in a new tab)
- [9] The MBB and BMS logs of one 2016 FXS, published by its owner without the place, the date or the VIN (opens in a new tab)
- [10] Zero Logs Analyzer: log anatomy, the start-up lines that have no clock of their own (opens in a new tab)
An independent reference, not affiliated with or endorsed by Zero Motorcycles, Inc. The measured figures come from a small sample of riders’ own rides and are not a specification. Your owner manual comes first, and regen does not replace the brakes.