Go-Parts
Cart 0
Your cart is empty
Add an item to see it appear here.
Wrenchy
Go-Parts Garage
Expert guides for diagnosing, troubleshooting, and replacing auto parts Expert guides for diagnosing and replacing auto parts
Browse All →
🎬 Helpful Videos 🛍️ Shop This Part

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.

16 minutes to read 2017-2021 Subaru IMPREZA
Most Likely Cause
New TPMS Sensor Not Programmed
Difficulty
4/5
Est. Time
1 hrs
DIY Doable?
🔧 Shop
Shop Labor
$100 – $550
Parts Price
$40 – $360
⚠️ Drivable, but... — The vehicle is safe to drive, but the TPMS is disabled and will not warn you of a low tire pressure situation, increasing the risk of a blowout.
Key Takeaways
  • 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.
The trouble code C2921 is a manufacturer-specific code for Subaru that indicates an "ID Registration Error" within the Tire Pressure Monitoring System (TPMS). This means the vehicle's main computer has failed to learn or register the unique identification number of one or more TPMS sensors located in the wheels. When this fault occurs, the TPMS warning light will typically blink for about a minute (or 25 times, according to Subaru TSB 05-78-20) after starting the car and then stay illuminated.

What's Unique About the 2017-2021 Subaru IMPREZA

A 2017-2021 Subaru Impreza, a vehicle that requires manual OBD-II TPMS registration.
The fifth-generation Subaru Impreza uses a 433 MHz TPMS system that lacks an auto-relearn feature, meaning new sensors must be manually registered to the vehicle's computer.

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

A mechanic using a TPMS scan tool to register new sensor IDs via the OBD-II port.
Fixing code C2921 requires a specialized TPMS tool to read the sensor IDs from the wheels and write them directly to the vehicle's control module via the OBD-II port.

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

Did you recently replace a TPMS sensor or swap your wheels and tires?
→ Use a TPMS tool (like Autel TS508) to perform an OBD-II relearn. The Impreza does not auto-learn new sensor IDs.
Was the new sensor programmed to the vehicle via the OBD-II port?
→ Perform an OBD-II relearn with a TPMS tool to register the new ID. The system requires manual registration.
→ Verify the sensor is 433 MHz (OEM 28103FL00x series). If correct, drive over 25 MPH for 10 mins per TSB 05-78-20.
Does a TPMS tool get a response from all four wheel sensors?
→ Replace the dead sensor ($40-$110). 2017-2021 Imprezas have TSB 05-85-21R for moisture failure; use updated OEM part 28103FL00C/D/E.
→ Compare stored IDs in the module to actual sensor IDs. If they match, consult TSB 05-78-20 for advanced diagnostics.
Professional service recommended: Replacing and programming TPMS sensors requires specialized tools to dismount the tire, install the sensor, and write the new sensor ID to the vehicle's computer using an OBD-II relearn procedure. Most DIYers do not own these tools.

Symptoms You May Notice

The yellow TPMS warning light illuminated on a car's dashboard.
A flashing TPMS light that turns solid after about a minute is the classic symptom of an unregistered or failed sensor triggering code C2921.
  • 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.
⚠️ Don't Waste Money on the Wrong Fix
  • 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

Comparison of a brand new TPMS sensor ready for programming versus an old, moisture-damaged sensor.
Replacing a failed sensor (right) with a new one (left) is only half the job; the new sensor's unique ID must be manually programmed to the Impreza's computer to clear the C2921 code.
  1. 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.
  2. 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.
  3. 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

  1. 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.
  2. Use a TPMS activation tool at each wheel to trigger and read the sensor data (ID, pressure, temperature, battery status).
  3. 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.
  4. If all sensors respond, use the scan tool to read the sensor IDs currently stored in the TPMS control module.
  5. 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.
  6. 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.
  7. 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.
  8. 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

  • 28103FL00A28103FL00B, 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.
Subaru Wheel Swap and TPMS programing with Autel TS508.
Subaru Wheel Swap and TPMS programing with Autel TS508.
How To Reset Subaru Tire Pressure Light (TPMS Relearn in Minutes)
How To Reset Subaru Tire Pressure Light (TPMS Relearn in Minutes)
How to Reset Subaru TPMS
How to Reset Subaru TPMS
Autel MaxiTPMS TS501 used on a Subaru Outback | Man About Home
Autel MaxiTPMS TS501 used on a Subaru Outback | Man About Home
Wrenchy
Article researched & written by
Go-Parts' AI research assistant. Every article is backed by live web research, verified OEM data, and real technician knowledge — so you get accurate, up-to-date information you can trust.
Meet Wrenchy → Updated Jul 25, 2026

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.

Year Coverage
This article covers the OBD-II Code C2921 for:
  • Subaru IMPREZA: 20172018201920202021
In this article
🎬 Helpful Videos
Jump to ▴

Email This Guide

We'll send you a link to this article so you can read it later or share it.

Added to cart · Part