On-board diagnostics bootstrap

Every automotive engineer, repair technician and car enthusiast has heard about OBD or OBDII. These are different versions of the same system know as on-board diagnostics. It is a self-diagnostic and reporting functionality built into vehicle. OBD was created as a mean of standardization and normalization of the messaging protocol aimed at efficient troubleshooting an reporting of the problems encountered with a vehicle control systems. Given that modern vehicles have tens of microcontrollers, sensors, actuators and other devices interconnected as a part of local computer network, it is easy to see why such effort was needed.
OBD defines set of parameter identifiers (PIDs) which denote measured values in different systems monitored and controlled by various embedded computers and other devices. There is a set of generic codes which are supported across the range of manufacturers and models of vehicles. However, real power of the OBD is ability to extend this specifications and include manufacturer specific codes indicating relevant parameters. Of course, with this power, comes responsibility of the code providers to allow correct decoding. This can become cumbersome over time as host of new codes are being added every so often.
Continue reading the rest of this article here.
