OBD-II ELM327 compatible AllPro adapter



This adapter allows you to interface with your car's OBD-II bus. It provides you a USB interface using the ELM327 command set and supports all major OBD-II standards:

  • SAE J1850 PWM
  • SAE J1850 VPW
  • ISO 9141-2
  • ISO 14230-4
  • ISO 15765-4 CAN




You do not have to be familiar with all the details of OBD-II protocol as the adapter and PC desktop software will do it for you. The adapter kit schematic is shown here. It is built around Microchip’s PIC18F2455 microprocessor with USB support. The ISO9141/14230 interface is implemented on MCP2021-500, the J1850 VPW output bus is controlled by MCP1407 driver and the pair of P-channel and N-channel MOSFETs (Q1, Q2) is driving PWM bus and PIC18F2455 internal comparator together with resistors R4, R5 producing the differential PWM input. The circuit is powered from USB bus. Transistor Q3 is for legacy L-line initialization in ISO9141 protocol. The adapter has two connectors on the board DB9-M and USB type B connector. The board fits SERPAC A20 enclosure, Mouser part reference 635-A-20-A or DigiKey part SRA20A-ND. For ordering kit see the Products page. The kit is including the PCB, preprogrammed PIC chip and all the components required to assemble the device.



The OBD-II Cable for kit

The adapter uses 9 pin D type female connector to link up to vehicle’s OBD-II J1962 connector. The pinout was chosen to match many of the commercially available cables. The pin connections required of the cable are as follows:

J1962 Pin Description DB9F Pin
2 J1850 Bus + 7
5 Signal Ground 1
6 CAN High 3
7 K Line 4
10 J1850 Bus - 6
14 CAN Low 5
15 L Line 8
16 Vehicle Battery Positive 9


The Software

Here is the list the software I have tested so far with adapter:

Note that the free versions of ScanMaster and EeasyObdII are not supporting CAN protocol, apparently the authors are reluctant to keep them up-to-date.  Here are the screenshots of ScanMaster-ELM:


The Kit Assembling notes

See the AllPro Kit assembling notes for more details.


Windows Serial USB Driver for PIC18F2455

When plugging a new USB device, Windows checks all its INF files to load the appropriate driver. The INF file contains the Vendor ID, the Product ID or the USB Class definition. If the VID/PID or the USB Class Definition of the USB device matches with one INF file, Windows will load the driver described in this file. There is no driver required for Microsoft Windows as the adapter using the standard Communication Device Class (CDC) driver usbser.sys included in the distribution. Windows doesn't have a standard INF file for the CDC driver and Microchip provides one as part of USB Framework package. Alternatively you can download the driver here.