C2921 on 2017-2021 Subaru Impreza: TPMS ID Registration Error Fixes
Code C2921 on a 2017-2021 Subaru Impreza means the Tire Pressure Monitoring System (TPMS) has failed to register a new sensor's ID. This commonly occurs after replacing a TPMS sensor. The fix requires a specialized TPMS tool to program the new sensor ID to the vehicle's computer via the OBD-II port.
- C2921 means a new TPMS sensor's ID has not been successfully programmed to the car's computer.
- The fix is not just replacing the sensor; it requires a TPMS programming tool to complete the registration via the OBD-II port.
- Ensure any replacement sensor is the correct 433 MHz frequency for this vehicle.
- A flashing TPMS light indicates a system fault (like C2921), while a solid light just means low tire pressure.
- Due to the need for special tools, this repair is best left to a professional tire shop or dealership.
What's Unique About the 2017-2021 Subaru IMPREZA

For the 2017-2021 Impreza (fifth generation), which is built on the Subaru Global Platform, Subaru uses a 433 MHz TPMS system. Unlike some vehicles that can 'relearn' new sensors automatically by driving, this Subaru platform almost always requires a specific programming procedure using a TPMS scan tool to write the new sensor IDs to the control module. A Technical Service Bulletin (TSB 05-78-20) was issued to provide dealers with more detailed diagnostic steps for this exact code, highlighting that the issue is common enough to warrant special procedures for the Impreza and its platform mates.
Diagnostic Flowchart

Tap your situation to follow the diagnostic path that matches what you're seeing on this vehicle.
Symptoms You May Notice

- TPMS warning light flashes for approximately one minute (or 25 times) and then stays on solid.
- Tire pressure readings may not display on the multi-function display.
- Inability to clear the TPMS warning light even after correcting tire pressures.
- Assuming the car will 'auto-learn' the new sensors. Many owners and even some shops replace the sensor but fail to perform the required OBD-II registration step, leading to the C2921 code returning. 🎬 See this quick walkthrough of the Subaru TPMS relearn process A Reddit thread details this exact experience, where an owner drove for over a week expecting the sensors to register automatically, but they never did.
- Replacing other TPMS sensors when only one has failed. A proper diagnosis with a TPMS tool can pinpoint the exact faulty sensor, saving money on unnecessary parts. TSB 05-85-21R confirms sensors can be replaced individually.
Most Likely Causes

