Skip to content

OBDII adapter source code and schematic for automotive diagnostic vehicle communication.

License

Notifications You must be signed in to change notification settings

endurodave/OBDII-Adapter-Software

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OBD-II Scan Tool Adapter

C language source code and schematic for an automotive OBD-II scan tool adapter.

Table of Contents

Overview

An OBD-II (On-Board Diagnostics II) scan tool adapter serves as a bridge device between a host (e.g. PC, phone, embedded device) and the vehicle. The OBD-II adapter translates serial messages to and from OBD-II vehicle messages. Very similar in concept to an ELM327 chip except all C language source code, protocol documentation and schematic is provided. The adapter supports all known OBD-II automotive protocols starting from 1996 model year.

  • SAE J1850 (VPW, PWM)
  • ISO 9141-2 (ISO)
  • ISO 14320-4 (KWP 2000)
  • ISO 15765-4 (CAN bus)

A vehicle 16-pin OBD-II connector is typically located on the driver's size under the dashboard.

OBD II Diagram

The software source code is being open-sourced for public use under the MIT License.

Auterra Scan Tools

The Auterra series of scan tools was sold for about 15 years starting in 2000. Different versions of the tool were sold. See the docs folder for user manuals.

A road dynamometer feature was added to measure horsepower and torque during vehicle acceleration extending the usefulness beyond diagnostics.

See Auterra Scan Tools company website for more product information.

OBD-II Adapter Host Protocol

The OBD-II host protocol is documented within the OBD II Adapter Protocol document.

Enhanced OBD-II

"Enhanced OBD-II" refers to a more advanced version of the standard OBD-II system, which provides additional diagnostic information specific to a vehicle's manufacturer. Whereas the generic OBD-II standards are readily available, the manufacturer specific protocol specifications are obtained with a subscription from ETI.

The OBD-II adapter source code supports generic and enhanced protocols. Auterra products supported enhanced OBD-II from many vehicle manufacturers such as GM, Ford, Toyota, Nissan, and Mazda.

OBD-II Adapter Software Source Code

The OBD-II adapter software is written in C and compiled using CCS PCH C Compiler, Version 3.167. The code executes on the Microchip PIC18F248 microcontroller. The source code serves as a translator of generic (universal) and enhanced (manufacturer specific) OBD-II messages to/from a host device.

All microcontroller host communication is serial. On USB and Bluetooth, a serial translator was used to convert host serial messages into USB/Bluetooth. On Bluetooth, the Microchip RN42 chip was utilized in lieu of a host serial connector.

The adapter source code is located within the src directory. Main.HEX is the last adapter release.

SAE J1850 VPW/PWN

VPW and PWM are legacy protocols used by Ford (PWM) and GM (VPW). These interfaces were painstakingly bit-banged using assembly language and a logic analyzer. Excellent comments document the source code. Software simulation tools assisted with development.

ISO 9141 and 14320

The ISO and KWP protocols are serial interfaces. A software-based UART available as part of the CCS compiler turns any unused port into a serial interface.

ISO 15765

CAN bus is the latest OBD-II interface with all known speeds and modes supported by the source code. The Microchip processor has an on-board CAN bus interface.

OBD-II Adapter Hardware Schematic

The OBD-II adapter schematic is shown below. Actually its from the DashDyno, so the MODULAR 10 connector is a DB9 on the adapter variants. Both cable diagrams shown below.

OBD II Adapter Schematic

OBD II Cable

OBD II Cable

Why Open Source?

Auterra products are no longer commercially available. However, the released source code and documentation may serve as valuable resources for future automotive-related projects.

Star History

Find this repository useful? Consider giving it a star!

Star History Chart

Auterra Scan Tool Products

Auterra products were designed for Palm OS, Windows, Android and DashDyno platforms. All products utilized the Microchip OBD-II adapter interface processor. Software languages utilized across the various platforms was C, C++, C#, Java and assembly.

Dyno-Scan for Windows

Dyno-Scan for Windows

Dyno-Scan Dyno Screen

Dyno-Scan Scan Tool Screen

DashDyno SPD

DashDyno SPD

DashDyno SPD

DashDyno SPD

DashDynoScreens

Dyno-Scan for Android

DashDyno SPD

DashDynoScreens

About

OBDII adapter source code and schematic for automotive diagnostic vehicle communication.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published