Cable for ADX connection Solved!!!

Discuss anything TunerPro related.

Moderators: Mangus, robertisaar, dex

Post Reply
Duckmang
Posts: 30
Joined: Mon Jun 01, 2020 5:17 pm

Cable for ADX connection Solved!!!

Post by Duckmang »

I'm building an ADX file for my ecu and need a cable to connect to it. My ecu comms is asynchronous serial 9600 baud. The data line rests at 12v and the data is input/output by driving the line low. I'm rather unsure what I need in terms of a cable that is able to interface through USB with TunerPro for this configuration. Any pointers are greatly appreciated.
Last edited by Duckmang on Sat Jun 28, 2025 8:48 pm, edited 1 time in total.
Chatchai
Posts: 20
Joined: Sun Aug 25, 2019 3:54 am

Re: Cable for ADX connection

Post by Chatchai »

Interesting project If you're already building an ADX file, it suggests that you know the expected data stream and ECU protocol fairly well.
From what you've described (9600 baud, line idles at 12V, active low for data), it sounds very similar to a K-Line style interface (ISO 9141 / KWP2000), though you didn’t mention the exact protocol or what ECU/vehicle this is for.
To help you choose the right cable/interface, it’d be helpful to know:

What vehicle or ECU are you working with?
Is the protocol KWP2000, ISO9141, or something custom?
Are you communicating on a shared TX/RX line (half-duplex)?

If it's K-Line-like, you can use a USB-FTDI adapter (e.g., FT232RL) combined with a level-shifting circuit (like a transistor or LM339 comparator) that pulls the line low to send data, and lets it float to 12V via a pull-up.
There are also off-the-shelf cables like KKL VAG or OBDLink SX that can work if your protocol is K-Line or close to it, but for a custom serial line, a DIY circuit may give you better control.
Duckmang
Posts: 30
Joined: Mon Jun 01, 2020 5:17 pm

Re: Cable for ADX connection

Post by Duckmang »

I spent the weekend working on this. I used a USB to rs232 cable to get s serial stream. I feed that into a Max232 to convert it to TTL 5V, and then into a voltage translator to make TTL 12V. This almost worked but it wouldn't pull the data line low when connected to the ECU. What I found is that the voltage translator, though it has a gnd connection, doesn't pull the data line low itself. It's just a passthrough, and the previous IC has to actually pull the line low. Well the Max232 can only sink about 2ma and the ECU takes about 20ma to drive the line low. Once I wire up a non inverting driver for the TX side between the MAX232 and voltage translator, I expect to finally have comms.

To answer the other questions, its a Motronic 3.4 ecu used by Mercedes. It's a single line so TX and RX are tied together. I have done a fair bit of logic analysis with the ECU and a scan tool to understand it enough to work out an ADX file. I've also developed an in depth XDF for this ecu so I'm looking forward to data logging as well as some other functions available once I can communicate with it.
Duckmang
Posts: 30
Joined: Mon Jun 01, 2020 5:17 pm

Re: Cable for ADX connection

Post by Duckmang »

Well if anything this project has taught me humility. I gave up on my homebrew connection circuit after finding the L9637 chip. Its specifically designed to interface with a K-line diagnostic circuit. My ecu doesn't use the common K-line protocols but it communicates pretty much the same way so the L9637 works as a gateway. An FTDI cable USB to UART interfaces with the chip with minimal components and passes the cable test in TP. I now need to work out my communication protocols but I was able to connect my scan tool to the ecu and see some erroneous data showing up in the TP monitor while it was communicating.
Duckmang
Posts: 30
Joined: Mon Jun 01, 2020 5:17 pm

Re: Cable for ADX connection Solved!!!

Post by Duckmang »

I hit a snag with the L9637. Almost all the circuits I found for it had a 510 ohm pullup resistor on the K-line. This was preventing the data coming back from the ECU from registering. I could see the data from the ECU on the scope but it wasn't pulling the line close enough to ground for the bits to register. Raising that pullup resistor value to 1.5k ohm finally has me receiving data.
Post Reply