Thanks to Goudrons for breaking this down in another thread:

All OBD2 fault codes are in a certain order.
They start with a reference to whichever electronic control unit is reporting trouble, this first digit is one of the following letters.
P = Powertrain
C = Chassis
B = Body
U = User network

The second digit will be either
0 = Generic code
1 = Manufacturer specific (in our case a Fiat code)

The third digit relates to the area of actual fault
1 = Fuel & Air
2 = Fuel & Air - injection
3 = Ignition system & misfire
4 = Emission control
5 = Speed & idle control
6 = Computer Output signals
7, 8 & 9 = Gearbox/Transmission
(there's a few more these days, but they've ran out of numbers so use letters that relate to Hybrid systems)

The fourth & fifth digits are the actual fault description.
They usually refer to open, high or low circuit inputs detected from one or more of the sensors.

So as examples,
generic codes used by all manufacturers will look like:
P0***, C0***, B0*** & U0***

Manufacturer specfic codes:
P1***, C1***, B1*** & U1***
  • Thanks
Reactions: varesecrazy