VAG Tuning Tool

Introduction

I am not interested in trading, viewing, receiving or distributing the ECU ROM images produced by third party or aftermarket engine tuners. Please don't send me any as I have no use for them. Please don't ask me for any as I have none. This project does not seek to illegally leverage the hard work of those who wish to keep their developments closed.

Project Aims:

  • Create a tool that gives tuners access to the data tables and adaption channels of VAG ECU's.
  • Be a platform for learning about modern vehicle diagnostics and performance tuning.
  • Investigate the potential offered by OEM interfaces for performance tuning.
  • Implement a Linux version of the tool specified in SAE J2534-1. (maybe)

Development Setup

Here's a picture of my development setup

Dev Jig

 

Links

Hex Microsystems

OBD KW 1281 Protokoll (KWP1281)

5 Baud Init

Here is a State Diagram of my implementation of the 5 baud initialisation problem. Start at the top left. This implementation for 8 bit AVR Microcontrollers uses a Timer 1 Overflow and Input Capture interrupt.

The process begins with a user call to kwp_5b_init_device() and is then automatic. If there is a device on the bus that matches the given address (and it's working) then the device will be initialised and the correct baud rate will be set from the device's sync byte. Then control will be handed over to the kwp1281 transmitter/receiver.

 

5 baud init

 

KWP1281 (ISO9141)

 

kwp1281

 

KWP2000 (ISO14230)