- New TPMS Sensor Not Programmed 🔴 High Probability This often happens after replacing a dead or damaged sensor, or when swapping to a new set of wheels 🎬 Watch: How to program new sensors after a wheel swap (e.g., winter tires). The system does not automatically learn the new sensor IDs without a manual OBD-II registration step, a fact that surprises many owners and even some technicians.
How to confirm: Use a TPMS scan tool to read the sensor IDs stored in the vehicle's TPMS module and compare them to the IDs broadcast by the sensors in the wheels. If they don't match, programming is required. A Reddit user with a 2020 Impreza confirmed their scanner showed the old IDs were still stored after sensor replacement, which directly led to code C2921.
Typical fix: Use a compatible TPMS tool (like an Autel TS508 or ATEQ VT-series) to perform the 'relearn' or 'registration' procedure. This involves reading the new sensor IDs from each wheel and then writing them to the TPMS control module via the OBD-II port.
Est. part cost: $0 (if you own the tool), or included in labor cost at a shop. - Failed TPMS Sensor 🟡 Medium Probability The internal batteries in TPMS sensors have a finite lifespan, typically 7-10 years. Subaru also issued a TSB (05-85-21R) for 2017-2021 models due to original sensors being prone to premature failure from moisture damage. This TSB announced a new sensor design with enhanced moisture resistance.
How to confirm: Use a TPMS activation tool to try and read data (ID, pressure, temperature, battery status) from each wheel sensor. The sensor that does not respond is faulty. A low battery status can also be an indicator of imminent failure.
Typical fix: Replace the failed TPMS sensor. TSB 05-85-21R explicitly states that sensors do not need to be replaced as a set. The new sensor must then be programmed to the vehicle, which if not done, will result in code C2921.
Est. part cost: $40-$90 per sensor. - Incorrect or Incompatible TPMS Sensor ⚪ Low Probability The 2017-2021 Impreza requires 433 MHz sensors. Installing the older 315 MHz sensors or an incompatible aftermarket brand will prevent registration and trigger the C2921 code. Some TPMS programming tools may even have incorrect information, leading a technician to program for the wrong frequency, as noted by a WRX owner (a platform mate).
How to confirm: Verify the part number or frequency of the installed sensor. A TPMS tool can also identify the frequency it is broadcasting at. The correct OEM part number series is 28103FL00x.
Typical fix: Replace the incorrect sensor with a compatible 433 MHz OEM or reputable aftermarket sensor (e.g., Schrader, Continental/VDO, Huf, Autel) and perform the registration procedure.
Est. part cost: $40-$90 per sensor.
Rare But Worth Checking
- TPMS Control Module Fault: While rare, the control module that receives the sensor signals can fail. This usually happens if there is a communication failure with all sensors simultaneously, not just one. Diagnosis would involve checking power, ground, and communication lines to the module. The module is often located under the driver's seat or dash area.
- Radio Frequency (RF) Interference: Subaru's own diagnostic procedure for C2921 in TSB 05-78-20 mentions that if the code appears as a 'Past fault' after a test drive, it could be due to electromagnetic interference that makes ID registration difficult. This could be caused by aftermarket electronic devices in the car or external environmental factors.
Diagnosis Steps
- Connect a scan tool to the OBD-II port. Confirm that C2921 is the active code. Note any other TPMS-related codes, especially C2121-C2124.
- Use a TPMS activation tool at each wheel to trigger and read the sensor data (ID, pressure, temperature, battery status).
- If one or more sensors fail to respond, they are likely dead (or have a dead battery) and need replacement. Note the ID of any working sensors.
- If all sensors respond, use the scan tool to read the sensor IDs currently stored in the TPMS control module.
- Compare the stored IDs with the IDs you read from the sensors. If they do not match (e.g., after a sensor replacement), the new sensor ID needs to be programmed.
- Follow the specific procedure for your TPMS scan tool to perform the 'ID Registration' or 'OBD Relearn' function. This typically involves connecting the tool to the OBD-II port and writing the new sensor IDs to the module.
- If programming fails or the code returns, consult TSB 05-78-20. It provides advanced diagnostic steps using the Subaru Select Monitor to check specific data bits that indicate sensor health and registration status. For example, it instructs technicians to drive the vehicle over 25 MPH for 10 minutes until 'Bit 4 (PAL Condition)' becomes '0' before re-checking for the code.
- Clear all DTCs and perform a test drive (over 25 MPH for at least 10 minutes) to ensure the TPMS light stays off and the system is functioning correctly.
Parts You'll Likely Need
- TPMS Sensor
(OEM #28103FL00A or 28103FL00B)— This is the most common point of failure, either due to a dead battery or physical damage as noted in TSB 05-85-21R. It is the part that must be registered with the vehicle, and failure to do so causes code C2921. The original part number 28103FL00A has been superseded by 28103FL00B, and subsequently by 28103FL00C, 28103FL00D, and 28103FL00E, which offer improved moisture resistance.
Trusted brands: Subaru (OEM), Schrader, Continental/VDO, Huf, Autel
OEM price range: $70-$110
Aftermarket price range: $40-$70
Related Codes That Often Appear With This One
- C2121-C2124 — These codes correspond to a specific transmitter (FL, FR, RR, RL) not being received. TSB 05-78-20 explicitly states that if these codes are present as a past malfunction, diagnosis for them should be performed before tackling C2921. C2921 can be set as a result of one of these codes if the system fails to register a replacement sensor.
Technical Service Bulletins (TSBs) & Recalls
- 05-78-20: Announces additional diagnostic procedures for TPMS related DTC C2921, defining it as an 'ID Registration Error'. It details a specific test drive procedure and the use of a 'Bit Translation Table' for advanced diagnostics with the Subaru Select Monitor.
- 05-85-21R: Mentions updated sensors (part number 28103FL00B and newer) with better moisture resistance to prevent premature failure on 2017-2021 Imprezas and other models. It also confirms sensors can be replaced individually.
Platform-Specific Known Issues
- Subaru TSB 05-78-20 was released specifically to address diagnostics for DTC C2921, indicating it can be a tricky code to resolve without following the manufacturer's updated procedure, which involves using the Subaru Select Monitor to analyze specific data bits.
- Subaru TSB 05-85-21R notes that original sensors on 2017-2021 models can fail prematurely due to moisture intrusion, making sensor failure a more likely cause than on other vehicles.
- Owners swapping between summer and winter tire sets frequently encounter this code if they don't clone the original sensor IDs to the new set or perform an OBD relearn with a TPMS tool each time they swap wheels.
Mechanic-Grade Diagnostic Values
- Subaru Select Monitor 'Tire Status' Data Bit 4 (PAL Condition) — expected: 0 (after driving >25 MPH for 10+ minutes). Failure: If the bit remains '1', the system has not yet completed its pressure acquisition and learning cycle, and DTCs should not be considered final.
- Subaru Select Monitor 'Tire Status' Data Bits 2-0 (Status Code) — expected: 000 (Normal). Failure: Other values indicate specific faults: 001 (Pressure High), 010 (Pressure Low), 011 (Rapid Pressure Loss), 100 (Transmitter Failure).
Scan Tool Commands That Help
- Subaru Select Monitor: {Each System Check} -> {Tire Pressure Monitor} -> {Tire Pressure Monitor Diagnosis} -> {Transmitter ID regist confirm} — This is the OEM procedure to put the vehicle into learning mode to register new TPMS sensor IDs after replacement.
- Subaru Select Monitor: {Transmitter ID Data Monitor} — Use this function to view the sensor IDs currently stored in the TPMS control module to verify if they match the new sensors installed in the wheels.
Wiring & Ground Locations
- TPMS Control Module — Typically located under the driver's side of the instrument panel or potentially under the driver's seat.. If registration fails with known-good sensors and tools, a technician may need to access this module to check its power, ground, and communication line connectors for damage or corrosion.
- Connector i10 to R211 — Wiring harness between the TPMS control module (connector i10) and the combination meter (connector R211).. A diagnostic step for communication issues involves checking the resistance of the wiring between the TPMS module and the instrument cluster where the warning light is located.
Real Owner Repair Stories
- Reddit user on r/subaru (2020 Subaru Impreza Sport) — TPMS light on, initial code for low battery in one sensor. After replacing all sensors, code C2921 appeared.
❌ Tried (didn't work) Replacing only the one indicated bad sensor., Replacing all four sensors with new OEM parts and driving, assuming they would auto-register.
✅ What actually fixed it The owner, a former technician, realized the vehicle would not auto-learn the new sensor IDs. The fix required using a proper TPMS tool to perform the OBD-II registration procedure to write the new IDs to the car's computer. - Reddit user on r/2022wrx (2022 Subaru WRX (platform mate)) — Code C2921 immediately after a dealer installed winter wheels with new universal 433MHz sensors.
❌ Tried (didn't work) Having the dealer program the new sensors directly instead of cloning the original IDs., Attempting to reprogram the sensors using the '22 WRX profile on a Bartec TPMS tool.
✅ What actually fixed it The fix involved two key steps: 1) Programming the universal sensors using the profile for a '21 Outback, as the tool's '22 WRX profile was incorrect. 2) After programming, the light remained on after driving. Disconnecting the negative battery cable for one minute and reconnecting it forced a system reset, which finally cleared the light and allowed the car to recognize the sensors.
OEM Part Supersession History
28103FL00A→28103FL00B, 28103FL00C, 28103FL00D, 28103FL00E— The newer part numbers were developed with enhanced resistance to moisture, which could cause premature failure and TPMS light illumination on the original sensors.
Heads up: The newer parts are direct, backward-compatible replacements for the older numbers.
Model Year Variations Within This Range
- 2020-2021 vs 2017-2019: TSB 05-78-20 provides a specific, multi-step diagnostic flowchart for code C2921 that is explicitly applicable to the 2020-2021 Impreza. For earlier 2017-2019 models, the TSB provides a general 'Bit Translation Table' for interpreting TPMS data from the Subaru Select Monitor, but not the C2921-specific procedure.
Helpful Videos
We Have This Part in Stock
The information in this article is provided for general reference and educational purposes only. Vehicle specifications, procedures, and part compatibility can vary by production date, trim level, and region. Always consult your vehicle's factory service manual and verify part numbers before purchasing or performing repairs. Safety-critical components such as airbags, seat belts, and braking systems should be installed by a qualified professional.
- Subaru IMPREZA:
- 🎬 Helpful Videos
- 🛍️ Shop This Part
- What's Unique About the 2017-2021 Subaru IMPREZA
- Diagnostic Flowchart
- Symptoms You May Notice
- Most Likely Causes
- Rare But Worth Checking
- Diagnosis Steps
- Parts You'll Likely Need
- Related Codes That Often Appear With This One
- Technical Service Bulletins (TSBs) & Recalls
- Platform-Specific Known Issues
- Mechanic-Grade Diagnostic Values
- Scan Tool Commands That Help
- Wiring & Ground Locations
- Real Owner Repair Stories
- OEM Part Supersession History
- Model Year Variations Within This Range
- 🎟️ Get 5% Off