Skip to main content
zerologs
Back to Learn Hub
Measured on real rides

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.

Last updated: October 31, 2026
~16 min read19 rides · 6 bikes · 498 km · 14 to 31 October 2026

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 Riding record 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].

What Zero’s manuals say about regen with the throttle closed, by mode
FX and FXS, 2016
Mode
Eco
Regen when the throttle is released
“greater regenerative braking”
Source
[1], p. 39
FX and FXS, 2019
Mode
Eco
Regen when the throttle is released
“increases the amount of regeneration”
Source
[2], p. 42
FX and FXS, 2019
Mode
Sport
Regen when the throttle is released
“decreases the amount of regeneration”
Source
[2], p. 42
SR/F, 2020
Mode
Eco
Regen when the throttle is released
“increases the amount of regeneration”
Source
[3], p. 29
SR/F, 2020
Mode
Sport
Regen when the throttle is released
decreased compared to Eco
Source
[3], p. 30
SR/F, 2020
Mode
Street
Regen when the throttle is released
greater than Rain, less than Eco and Sport
Source
[3], p. 30
SR/F, 2020
Mode
Rain
Regen when the throttle is released
“the lowest amount” of the factory modes
Source
[3], p. 31
SR/F, 2020
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.

Where the bike’s regen is recorded
ZeroLogs app, Gen2 bike over Bluetooth
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
ZeroLogs app, the phone itself
Interval
1.0 s
Regen
None: GPS speed and altitude, and a barometer on 4 of the 7 phones
Brake
None
MBB log, Riding record
Interval
60 s
Regen
BattAmps and pack voltage
Brake
None
BMS log, Discharge level row
Interval
About 60 s
Regen
Its own reading of the current, and the SoC
Brake
None
ZeroLogs app, Gen3 bike over Bluetooth
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.

Once a minute misses most regenOnce-a-minute total ÷ real totalDS 2016654 Wh; 352 to 852DSR 2016777 Wh; 634 to 933FXS 2016 #1125 Wh; 59 to 201FXS 2016 #2113 Wh; 29 to 245S 2023132 Wh; 36 to 213SR 2017367 Wh; 236 to 5010×0.5×1×1.5×2×1× = every reading
Measured on the same rides. Each bar spans the 5th to 95th percentile of the once-a-minute total over the 60 possible start seconds; the dot and the dashed line are the total from every reading (1×). The widest bar is FXS 2016 #2: 0.26× to 2.17×.
Regen energy of the same rides: every reading, and one reading a minute (measured)
BikeEvery readingOnce a minute, 5th to 95th percentile
DS 2016654 Wh352 to 852 Wh
DSR 2016777 Wh634 to 933 Wh
FXS 2016 #1125 Wh59 to 201 Wh
FXS 2016 #2113 Wh29 to 245 Wh
S 2023132 Wh36 to 213 Wh
SR 2017367 Wh236 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 Riding record, BattAmps above zero is the pack driving the motor and below zero is regen. The BMS Discharge level row 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.
  • BattAmps against MotAmps. BattAmps is measured at the pack and MotAmps in the motor’s windings, on the other side of the controller, so the two never match (see Riding & Regen Data). Read regen from BattAmps.
  • 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 Cutback followed by a line with an amp figure, such as 446A, 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].
MBB Riding records, 11:21 to 11:32
11: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.

BMS Discharge level rows, same minutes
11: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%.

Regen without the leverShare of moving readings, lever offCoast regen 50 or 66%SR 201711.0%DSR 201614.3%DS 201614.1%Coast regen 0%FXS 2016 #15.9%FXS 2016 #21.0%S 20230.7%FX 20180.4%0%8%16%readings with regen
Measured. The setting is the coast regen limit each bike reports for its Eco mode over Bluetooth; a Gen2 bike does not say which mode it is in, so the match is consistent, not proven. With the lever on, the same bikes showed regen in 39 to 72% of readings.
Lever and regen while moving, Gen2 bikes (measured)
SR 2017
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%
DSR 2016
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%
DS 2016
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%
FXS 2016 #1
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%
FXS 2016 #2
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%
S 2023
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%
FX 2018
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%.

