U0331
Software Incompatibility with Body Control Module "A"
- Severity
- High
- Driving
- Drivable — book it in
The software in body control module "A" is not compatible with the rest of the vehicle. The body control module runs much of the vehicle's electrical behaviour and sits at the centre of its networks, so a configuration mismatch here produces a long list of other fault codes and a great deal of odd behaviour - most of which are consequences rather than separate problems.
Possible causes
- CommonBody control module "A" replaced but never programmed or coded to this vehicle
- CommonUsed module fitted from a different vehicle or specification
- CommonVehicle option list not written to the module after fitting
- CommonSoftware update interrupted during programming
- CommonWrong part number for the market or trim level
- PossibleOne module updated while others were left at their old versions
What you might notice
- A large number of fault codes across unrelated systems
- Central locking, lighting, wipers or windows behaving strangely
- Options that should be fitted not working
- Several warning lights at once
- Fault present since a repair
What to check, in order
- Fix this before chasing anything else. Most of the other codes stored are consequences, and diagnosing them individually wastes a great deal of time.
- Ask what was done recently, and whether a used or second-hand module was fitted.
- Check the vehicle's option coding. A body control module has to be told what the car actually has - sunroof, parking sensors, rear wiper - and an uncoded module behaves exactly like a faulty one.
- Read the part number against the vehicle's market and trim level.
- Record the full code list before anything is cleared. After the module is coded correctly, far fewer will come back.
- This needs manufacturer-level programming and the vehicle's build data.
Read this code from your own car
Plug an ELM327 adapter into the OBD-II port under the dashboard. Pin16 reads every stored, pending and permanent code, explains each one like this page does — offline, with no account — and shows what the car recorded when the fault was set.
Where this code sits
U00xxU01xxU02xxU03xxU04xxU05xxU06xxU07xxU08xxU09xxU0AxxU0BxxU0CxxU0DxxU0ExxU0FxxU10xxU11xxU12xxU13xxU14xxU15xxU16xxU17xxU18xxU19xxU1AxxU1BxxU1CxxU1DxxU1ExxU1FxxU20xxU21xxU22xxU23xxU24xxU25xxU26xxU27xxU28xxU29xxU2AxxU2BxxU2CxxU2DxxU2ExxU2FxxU30xxU31xxU32xxU33xxU34xxU35xxU36xxU37xxU38xxU39xxU3AxxU3BxxU3CxxU3DxxU3ExxU3Fxx