From Unofficial Zero Manual
Isolation Fault is jargon used on Zero Motorcycles systems to indicate a fault in some part of the system to isolate some HV electrical circuit from ground.
- It can also mean the more specific condition where an attempt to locate the fault failed, an attempt to isolate the cause to a component or sub-circuit.
- BMS isolation faults are indicated by a combination of codes 20, 28, and 29.
- On some part of the power system connected to the BMS at that moment, there is insufficient isolation (insulation) from ground.
- This can include anything on the 116V power cabling "bus".
- This is usually not a short, but can mean an imbalance that could compromise the bike's performance or safety.
- If left unattended to, it could deteriorate to a serious problem; in-build protections should shut down the bike prior to damage but this itself would be unsafe happening while riding.
- If the BMS reports a specific voltage in the logs with the isolation code, it means that a specific cell (the combined parallel cells at a particular level in the 28-cell series) has poor isolation to ground, roughly computable as "3.7V ⨉ N = logged voltage".
- Possible Aggravating Conditions
- Damp weather
- Dust or mud ingress
- Disconnect anything attached to the Accessory Charging Port.
- If the condition clears, check the attached equipment (chargers and cabling) for grounding isolation.
- Key the bike off and on slowly, waiting after each transition to see whether the condition clears.
- If the error occurs without or before the contactor is shut, then the fault is within the battery and might be due to moisture or dust entering the front of the battery faceplate where the BMS is.
- If the error clears after opening the contactor, then the fault is likely downstream of the contactor, including the Accessory Charging Port signal pins, the Sevcon controller, Sevcon DC-DC 110V->12V converter, and the MBB and DC-DC connections.
- Check for moisture on the Accessory Charging Port signal pins and attempt to dry them as necessary.
- After everything dries out and/or the isolation fault has disappeared apply dielectric grease to all connections that would be vulnerable to water ingres (under the seat, 12V connectors, etc)
- Controller Hypothesis
- Reference: via DoctorBass
- It might be the Sevcon Motor controller that is defective.
- The codes are related to BMS isolation fault - as an interpretation of a voltage present relative to the frame.
- A bad controller could have a single phase to the motor (M1, M2, M3 circuits) with a short to the heatsink.
- Apparently Sevcon and Zero are aware of this potential problem.
- The problem is apparently because the Kapton tape they use between MOSFET transistors' heatsink and the aluminum heatsink might be punctured and create intermittent low resistance contact to the controller chassis.
- Warranty replacements have been reported.
- Controller Isolation Diagnostic Procedure
- A dealer should be able to do this easily.
- Key off the bike and wait 10 minutes for the system to fully discharge.
- Remove the seat.
- Uncover the top of the Sevcon controller.
- Verify all inputs and outputs of the Sevcon controller are de-energized (zero/low voltage).
- Disconnect the cables from the controller (M1, M2, and M3, the Ampseal 34-pin connector, and B+ and B- to be extra careful) and cover the leads for safety.
- Check for continuity between each phase (M1, M2, and M3 terminals) and the controller heatsink plate.
- If you get continuity (low resistance reading), then controller is defective.
I got these same errors couple month ago.. problem was the SR controller bad isolation from the phase output to the aluminum plate of his body. Controller replaced and that solved the problem.. no more 20 28 and 29 error code from now. The code talk about BMS but in fact the voltage level the controller bad electrical isolation create make the BMS to think it's the battery but in my case it was not.
- Isolation Diagnostics test
- Access the MBB Console terminal
- Login via
- Execute the isolation test command with the verbose flag:
test isolation -v