From 50 km/h on regen alonebelow 15 km/h: brakes only02550km/h04080120metres after lifting1.6 m/s²: ~60 m1 m/s²: ~95 m0.8 m/s²: ~120 m
Worked out: speed falls as v² = v₀² − 2ad at the measured regen deceleration, 0.8 to 1.6 m/s² on a bike with its rider. The dots are where each stop ends, rounded to 5 m. The shaded band is the part of every stop that only the friction brakes can do.
Regen power at the battery by speed, 95th percentile of the regen readings (measured)
20 to 35 km/h35 to 50 km/h50 to 70 km/h
With the lever1.4 to 2.3 kW2.1 to 3.5 kW2.9 to 3.6 kW
Without the lever (coast regen 50 to 66%)0.7 to 1.2 kW1.0 to 1.8 kW1.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.

Where a slowdown’s energy goesslowdowns from 60 km/h or lessEnding in a stop, 9329%47%24%Not stopping, 28638%56%5%On a descent, 8024%35%41%air and tyresregenfriction brakes
Regen is measured at the battery and divided by 0.85 to count it at the wheel. Air and tyres are worked out with a drag area of 0.40 m², a rolling coefficient of 0.012 and an 85 kg rider, and the brakes are what is left. At 0.55 m² the brakes’ share would be 19%, −2%, 37%. Above 60 km/h the method gives the brakes a negative share, so it is not used there.
Where the energy of slowdowns from 60 km/h or less went (worked out)
Ending in a stop
Count
93
Air and tyres
29% (34%)
Regen
47%
Friction brakes
24% (19%)
Share of the regen with the lever
54%
Not stopping
Count
286
Air and tyres
38% (46%)
Regen
56%
Friction brakes
5% (−2%)
Share of the regen with the lever
59%
On a descent
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.

What the 164 stops of 2 s or more ended at (measured)
PlaceStopsMedian wait
At a traffic light9917 s
Nothing mapped (queues, unsignalled junctions, parking)4525 s
Zebra crossing1211 s
Stop or give-way sign413 s
Roundabout46 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].

Regen and brakes by place, slowdowns from 60 km/h or less (worked out)
Stop at a traffic light
Count
56
Regen
52%
Friction brakes
17%
Stop with nothing mapped
Count
27
Regen
32%
Friction brakes
43%
Slowdown into a roundabout
Count
48
Regen
51%
Friction brakes
14%
Slowdown at a traffic light, no stop
Count
44
Regen
54%
Friction brakes
6%
Slowdown with nothing mapped
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.
Gravity’s pull on 218 kg of bike and rider, against regen’s 200 to 350 N (worked out)
GradePull down the slopeRegen alone holds the speed?
5%107 NYes
10%213 NOnly on bikes with the stronger regen
15%317 NOnly on bikes with the stronger regen
20%419 NNo, 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].

  1. 111:20 to 11:31, the first 4 km, from 783 m down to 612 m. The Riding records show 0 to 34 km/h and a battery current mostly negative: regen. The SoC climbs from 49% to 55%.
  2. 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.
  3. 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, logs Disabling Due to lack of CAN control messages, and 10 s after that opens the contactor, which disconnects the pack from the motor controller.
  4. 4On the main board the same event reads Reset: Power-On with no Key Off before 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’s CAN Link Is Down is the time to trust.
  5. 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 logged High Throttle Disable.
  6. 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 Disabling line, at two.
  7. 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.
The descent, minute by minute50%54%58%SoC, main board, once a minute−15 A0 A10 ABMS current: out / in (regen)123411:2011:3011:40main board restart (BMS: link down)pack disconnected (contactor open)
Measured: the bike’s own logs. The main board and the BMS clocks agree to the second (every contactor line matches), so both panels share one time axis. The SoC climbs from 49% to 55% before the first restart while the current adds up to much less. Numbered lines: the four times the BMS lost the main board; shaded: the pack disconnected until the contactor closed again.
The four restarts, as both logs record them
11:32:26
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
11:34:18
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
11:38:13
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
11:41:24
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.

The first restart, both logs in time order
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.

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.