Td5 elm327 OBD Bluetooth Engine Diagnostic

This site contains affiliate links for which LandyZone may be compensated if you make a purchase.

Zebedee68

Member
Posts
12
Location
Surrey
Hi guys,

Just gauging interest:

I've managed to hack the pre-OBD Td5 ecu diagnostics, and I reckon (I'm a computer programmer by trade) I can build an interface to Torque (or any other app) etc.

The OBD bluetooth dongles are around a tenner, I can build a dongle that will interface with the pre 2007 Td5s that will give DTCs/ecu fault codes and live data - allowing you to see RPM, fuel consumption etc on an Android app on your phone or tablet..

It will probably cost around £30 (I'm not going to make any money out of it lol) would there be any interest?

Doing it primarily for myself, but if anyone else is interested I would put the time in and make a more polished version fit for sale..

and if loads of people want it, then future versions would possibly be around £50 - still much cheaper than a nanocom, but would give me a bit of profit..

Reply in here with any thoughts or ideas, anything appreciated!
Cheers
Zeb
 
Hi Zeb,

I've just started reading into this, mainly becasue I want a tachometer for my MY2004 Td5, but not quite ready to spend on a genuine LR rev counter (££££) or a Nanocom (£££).

Lots of conflicting opinions though on how much you can do via the OBD interface on a Td5. I'm trying to go down the route of getting a live rpm reading from the K-line using on ISO9141/ISO14230.

Have you had any success with this?

Cheers!
 
Hi mate,

Had some success - got my prototype receiving live data once, but then it went tits up and not had chance to look at what went wrong..

You can defo receive the RPM, and lots of other good stuff too - the issue is that while the protocol is ISO14230 / KWP, the codes used are non standard - and there is an awful lot of b.s. talked about it on the web lol

To get you started, you will need a K-Line interface circuit (use an MC33290 - the transistor version is too fiddly to get working unless you have a test setup like having an ecu on the bench with a scope attached) and an arduino uno control circuit to do the actual 10400bps comms.

I'll be back working on this in a month or two - let me know if you build the circuit and want to go a bit further.
 
Absolutely bankzy - not too difficult either..

To clarify a bit, what I'm doing is blasting the k-line with educated guesses as to what the codes should be..

I've found the codes for the initialisation process, and managed a successfull handshake.
I've also found the codes to request live data - and I've seen the raw data coming back, so I know it works - it just needs decoding.

I use an MC33290, controlled by an Uno, and use the laptop to send codes to the arduino, which then controls the serial comms with the 33290 (and that the K-Line)

My prototype *did* work lol, the last time I used it it was failing to handshake - I need to look into why, that needs time, and I'm throng on with work atm, should have some time in a couple of months.

I figure enough time has gone by - this stuff should be in the public domain (and it's legal, if it's discovered the way I'm doing it - by reverse engineering and hard work lol) so I'm up for opening a github for the arduino code, and sharing what I've got so far if a couple of guys want to build the circuit and give it a crack.
 
Thanks Zeb, that sounds like what I have in mind.

I'm currently playing with a AVR Minimus that I have lying around. If that fails, I'll go get a 'proper' Arduino. Will also get a MC33290 as you suggested.

I'll keep things simple and start with the OBDII Mode 1 (https://en.wikipedia.org/wiki/OBD-II_PIDs#Mode_01) PIDs first.

Will update on this thread as I go along, won't happen to quickly as there RealLife™ to deal with!
 
The AVR will be fine, easy enough to translate to/from arduino, just depends on the software libraries available..

You need USB comms to the laptop, the arduino does this via the (single) hardware serial port
and you also need serial comms to the K-Line interface (the MC33290)
so on the arduino I use the softserial library - it's only at 10400bps, so it's not a killer, the arduino copes fine at it's normal clock speed

Not sure about the PID format - it will no doubt be similar, and the formula will be the same, but the request codes will not be as standard..

1st off, you will need to handshake - the ecu won't communicate anything unless it has received a correct initialisation, and the reply is what it expects - it will be totally silent otherwise!!

The docs on K-Line comms are great, they give you the idea of how it works - but just remember all the command codes are totally not standard.
There is a good overview here (ignore the 5baud slow init stuff, it's not implemented):
https://www.google.co.uk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=7&cad=rja&uact=8&ved=0ahUKEwiL_tjJnfHOAhVC1BoKHaLGAM4QFggyMAY&url=http://www.obdclearinghouse.com/index.php?body=get_file&id=1343&usg=AFQjCNG9OjSB_M2PwG1X2pTvX-hgvb4DQQ&sig2=-2evjJWTdYYcKPlHeRCU8g&bvm=bv.131669213,bs.1,d.d2s

(or try www.obdclearinghouse.com/index.php?body=get_file&id=1343 )

Give me a shout when you have a circuit, and I'll let you have the handshake codes and protocol - the thing to remember is that although it is KWP, that doesn't mean it is OBD, lolol
 
I'll summarise that a bit, 50 million things going on at the minute - not entirely sure my ramblings make sense lol

The protocol is KWP, at 10400bps, but it is NOT obd - the command structures may or may not be different.
The K-Line comms will be totally silent unless and only if a valid handshake initialisation has ocurred,
so - to get PIDs, and the equivalent of DTCs, you need to handshake first - so the ecu 'knows' it is in comms mode
The KWP 5baud 'slow init' is not implemented (I tried for hours on that first lol)
the 10400baud init needs a bit of bit banging, it uses RS232 serial, but needs the K-Line manually held high & low for specific lengths of time (the Volkswagen doc above explains it fully)
The K-Line is active low, so be prepared (RS 232 is also active low, and the MC33290 translates it correctly)
The MC33290 circuit is ridiculously easy - needs no components, just connect the chip lines up directly to the OBD socket and the arduino

a logic analyzer is handy, only a tenner off amazon, and the only way to check if the timings are correct..
 
Did this ever get anywhere? I'm looking at buying a D2 or early D3 to replace my Jeep (bought as emergency replacement 18 months ago for my D1 which caught fire while having chassis welded).

I've been having to play with diagnostics for the '54 reg Jeep as none of the garages round here could read the codes. Even the nearest main agent had to hire the (drb3) code reader from Jeep UK. I got as far as some basic responses via a bluetooth and separate wifi dongle, looking via terminal software on a PC, then discovered a man in Estonia who was offering free software for Android and PC covering engine and gearbox.

My experience with the Jeep was that I would find a code then take the vehicle to a garage. Believe me, with a Jeep one sees a lot of garages. Most didn't seem to trust my "amateur" codes and many just attached their seemingly common "Snap-on" diagnoser and said they saw no errors. Does this cynicism of garages extend to Discos in a similar way? I'm too old and creaky to crawl under and over cars anymore.

Anecdote alert... My last experience was with the garage that reseated all 5 injectors, got 50 yards into their test drive then had to push the jeep back. Next day I went down with my mobile phone. It suggested an electrical fault related to the injectors (2 are invisible and inaccessible under the wiper scuttle). They fiddled under the bonnet and I was on my way.
 
Hi Zeb,

As Daxx, I also would like to know if you managed to build your prototype and make successful tests of realtime data acquisition with Torque Android/iPhone application?

Best,

Yann
 
Hi guys,

Just gauging interest:

I've managed to hack the pre-OBD Td5 ecu diagnostics, and I reckon (I'm a computer programmer by trade) I can build an interface to Torque (or any other app) etc.

The OBD bluetooth dongles are around a tenner, I can build a dongle that will interface with the pre 2007 Td5s that will give DTCs/ecu fault codes and live data - allowing you to see RPM, fuel consumption etc on an Android app on your phone or tablet..

It will probably cost around £30 (I'm not going to make any money out of it lol) would there be any interest?

Doing it primarily for myself, but if anyone else is interested I would put the time in and make a more polished version fit for sale..

and if loads of people want it, then future versions would possibly be around £50 - still much cheaper than a nanocom, but would give me a bit of profit..

Reply in here with any thoughts or ideas, anything appreciated!
Cheers
Zeb
I have but cant get too see my iphone or the iphone too see it !

It says its for the iphone
 
Back
Top