Technical Description of OBD-II Trouble Code
Module for Hybrid Battery Pack Sensor
What does that signify?
This is a generic diagnostic trouble code (DTC) that is applicable to many OBD-II vehicles (1996-newer). This includes vehicles from Toyota, Honda, Ford, Subaru, and others. Although it is a generic code, the specific repair steps may vary depending on the year, make, model, and powertrain configuration.
If your hybrid vehicle (HV) equipped with OBD II has stored a code P0AFC, it means that the powertrain control module (PCM) has detected a malfunction in the module for the hybrid battery pack sensor. This module is commonly known as the hybrid vehicle battery control module (HVBCM). This code should only appear in hybrid vehicles.
The main responsibility of the HVBCM (which interacts with the PCM and other controllers) is to monitor and control the high-voltage battery pack. The HV battery pack consists of twenty-eight (nickel metal-hydride) batteries, arranged in series with eight separate 1.2-volt cells. These high-voltage hybrid battery packs are connected in series using busbar connectors and sections of high-voltage copper cable.
The HVBMS is responsible for monitoring and calculating battery temperature, individual cell resistance, battery charge levels, and overall battery pack condition. It receives input data from each individual cell to monitor temperature and resistance levels in the battery pack. This information is used to regulate battery charge rates and operate battery cooling fans, among other functions. Each individual cell is equipped with an integrated ammeter/temperature sensor.
If the HVBMS indicates a malfunction in the HVBCM to the PCM, a code P0AFC will be stored and a malfunction indicator lamp may illuminate. Most vehicles will require multiple failure cycles before the malfunction indicator lamp illuminates.
A typical hybrid battery pack:

What is the severity of this DTC?
A failure in the hybrid battery pack sensor module/HVBCM (with a stored code P0AFC) could result in deactivation of the electric propulsion system. It is important to address the P0AFC code urgently.
What are some of the symptoms of the code?
Symptoms of a P0AFC trouble code may include:
What are some of the common causes of the code?
Possible causes for this code may include:
What are some P0AFC troubleshooting steps?
The high-voltage battery system should only be serviced by qualified personnel.
Before attempting to diagnose a code P0AFC, you will need access to a diagnostic scanner, a digital volt/ohmmeter (DVOM), and a source of HV battery system diagnostic information.
I recommend starting the diagnosis with a visual inspection of the HV battery pack and all controller area network (CAN) harnesses. Look for signs of corrosion, damage, or obvious open circuits. If any corrosion is present, remove it and repair or replace any defective circuitry. Before performing any battery load testing, ensure that there are no corrosion issues, all connections are secure, and the battery pack is fully charged.
Next, connect the scanner to the vehicle diagnostic connector and retrieve all stored codes and relevant freeze frame data. Record this information before clearing the codes and test driving the vehicle until the PCM either enters readiness mode or the code is reset.
If the PCM enters readiness mode (no codes stored) at this point, the code is intermittent and may be more difficult to diagnose.
If all controller power (input) and ground circuits are intact and there is no sensor power (output) supply voltage from the HVBCM/PCM, you may suspect a defective HVBCM/PCM or a controller programming error. Controller replacement will require reprogramming.
If there is no HVBCM supply voltage present, test all related controller power supply fuses and relays. Replace any defective components as necessary.
Any controller that shows signs of water, heat, or collision damage should be considered defective.