AutoLogicTools

OBD-II trouble code

P0889: TCM Power Relay Sense Circuit Range/Performance

The module is timing the relay, not just watching it. This code usually means the relay responded late or chattered as it closed — which is why a part that tests perfectly on a bench can still fail in the car, and why a bargain replacement is a false economy here.

High severityPowertrainTransmission / Electrical SupplyDrivable short-term

Quick facts

System
Powertrain
Category
Transmission / Electrical Supply
Severity
High severity
Drivable
Usually safe to drive short-term
Repair cost range
$90$950
DIY difficulty
Advanced DIY

What does P0889 mean?

The distinction between this code and a plain sense circuit fault is a distinction between absence and quality, and on a relay that turns out to be a question about milliseconds.

A plain sense fault says the feedback did not arrive: the module asked, watched, and saw nothing happen. A range or performance fault says the feedback did arrive but was not right — it turned up too late, or it arrived and then went away again, or it did not settle cleanly. The control module does not simply check whether the relay closed. It expects the sense line to follow the command within a defined window, and it is perfectly capable of measuring intervals far shorter than any human could perceive. When the response falls outside that window, this is the code that records it.

That has a consequence that catches people out repeatedly. A relay that is slow, or that bounces as its contacts settle, is not a dead relay. Put it on a bench with a battery and a test lamp and it will operate exactly as expected — it clicks, the lamp lights, the resistance measures correctly, and every test a workshop would normally apply says the part is good. It then goes back in the car and the code returns within a drive cycle. Nothing was wrong with the testing; the tests were simply asking a coarser question than the module asks. Judging this fault by whether the relay "works" is not sufficient, because working slowly is precisely the failure being reported. The only comparison that means anything is against a known-good relay of the correct part number, or an oscilloscope trace of the sense line against the command.

The most useful thing to know about the causes is that the relay is not always the culprit, and the first thing to rule out costs nothing. A relay coil pulls its contacts in against a return spring, and how quickly and decisively it does that depends on the voltage across the coil. Feed it a healthy supply and the armature snaps across cleanly. Feed it a marginal one — because the battery is tired, because a ground has picked up resistance, because a connector or socket terminal is adding a drop — and the magnetic force barely exceeds the spring. The armature moves sluggishly, and it may hover near the point of contact and chatter rather than closing decisively. That is a perfect recipe for a timing fault, produced by a mechanically flawless relay. Which means the correct first measurement on this code is coil supply voltage at the instant of pull-in, not at rest. A static measurement with the relay idle tells you nothing; the voltage has to be captured while the coil is drawing current and closing. If that figure is low, the relay is innocent and the fault is in the supply, the ground or a connection feeding it — and a new relay will change nothing at all.

The third cause is one that is uncomfortable to raise because it sounds like a sales pitch, so it is worth being precise about why it applies specifically here rather than generally. Relays are commonly cross-referenced by their footprint, pin layout and current rating, and by those criteria a great many parts are interchangeable. What that cross-reference does not capture is coil inductance, armature mass, spring rate and contact material — all of which determine how fast the relay actually operates. A part that is genuinely equivalent by every published specification can pull in ten or fifteen milliseconds later than the original, which is completely irrelevant on a horn or a fog lamp and is exactly the quantity this module is measuring. So on most circuits a pattern relay is a sensible economy, and on this specific code it is the thing to check first if one has been fitted. A vehicle that developed this code shortly after a relay was changed has almost certainly answered its own question.

Common causes

  • Relay contacts closing late or bouncing as they settle, rather than failing outright
  • Low coil supply voltage causing slow or hesitant armature pull-in
  • High-resistance ground or connection feeding the relay coil, weakening the magnetic force
  • Aftermarket or pattern relay whose operating speed differs from the specified part
  • Weak or tired battery reducing available voltage at the moment of switching
  • Worn relay socket terminals adding resistance in both the coil and output circuits
  • Corrosion in the relay socket producing an unstable connection as the contacts close
  • Degraded relay return spring or contaminated contact faces producing erratic timing
  • Poor connection in the sense wire causing the feedback signal to arrive unstable
  • Control module sense input drifting out of tolerance, which is uncommon and diagnosed last

Symptoms

  • Check engine light with P0889 stored, often recurring shortly after being cleared
  • Transmission occasionally entering fail-safe for one journey and behaving normally the next
  • Brief hesitation or delay before the transmission responds after switching on the ignition
  • Harsh or crude shifting immediately after starting, improving as the drive continues
  • Intermittent momentary loss of communication with the transmission control module
  • Symptoms noticeably worse in cold weather, when battery output and coil pull-in are weakest
  • Fault appearing shortly after a relay was replaced, particularly with a non-original part
  • Relay audibly buzzing or chattering rather than producing one clean click
  • Code returning within a drive cycle after a replacement relay tested perfectly on the bench
  • Occasional delayed engagement when selecting drive or reverse from cold

