giovedì 10 gennaio 2013

First attempt on the OBD-II: the cheap KKL 409.1 cable

The first thing I want is OBD-II to work. So, I started to investigate on which OBD-II protocol should i use. my car is a Peugeot 206, 1.4 HDI, year 2004, and according to this page, and this other page and to the connector of my car (see picture) it is supposed to use a ISO 14230-4 (fast KWP) protocol. In fact this protocol requires pin number 7 on the OBD, and that's what I have on my car (you can see the metal connector present only in pins 1, 4, 5, 7, 11, 12 and 16). Here is a pic of my car connector:
So I thought this car to be compatible with the super super cheap VAG KKL 409.1 OBD-II to USB cable. It was only 10€ on Ebay, so I bought it without even thinking too much. I thought it was an easy way to start digging into the OBD-II functions. Here is the cable I received:
Perfect :)
There is only one small problem... it doesn't work :(
I tried two different approaches:

  1. Windows 7 starter on my netbook and the VCDS lite and VCDS 11.11 software and drivers that came with the device,
  2. Xubuntu and gtkterm, and another python based software I found on the internet too.
All without success. The problem is not the USB driver or communication, in fact I can emulate a COM port and send something with the TTY terminal to my car, but it doesn't respond, at all!

I started to investigate on the cable and I found out that it is not based on the ELM327 microcontroller, so the instructions I was sending through the COM port were wrong. So I opened up the cable and checked its components. Here are the pictures:
I found only two ICs:

  1. An FT232RL (the biggest), responsible for the UART to USB communication,
  2. The ST 393, which just compares the voltages (?), as for what I understood KWP is already a UART signal (is it ??).
I think my adapter schematics looks really similar to the these.
So I am a bit puzzled right now: with this cable am I supposed to communicate directly with the OBD-II? I mean, must I use the raw ISO 14230-4 protocol? I'm afraid so, then I'll start reading this document and then I'll send some bytes straight into the terminal. I just need some time before I do that, I do not like the idea to sending random stuff to my car ECU, that would not be fair to my car.

That's it for today, I don't have any more updates. If somebody is kind enough to point me out some info about the ISO 14230, that would be really appreciated :)

This said, I'm also thinking about moving on to some serious stuff... like this project here. With something like that I should not worry anymore about the protocol logic... even if, I must say, with this cheap cable, it will be way easier to access the mysterious pins on my Peugeot OBD-II. In fact I have pins 1, 11 and 12 that are not covered by that project since they are not standard, but still they could provide some more information. Who knows?

Keep on following for more updates, cheers :)

lunedì 7 gennaio 2013

Post number 0

Lately I've been asking myself this question:
how difficult could it be to put a computer on the dash of my car?
Well, I did some research all over the internet and my conclusion is: it must be doable!

What I want:
  • A small touchscreen
  • OBD - II interaction (read fault codes, real time readout display, readout logging)
  • Navigation and gps logging
  • Listening to music (I already have a car stereo and would like to use that)
  • Rearview camera
  • Bluetooth handsfree capability or phone docking station (optional)
How I think I'll achieve it:
  • A raspberry pi as the core
  • A transformer to power it with the 12V battery
  • OBD - II to UART kit
  • Touchscreen lcd (VGA + USB)
  • USB Camera
  • USB GPS (or chip)
  • Audio cables to the stereo aux
  • Bluetooth dongle (or chip)
So well, at least I have clear ideas :)
Still, this looks like a complicated project for me, so here I am, writing a blog to make some official commitment, and to share the difficulties and the results I'll find on my way.

Hope you enjoy!