Unlatch the frunk and roll down the driver's window (if you are in a garage). Your 12V battery is about to die. When the BMS detects one of these critical errors, the first thing it does is open the contactors inside the battery pack which stops flow of electricity to and from the pack. The car won't charge and it also won't support the 12V battery with the DCDC Charger even though all of the 12V systems (like the computer/MCU) are running and rapidly draining the 12V. When your High Voltage battery fails, you will see several, sometimes dozens of errors on the MCU screen. At least a few of those will be about the 12V battery not being supported or needing to be be replaced. The 12V errors are really not the concern but to save the 12V battery from being run into the ground, you need to disconnect it and/or get it on an external charger but before you can do that, you have to be able to open the frunk. You will be much happier opening that with a MCU or fob instead of Googling how to open the frunk with a dead battery.
Tesla's Battery Management System (BMS) processes a massive amount of information about the HV battery and controls pretty much everything about it including when the BMS will throw an error that will cause the car to shut down. Tesla does much of this in the interest of safety and it works because fires and other catastrophic events in Teslas are extremely rare. We'll talk about the individual errors more below but in brief, MANY different things can cause a 'battery failure'. Some are relatively good news and some are much worse. Depending on what supporting data you get from Scan My Tesla you will have an idea on where on the 'bad' scale you might be. You should also note that an external isolation error somewhere in the HV system will 'shut down' the pack even though the pack itself is fine. These can happen when one of the HV components fail (drive motor, heater, AC, etc.). At a glance, the symptoms (i.e. 12V dead/dying, car won't run or charge) look the same but the combination of errors listed in Service Mode will be different. The diagnosis and repairs of non-battery issues are beyond the scope of this tutorial.
Even a large Battery Tender or trickle charger isn't strong enough to power the 12V when the car is powered up but the DCDC isn't supporting it. The 12V runs a LOT of things and not having the DCDC support is like your ICE car operating without an alternator. The car would run and have basic function for a minute or two but very quickly the coils or fuel pump would run out of juice and the engine would die. You need at least 10Amps on a charger and preferably a 2nd big 12V in parallel (jumper cables) with a heavy charger hooked to that. For most of the duration of your repair, you will simply have the 12V disconnected where you can top it off with a basic trickle charger but you do need it supported by a heavy charger while you power up the car during the diagnosis to read the errors in Service Mode and to pull the SMT data and hopefully make some guesses as to what has gone wrong.
This alert shows 'maximum battery charge level reduced - OK to drive'. This typically happens when the BMS determines the CAC (Calculated Average Capacity) of the bricks are no longer close enough. This is calculated over time and the error latches which means it needs to be reset after the repair is completed.
This alert is a close cousin to u029 but is based on short term voltage imbalance between bricks instead of calculated capacity. It will reset when the condition is no longer present but if the pack has been repaired and with modules balanced manually, it will usually need to sit overnight before it clears. In this condition, the contactors should close and the car should charge and drive (limited charging capacity and reduced range so you shouldn't need to support the 12V while it sits overnight. If you are having a BMB failure like the one discussed in the repair section, it isn't uncommon for this alert to trigger and then clear for a day or even a few weeks before it comes back. In that case, the capacitors on the BMB that measure the voltage are corroding and are making intermittent (progressively deteriorating) contact through the corrosion.
High Voltage sensor error detected. This is can happen for a couple of reasons. Like the other errors, packs with completely failed BMB boards can show f107 because they can't read any voltage from two bricks after the failure. This can also be because an actual sense wire has broken loose. The f107 code was originally a latching code because a sense wire can break loose but then regain contact resting on the collector plate. Recently, Tesla changed this to a non-latching code because of the prevalence in v2 packs - they want the cars to still be able to move under their own power. The sense wire will fall off with a bump or jolt to the car, but SMT might show 96 valid voltages when you check it. As mentioned, f107 is turning into the most common failure mode for v2 packs and seems especially common after the pack has been involved in an accident. Despite 'quadruple redundancy', their tiny sense wires tend to break off the copper pads on the ribbon cable. For v1 packs, the sense wires are stranded copper welded to the collector plates and failures are less common unless the pack has gotten wet (see below of f123)
This code typically appears when water gets inside the pack. This is an internal isolation error. It can come and go as water moves around and makes contact with things and will reset by itself when you dry things out or fix whatever mechanical defect was causing the low isolation. When this error comes and the pack is wet like you would find with a rusted fuse cover, there is no way to effectively 'dry' the pack without opening it, removing each module one at a time and actually drying it. You can't dry it blowing air through case or using rice or desiccant packs or heat lamps or draining water out of the umbrella valves. There are no shortcuts on water repair. Time is of the essence because the collector plates will start to rust and quickly make the modules and pack useless.
Tesla does do something called a 'tilt maneuver' when they get a rusty fuse cover but it is intended to make the pack safer to handle and ship. It definitely doesn't 'fix' the issue. To do the tilt maneuver, you basically take the side skirts off and remove the umbrella valves and lift the other side of the pack up high to let some water drain out. While it isn't a fix, it is a good idea to drain as much water as you can before you open the pack. As a reminder, packs with internal isolation errors (i.e. 'wet' packs) are extremely dangerous. Re-read the safety information before working on a wet pack.
Note - there are other external isolation faults that can happen with HV components that fail. The effect is the same - the BMS will open the contactors for safety which causes the HV battery to not support the 12V battery or let the car charge but fortunately, the problem in these cases is not inside the HV battery pack. A full explanation of troubleshooting those is beyond the scope of this website but there is a very informative NTSB bulletin here that can get you started.
Hopefully this page will include a comprehensive list of error codes someday but so far, I haven't found it. In the meantime, we will cover a few of the most common ones related to the HV Battery. First, some syntax:
BMS - 'Battery Management System' is a broad category but pertains to anything in the High Voltage system related to the High Voltage Interlock Loop (HVIL) so a BMS error may or may not pertain to the actual HV Battery Pack.
BMS_wXXX - the '_w' means the code is warning that there is an adverse condition. It hasn't taken any action yet (not shut the car down), but it could soon
BMS_uXXX - the '_u' means 'user' facing. It is generally more serious than a 'w'.
BMS_fXXX - the '_f' means the code has failed. When something related to the BMS has failed, it has usually shut off the car.
When there is an issue with the battery, several errors will pop up on the screen. Try to filter those visually and look for the 'f' and the 'u'. I wonder if that combination of letters is Tesla being cute?
These are generally out of the scope of this tutorial but provided here in case it helps anyone. These were provided by a friend that goes by Maven - many thanks! We just have adsp and dglab to identify
adsp_ Some sort of ______ fault
dglab_ Some sort of ______ fault
app_ Fault related to Autopilot Primary (APP)
aps_ Fault related to Autopilot Secondary (APS)
bccen_ Fault related to Central Body Controller (BCCEN)
bms_ Fault related to Battery Management System (BMS)
cc_ Fault related to Tesla Wall Connector (CC)
chgs_ Fault related to (Old Nose Cone Model S Only - if present) Slave/Secondary Onboard Charger (CHGS)
chg_ Fault related to Master/Primary Onboard Charger (CHG)
cp_ Fault related to Charge Port (CP)
das_ Fault related to the Driver Assistance System (DAS)
dcdc_ Related to the DC - DC system/process (DCDC)
dif_ Fault related to Front Drive Unit (DIF)
dir_ Fault related to Rear Drive Unit (DIR)
dis_ Fault related to Front Drive Unit (DIS)
di_ Fault related to Rear Drive Unit (DI)
eas_ Fault related to the Electronic Air Suspension (EAS)
efuse_ Fault related to E-Fuse Module (EFUSE)
epas_ Fault related to the Electronic Power Assist Steering (EPAS)
epbl_ Fault related to the Left Electronic Parking Brake (EPBL)
epbm_ Fault related to the Electronic Parking Brake Module (EPBM)
epbr_ Fault related to the Right Electronic Parking Brake (EPBR)
epb_ Fault related to the Electronic Parking Brake Module (EPB)
esp_ Fault related to the Electronic Stability Program (ESP)
eth_ Fault related to Ethernet (ETH)
fc_ Fault related to Fastcharger (CC)
gtw_ Fault related to the Gateway Module (GTW)
hvc_ Fault related to the High Voltage Controller (HVC)
hvp_ Fault related to the High Voltage Processor (HVP)
ibst_ Fault related to the Electromechanical Brake Booster, also known as iBooster (IBST)
mcu_ Fault related to the Media Control Unit (MCU)
osc1p_ Fault related to the Occupant Classification Sensor in a Seat (OCS)
park3_ Fault related to the
pcs_ Fault related to the Power Conversion System (PCS)
[Faults potentially related to Charging, Pre-Charge, Low Voltage Support]
plcrly_ Fault related to the Power-Line Communication (PLC) Relay
[Faults potentially related to Charging, Pilot Signal, Proximity Signal, EVSE Communication]
pmf/r/s_ Fault related to the Pedal Monitor (PM)(PMF)(PMR)
radc_ Fault related to the Forward Facing Radar (RADC)
[Typically calibration/misalignment issues]
rcm/rcm2_ Fault related to the Restraint Control Module (RCM)
[Faults potentially related to Airbags, Pre-tensioners, Buckles, Crash Sensors]
sccm_ Faults related to Steering Column Control Module (SCCM)
[Faults potentially related to headlights, wipers and control stalks]
scm_ Faults related to isolation and high voltage
scs_ Faults related to isolation and high voltage
sec_ Fault related to the Security Controller (SEC) [Faults potentially related to Security, Key fobs, Immobilizer]
[The SEC is not a standalone controller, it is typically integrated into an existing controller, such as BCCEN]
tas/tas2_ Fault related to Tesla Air Suspension (TAS)
thc_ Fault related to Thermal Controller (THC)
tpms_ Fault related to the Tire Pressure Monitoring System (TPMS)
ui_ Fault related to the User Interface (UI)
[i.e. the Wi-Fi fails to check internet or it indicate a warning light is illuminated]
umc_ Fault related to the Universal Mobile Charger (UMC)
usm_ Fault related to the Ultrasonic (USS) Parking Distance Sensors (USM)
vcfront_ Faults related to the Front Body Controller/Module (VCFRONT)
vcleft_ Faults related to the Left Body Controller/Module (VCLEFT)
vcright_ Faults related to the Right Body Controller/Module (VCRIGHT)
vc(various)_ Fault related to the Voltage Control where the expected voltage in various systems was not present.