BCM Body Control Module icon

BCM (Body Control Module): diagnosing "window won't work" and "key not detected" via OBD

What BCM does, how OBD-II reads B-codes and U-codes, why "the window is stuck from pause" is often the BCM, and how to tell the module from a wiring fault.

AI-generated 3 min read

BCM (Body Control Module) — the “cabin brain”, a dedicated ECU controlling: windows, door locks, cabin lights, wipers, rear-window heater, base HVAC, central lock, immobilizer, sensors (rain, light). On a modern car BCM handles up to 60% of all cabin electrics. Below: how to diagnose via OBD.

What BCM does

  • Power management: relay block for headlights, tail lights, high/low beam
  • Door locks: central locking, deadlock, comfort functions
  • Windows: reverse control (pinched hand — retract), auto-up/auto-down
  • Rain + light: rain/light sensors → wiper + headlights
  • Immobilizer: key receiver, key authorization
  • Body lighting: DRL, cornering light, welcome light
  • Heaters: rear window, mirrors, washer nozzles

Typical OBD-II codes

B-codes (Body)

CodeMeaning
B0001Driver airbag deployment (see severity levels)
B1064Brake wear sensor (see brake wear post)
B1234AC high pressure switch (see AC post)
B10CC / B10D0Immobilizer transponder (see immobilizer post)
B1080-B1099Windows (per window motor)
B1225Central locking motor

U-codes (BCM communication)

CodeMeaning
U0140Lost communication with BCM
U0142Lost communication with BCM ‘B’ (cars with two BCM)
U0155Lost communication with IPC (cluster)

See overall CAN Bus post.

Classic patterns

Window stuck from a pause

  • OBD: B1084 (front left window motor)
  • Cause: window motor died or “polarity” didn’t re-learn after battery disconnect (classic Ford Focus, VW Passat)
  • Fix: motor $50-150 + adaptation reset via OBD (for VAG — Module 09, adaptation channel).

Central locking works from key fob but not from button

  • OBD: no code, but Mode 22 (BCM live) shows the button signal does NOT arrive
  • Cause: damaged wire harness in the door (bent diagonally — often breaks)
  • Fix: re-solder harness wires ($50-100)

“Key not detected” — car won’t start

  • OBD: B10CC, U0140 together (BCM offline)
  • Cause: BCM battery (CR2032 lithium inside the module) died — rare, but happens on old Renault, PSA
  • Fix: BCM battery replacement ($5-20) or new BCM programming ($200-500)

Rear window doesn’t defrost

  • OBD: B1220 (rear defrost relay circuit)
  • Cause: defrost relay or broken wire
  • Fix: relay $10-30

What OBD-II can show

Via Mode 22 UDS (manufacturer PIDs) on BCM:

  • Each button state — active/inactive (window switches, central lock button)
  • Each relay state — on/off
  • Light sensor (luminance) — lux
  • Rain sensor — intensity
  • Voltage per output — check integrity to each consumer
  • Immobilizer state — authorized/blocked

That’s what a $200-500 professional diagnostic station does — on our platform available on paid tier.

Diagnostics in 15 min

  1. Read all DTCs (not just engine) — B-codes and U-codes
  2. Via Mode 22 — read state of the button that “doesn’t work” → if ECU sees the signal, problem is relay/load; if not — wiring or button
  3. Check BCM voltage via Control Module Voltage PID (see battery post)
  4. CAN Bus scan — is BCM online (U0140 → offline)

Limits

Standard ELM327 reads B-codes and U-codes on every car. But Mode 22 BCM PIDs are manufacturer-specific, differ for VW/BMW/Ford/GM/Mazda. Support depends on brand — see compatibility.

Try on free tierpair an ELM327 adapter. B-codes and U-codes on every car. Live BCM state via Mode 22 — on paid tier.