J1850 VPW Interface

 

AVR J1850 VPW interface to connect a Chrysler or GM car bus to a PC for On Board Diagnostic (OBD) monitoring. My interface is build around Atmel AVR mega8 controller, my favourite “workhorse”. The controller is available also in DIP package for all who not want to built with SMD components. With 8k flash memory we have plenty of space for all kind of features. The basic source code which  supports all functions uses 3k code space.

See the documentation for all features and how to use it.

It seems someone has made a commercial product from my project: EMU322 Interface

Some features:

  • SAE J1850 VPW to RS232 interface
  • simple AT command control
  • different Baud rates, from 9600 to 115200 Baud
  • 4 different bus monitor functions
  • support for 1 and 3 byte header messages

This interface was tested with firmware v1.06 and the following OBD software

  • Scantool.net
  • wOBD
  • Scanmaster
  • Digimoto
  • Proscan
  • OBDspy
  • OBDII
    Logger
  • Scantool
    Mode 22

Use the firmware with 9600Baud and ELM322 tag for all mentioned tools.

Example circuit:

PCB with LCD

Example circuit
Documentation AVR_J1850_VPW_Interface_Documentation.pdf Version: F
355.8 KB 1724 Downloads Details...
Firmware AVR_J1850_VPW_Interface_v1.07.zip Version: 1.07
32.8 KB 962 Downloads Details...

  18 Responses to “J1850 VPW Interface”

  1. Great contribution! I just emailed you with some minor changes to your code base that may help others that are trying to port to other microcontrollers.

  2. Hello! I would like to make a J1850VPW lcd to use inside the car, but I’m using BascomAvr.

    Any suggestion, or help..?

    I have made many projects using Bascom.

    • I have such LCD in my car as well, showing all kind of bus data. Not OBD but was is already available on the bus, and that’s a lot.

      Can not offer much help since I have no idea about Bascom. But since you did many projects it should be easy for you to port the C code to Bascom.
      All you need is to convert the J1850 .c and .h files to Bascom and you can access the bus. Then add your LCD functions and intepreter for incoming datan and you are done.

      • Thanks Michael,

        I will start to translate to Bascom.

        I will keep inform about progress : )

  3. Is it possible to add to your project support for the protocol ISO 9141-2?

    Возможно ли добавить в Ваш проект поддержку протокола ISO 9141-2?

  4. Hi, And many thanks for your work on this!! I have taken your work, and used it as a learning experience to re-work it just a little to work on the Arduino platform.. Again, many thanks!!!!!

  5. hello, I want to diagnose FORD POWER STROKE IS A J1850 VPM, but the software using a USB interface, do you think if I add the USB micro, get good results, do you think if I use a free commercial software, you can get fault codes FORD mark.

    • As far as I know For uses J1850 PWM not VPW. You can use any USB-RS232 Adapter with the interface.

  6. pardon me for being ignorant but where do I download source code 1.06 to flash the project with?

  7. hello is this will work with honda cars?
    thank you so much

  8. Possible to buy from you an already build PCB board ?
    I am so board with soldering irons :)

  9. Hello Michael, Is I promised some months ago I started to learn better the VPW protocol. instead of try to translate your C code, I finally understanded nicely the VPW trnsitions pattern. I got an Digital Storage Oscilloscope and with just the Key on “ACC” position, get lot of bit patterns from my OBDII connector. As you indicated, there is a lot of data!

    I captured a complete packet with SOF. After printing the pattern I was able to decode by hand the bytes:

    $E8 $FF $40 $03 $ED

    Now I’m in the way to start likely from scratch using Bascom Avr, and using your code as guide, but will try to implement my own timing decode routines, based on Bascom language and M2560 chip.

    Do you know where could I get reference for the above packet ? I think this is data exchanged between the modules of my car.

    • You will hardly find documentation of car specific bus data.
      It’s all proprietary information kept secret by the manufactures.

      There are only a few SAE specification describing some basic data frames.
      VPW frame structure is described in SAE J1850.

      • Hello Michael,

        I finally have my interface working. I used Do..Loop cicles for timing decode.

        I tested it with a Stand-Alone workbench PCM. No other modules are on bus. So I guess PCM is interrogating othe rmodules.

        this is the output:

        J1850VPW 1.34

        48 EA 10 0A 00 72
        E8 FF 10 03 B3
        48 EA 10 0A 00 72
        49 92 10 01 BE
        49 92 10 01 BE
        48 EA 10 0A 00 72
        49 92 10 01 BE
        48 EA 10 0A 00 72
        E8 FF 10 03 B3
        49 92 10 01 BE
        48 EA 10 0A 00 72
        49 92 10 01 BE
        48 EA 10 0A 00 72
        49 92 10 01 BE
        E8 FF 10 03 B3
        48 EA 10 0A 00 72
        49 92 10 01 BE
        48 EA 10 0A 00 72
        49 92 10 01 BE
        48 EA 10 0A 00 72
        E8 FF 10 03 B3
        48 EA 10 0A 00 72
        E8 FF 10 03 B3
        here it keeps repeating this message every second…
        E8 FF 10 03 B3
        E8 FF 10 03 B3
        E8 FF 10 03 B3

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Comments will be moderated! Spam deleted immediately!
Before you submit form:
Human test by Not Captcha

My Counter

  • Total Visitors 773,833
  • Visitors today 107

The Archives

© 2010-2012 Mictronics Logo by Cool Text: Logo and Graphics Generator Suffusion theme by Sayontan Sinha