In 1994, the EPA mandated that all light-duty vehicles have a standard connector for On-Board Diagnostics (OBD). The SAE (Society of Automotive Engineers) created the OBD standard, also known as 'J1962'. This standard specifies the size, position and design of the OBD connector. Anyone can plug a device (called a scan tool) into the connector to monitor the car's emissions and review any recent emission-related faults.
A computer in the car called the Engine Control Unit (ECU) controls the fuel injection, spark plugs and (indirectly) the car's emissions. The software running on the ECU is called 'firmware' because it's more difficult to change than normal software. One ECU can be used in many different car models with only slight changes to the ECU firmware. In fact, one car model can comply with emission laws in different countries just by modifying the firmware. Upgraded firmware can fix bugs and tighten emissions output long after a car leaves the factory.
The EPA quickly realized that a car's emissions are only as good as the firmware on the ECU. Until now, only auto dealers were able to upgrade the ECU firmware with tools that sometimes cost as much as the car itself. Starting with model year 2004, the EPA wants anyone (including auto repair shops and car enthusiasts) to be able to upgrade their car "for a reasonable cost." To accomplish this, they asked SAE to create the J2534 API.
Who uses the J2534 API?
The EPA requires car manufacturers to release software that updates the firmware on their cars. The application must run on Windows and use the J2534 API to talk to the car. Anyone can buy this software, even individual car enthusiasts. The software must be sold “for a reasonable price”.
The combination of “reasonable price” ECU upgrade software and competition among J2534 device manufacturers will create new markets. We predict that car repair shops and some car enthusiasts will find it profitable to charge for ECU upgrades. Imagine pulling into Midas or Jiffy Lube and learning, "Your car manufacturer recommends new ECU firmware. It will cost a few dollars, but it will help your engine run cleaner." By purchasing the upgrade, consumers will be helping to cleanup the environment.
How to use a PassThru device
A PassThru device plugs into a car's OBD connector on one side, and a computer on the other side. These devices are not made by car manufacturers, but by any company that sees an opportunity. Under the hood, the device must speak a myriad of different vehicle protocols (ISO9141, J1850VPW/PWM, CAN, etc.) used by the different manufacturers. Each protocol has different voltage and timing requirements, so this is no trivial task. Fortunately, each device comes with a software driver that implements the J2534 API. Since the driver invisibly handles communication to the device, application software writers don't have to worry about the connection details or low-level car protocols.