OBD-II ELM327 compatible AllPro adapter using PIC18F2455

Overview

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

Hardware

The adapter kit schematic is shown here. It is built around NXP LPC1517 Cortex-M3 microprocessor with 64 kB program memory, but can accommodate another chip from same family like LPC1549 with 256 kB if required. The NXP chips has a ROM-based bootloader that supports loading a binary image into its flash memory using USART or CAN. All the software is written in C++ for NXP LPCXpresso IDE which is essentially using GNU toolchain for ARM Cortex-M processors. However, it can be compiled with other pre-built GNU toolchain, like GCC ARM Embedded or even with Keil uVision IDE.

The Highlights

  • NXP LPC1517JDB48 ARM Cortex M3 72Mhz processor
  • 64kB Flash, 12kB RAM
  • Using NXP sophisticated State Configurable Timers to do the precise signal handling for J1850 PWM and VPW protocols
  • CAN FIFO buffers for handling some not-strict ISO-compliant ECUs
  • Botloader for initial firmware programming
  • Low power consumption

See building the adapter firmware from the source code. Or, if you just want to program the firmware check the programming the Adapter with Flash Magic. Also, you might consider ELM329 AllPro adapter. It is year 2018 and most likely you need only CAN protocol.

 

Adapter firmware:

The software and other materials in allpro-src.zip is released under GPLv3. If you want to reuse the source code in your commercial products, contact me for a commercial license.

The printed circuit board data are available separately:

 

The OBD-II Cable Connector

The adapter uses eight pin connector to link up to vehicle’s OBD-II J1962.

J4 Description J1962 Pin
1 Signal Ground 5
2 CAN High 6
3 CAN Low 14
4 J1850 Bus + 2
5 Vehicle Battery Positive 16
7 K Line 7
8 J1850 Bus – 10

Bluetooth AllPro

Bluetooth version of AllPro adapter is ready-to-use fitted to “de-facto” standard OBD connector case and paired with SPC-CA v3.0 Bluetooth module based on Beken BK3231 chip. Apparently Beken bought the license for old ARM9E-S core with a substantial discount for their Bluetooth SOC. The core goes back to year 2004. You will need a debugger to program the device though.

Here is the popular Android Torque application output:

 

Source : OBD-II ELM327 compatible AllPro adapter using PIC18F2455


About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.