Diagnostic steps

  1. 1.Understand what is being measured. The module times the sense response against the command, so a relay that operates slowly fails this test while still working.
  2. 2.Measure coil supply voltage at the moment of pull-in rather than at rest, capturing it while the coil is drawing current and the contacts are closing.
  3. 3.Load test the battery and check its state of health, since reduced available voltage weakens coil pull-in directly.
  4. 4.Voltage drop test the coil supply and ground paths under load, because resistance anywhere in them slows the armature.
  5. 5.Check whether the fitted relay is the specified part. A pattern relay of the correct footprint and rating can still operate outside the module's timing window.
  6. 6.Ask whether a relay has recently been replaced. This code appearing soon after a relay change usually explains itself.
  7. 7.Compare against a known-good relay of the correct part number, since bench testing a slow relay will pass it.
  8. 8.Scope the sense line against the relay command if the equipment is available, which shows late pull-in and contact bounce directly.
  9. 9.Inspect the relay socket for corrosion, heat damage and loss of terminal grip, which adds resistance to both circuits at once.
  10. 10.Consider ambient temperature. A fault that appears only on cold mornings points at marginal coil voltage rather than a failed component.

Repair cost

$90$950

This code is inexpensive to fix and easy to fix twice, which is where the money actually goes. Diagnosis is $110 to $280, and it is worth paying for properly because the useful measurement — coil voltage captured at the instant of pull-in — is not one that gets taken by accident. A correct-specification transmission control relay is $20 to $180 fitted; buying the original rather than the cheapest equivalent matters more on this code than almost anywhere else, and the price difference is usually small. Battery replacement is $150 to $400 where marginal voltage is the underlying cause. Repairing grounds, coil supply connections or a worn socket runs $120 to $500. Replacing the transmission control module with programming is $600 to $1,000 and is genuinely rare here, since a timing fault is far more likely to come from the relay or its supply than from the module's measurement of them.

Estimate your repair

Run the numbers for your vehicle

Open the Repair Cost Estimator with transmission control relay replacement preselected. Adjust labor rate and vehicle category to fit your situation.

DIY vs shop

This is an advanced DIY job. It typically requires specialty tools, scan-tool access, lifting equipment, or careful sequencing to avoid causing new failures. Plan for extended downtime and have a backup vehicle. Most owners are better served by a shop that has done this repair before.

Related codes

Frequently asked questions

The new relay tested perfectly. Why did the code come back?

Because bench testing asks a coarser question than the module does. Put a relay on a battery with a test lamp and you learn that it operates, that the coil is intact and that the contacts conduct. What you do not learn is how long it took, and that is exactly what this code is about. The module expects the sense line to follow its command inside a defined window and can measure intervals far shorter than anyone can perceive. A relay that pulls in late, or chatters as its contacts settle, passes every ordinary test and still fails the module's. The comparisons that mean anything are against a known-good relay of the correct part number, or a scope trace of the sense line against the command.

Could this be caused by something other than the relay?

Very often, and the alternative costs nothing to check. The relay coil pulls its contacts in against a return spring, and how decisively it does that depends on the voltage across the coil. Give it a healthy supply and the armature snaps across cleanly. Give it a marginal one — a tired battery, a resistive ground, a connector adding a drop — and the magnetic force barely beats the spring, so the armature moves sluggishly or hovers and chatters. That produces a timing fault from a mechanically perfect relay. Measure coil supply voltage at the moment of pull-in, not at rest. If it is low, the relay is innocent and replacing it will change nothing.

Does it matter whether I fit an original relay or a cheaper equivalent?

On most circuits it does not, and on this one it does — which is worth explaining rather than just asserting. Relays are usually cross-referenced by footprint, pin layout and current rating, and by those measures many parts genuinely are interchangeable. What that cross-reference misses is coil inductance, armature mass, spring rate and contact material, which together decide how fast the relay actually operates. A part that is equivalent on every published figure can pull in ten or fifteen milliseconds later than the original. On a horn or a fog lamp that is irrelevant; here it is the exact quantity being measured. If this code appeared shortly after a relay was changed, start there.

Can I keep driving with P0889?

Yes for short journeys, and this is the mildest-behaving member of the group in practice, though the badge stays where it is for a reason. The relay is still working most of the time, so the car will usually drive normally, with occasional trips where the transmission drops into fail-safe or engagement feels delayed from cold. Nothing is wearing out mechanically. The reason not to leave it indefinitely is that a marginal relay does not stay marginal — the contacts and the coil both degrade further, and a fault that currently costs you an awkward cold start eventually becomes a relay that does not close at all, which leaves you with no drive.

Editorial context

About This Diagnostic Information

AutoLogicTools diagnostic guides explain OBD-II trouble codes using recognized code definitions, standard automotive diagnostic principles, and practical automotive context. A trouble code records a condition detected by a control module. It does not automatically identify a failed part, and the right diagnostic procedure can vary by vehicle.

Manufacturer service information, technical service bulletins, wiring diagrams, and vehicle-specific procedures should take precedence when available.

AutoLogicTools was founded by Vincent Fisk, an automotive locksmith and shop owner in San Diego with hands-on experience in vehicle keys, immobilizer systems, electrical issues, modules, programming, and diagnostics.