Which Modules the Volvo XC90 Shares With the S80 and V70
The Volvo XC90 (2002–2012), S80 second generation (2006–2012) and V70 third generation (2007–2012) draw from two overlapping platform generations — the older P2 architecture and the newer P3 — and share a surprisingly large number of electronic control modules. Understanding where the sharing starts, where it ends, and what breaks when the wrong variant is fitted is essential before ordering a used unit for any of these cars.
Platform Architecture: P2 and P3 Explained
The XC90 was built exclusively on the P2 platform throughout its production run, sharing its core architecture with the first-generation S80 (1998–2006), the V70 second generation (2000–2007) and the XC70 first generation. The second-generation S80 and third-generation V70, introduced in 2006 and 2007 respectively, moved to the P3 platform. This is the first important boundary: an XC90 module and an S80 II module may look physically identical and share a similar part number prefix, but the underlying network topology and software base differ enough that many units will not function correctly if swapped across platforms without reprogramming.
Within the P2 family — XC90, V70 II, XC70 I, S80 I — module sharing is extensive and well documented. Within the P3 family — S80 II, V70 III, XC70 II, S40 II, V50 — sharing is similarly broad. Cross-platform fitting is the danger zone.
Modules That Genuinely Interchange Within the P2 Family
Central Electronic Module (CEM)
The CEM is the body electronics hub on all P2 cars. XC90 CEMs share the same physical housing and connector layout with V70 II and XC70 I units. Relevant part numbers include 30659500, 30723059, 30786907 and 31254723. However, the CEM is coded to the individual car’s VIN, option content and immobiliser system. A used CEM must be reprogrammed to the receiving vehicle using VIDA/DiCE or equivalent — simply swapping it will result in an immobiliser lockout and a cluster full of warnings. The hardware interchanges; the software does not follow automatically. For comparison, see Volvo S80 Engine Control Module Replacement and Compatibility Check.
ABS and DSTC Control Module
The Bosch ABS/DSTC unit fitted to XC90 models from 2003 onwards shares its base hardware with V70 II DSTC-equipped variants. Part numbers in circulation include 30782958, 30782959 and 30773415. Suffix letters matter here: the XC90 uses a higher-mounted unit calibrated for the SUV’s roll threshold and suspension geometry. Fitting a V70 unit without recalibration will cause the DSTC to intervene incorrectly during normal cornering. Wheel-speed sensor inputs are identical across the family; the calibration data is not.
Transmission Control Module (TCM) — Aisin TF-80SC
XC90 2.5T and T6 petrol variants from 2004 onwards share the Aisin TF-80SC gearbox with the V70 T5 and the S80 T6, all using a Bosch TCM. Part numbers 30751700 and 30751701 appear across all three models. The diesel XC90 D5 uses a different calibration. The TCM must be adapted to the receiving vehicle after fitting — ratio data and adaptation values are stored internally and will cause harsh or delayed shifts if carried over from a different car without clearing.
Rear Electronic Module (REM)
The REM handles rear lighting, tailgate electronics and tow-bar functions. XC90 and V70 II REMs share the same connector and basic software structure. Part numbers 30657416 and 30786352 cover a range of both models. Trim level and market affect the software variant — a trailer-wired V70 REM fitted to an XC90 without a towbar will generate persistent fault codes but will not prevent the car from starting.
Modules Shared Between S80 II and V70 III (P3 Family)
Central Electronic Module (CEM) — P3
The P3 CEM is a completely different unit from the P2 version despite a similar function. S80 II and V70 III CEMs share hardware directly: part numbers 31254723, 31395116 and 36002567 appear across both models. The same coding requirement applies — the unit must be programmed to the VIN before the car will start. A P3 CEM will not fit a P2 car physically or electrically.
Electronic Power Control (EPC) / Engine ECU — P3
S80 II and V70 III share the same Bosch ME9 or ME7 ECU depending on engine variant. The 2.0T, 2.4 and 2.5T petrol engines use units that interchange between the two models provided the part number suffix matches exactly. Relevant numbers include 30786908 and 31272634. These units are immobiliser-linked and require VIDA programming after replacement. The diesel engines use a completely separate Continental/Siemens unit that is not shared with petrol variants. A related diagnostic guide is Volvo XC90 Transmission Control Module OEM Numbers and Compatibility.
Brake Control Module (BCM) / ABS — P3
The Bosch ESP 8 or ESP 9 unit on P3 cars interchanges between S80 II and V70 III. Part numbers 31329480 and 31329481 cover both models in base configuration. Market-specific variants — for example, those calibrated for countries requiring mandatory TPMS — carry different suffixes. Fitting the wrong suffix will cause false TPMS warnings on markets without the system but will not otherwise impair braking.
Where the Sharing Stops: What Does Not Cross
- XC90 to S80 II / V70 III: No module from the XC90 (P2) is plug-and-play into an S80 II or V70 III (P3). Connector pinouts sometimes match but the network protocol and software generations are incompatible.
- Instrument cluster: XC90, S80 II and V70 III clusters are platform-specific. The XC90 cluster communicates on the older CAN layout and will not initialise on a P3 bus. Within the same platform, clusters interchange but require mileage matching through VIDA to comply with regulations.
- Climate control / ECC: P2 and P3 climate units differ in both LIN bus implementation and panel design. Within P2, XC90 and V70 II ECC units share hardware only if the equipment level matches — a dual-zone unit from a V70 will not replace a single-zone XC90 unit without recoding.
- SRS / Airbag module: Airbag control units are VIN-coded and crash-data-locked. Even within the same platform, a used airbag module that has recorded a crash event will not initialise on a new car. This is not a compatibility question — it is a safety and legal requirement regardless of part number match.
Fault Codes Triggered by Incorrect Module Fitting
When a module from the wrong platform or variant is installed, the most common codes logged are:
- ECM-4100 — Communication fault, CEM not responding (P2 module on P3 bus)
- ABS-0001 — Control module internal fault, variant mismatch
- SRS-0004 — Restraint control module configuration error
- BCM-0060 — CAN network timeout from incorrectly coded unit
- CEM-0090 — Software version mismatch, unit not programmed to VIN
What to Confirm Before Ordering a Used Unit
Before purchasing any used module for these models, confirm: the full 8-digit part number including suffix; whether the unit is from a P2 or P3 car; the engine and transmission combination; and whether the unit has been cleared of crash data (for SRS) or adaptation values (for TCM and ABS). A tested unit from a known-good car is the baseline — testing confirms the hardware functions, but it does not substitute for correct coding after fitting.
OEM Part Numbers Reference
| Module | Platform | Part Number Examples |
|---|---|---|
| CEM | P2 (XC90, V70 II) | 30659500 / 30723059 / 30786907 |
| CEM | P3 (S80 II, V70 III) | 31254723 / 31395116 |
| ABS/DSTC | P2 | 30782958 / 30773415 |
| TCM (Aisin) | P2 | 30751700 / 30751701 |
| ABS/ESP | P3 | 31329480 / 31329481 |
Frequently Asked Questions
Can I fit an XC90 CEM into a V70 second generation?
Yes, the hardware is compatible within the P2 platform. However, the CEM must be programmed to the receiving car’s VIN using VIDA/DiCE before the vehicle will start or the immobiliser will accept it. A bare swap without coding will leave the car immobilised and the cluster showing multiple network faults.
Does the XC90 share its ABS module with the S80 second generation?
No. The XC90 is a P2 car and the S80 II is a P3 car. While both use Bosch ABS hardware, the network protocol and calibration data are different. Fitting a P3 ABS unit into an XC90 will produce persistent fault codes and unreliable DSTC behaviour. Only swap within the same platform generation. For additional context, read Tracking an Intermittent Fault in the Volvo XC90 SRS Airbag Module.
Which Volvo models share the Aisin TF-80SC gearbox TCM with the XC90?
The S60, V70 II, XC70 I and S80 I fitted with the 2.5T or T6 petrol engine use the same Aisin gearbox and a compatible TCM. Suffix-level matching is still required because calibration data differs between engine variants. After fitting a used TCM, adaptation values should be cleared and the gearbox re-adapted through a drive cycle.
Can I use a V70 third generation instrument cluster in a Volvo S80 second generation?
In most cases yes — both are P3 cars and the cluster hardware is shared. The mileage stored in the cluster will not automatically match the car, and in most European markets you are legally required to have the original mileage recorded or the difference documented. VIDA can read and, in some configurations, recode the display value on P3 clusters.
Is it safe to fit a used SRS airbag module from a Volvo V70 into an XC90?
Only if the unit comes from a car that was never involved in a crash and has no stored deployment data. A crash event is written permanently into the SRS module’s memory on all P2 Volvos and cannot be cleared with standard tools. A used SRS unit must be verified as crash-free before fitting — a reputable supplier should be able to confirm this. Hardware platform compatibility (P2 to P2) is a prerequisite but not sufficient on its own.
GiantParts.eu stocks tested OEM electronic modules for Volvo XC90, S80 and V70 across both P2 and P3 platforms, with part number matching and worldwide shipping.
Find tested OEM electronic parts and modules at:
https://giantparts.eu/

