SR20 Forum banner

Everything you ever wanted to know about the Consult port (loooooooong)

19942 Views 89 Replies 51 Participants Last post by  UK-SRi
Get a cup of coffee, this is a long post. Most of this I'm just cut and pasting from my older posts to the local TN se-r list. If you don't know what the Consult port is do a search or something. Anywho...

Recently I've been playing with the consult port. Actually, I'd been playing with it ever since I got my Techtom (and I don't mean just plugging my techtom in, I've got cool toys), but recently I've been playing with it and its been playing back. Back in the day, I'd always been stuck on some key issues, and thats they way things stood until late last year. Now things have gotten to the point where the consult port is no longer a great mystery but is wide open... and has opened up new doors. Anyways, let me walk you through how all this came about, where things stand today, and whats on the horizon.

A little background: after I got my techtom CMX-100 the first thing I did was take it apart. Half the reason I ordered it was to figure out how the consult stuff worked. It turns out its pretty simple. From playing with the CMX I figured this out: there are 3 pins used to communicate, the above mentioned Tx, Rx, and Clk. The Rx pin goes from the ECU to the CMX (or whatever) and the Tx is from the CMX to the ECU. Data is really close to RS232 (ie the serial port on your computer). Its 9600 baud, 1 start bit, no parity, 1 stop bit, but levels are at 0 and 12 volts. When you first plug in the CMX it goes through a little handshake routine, and I hooked up one of the logic analyzers at work and had that figured out. After that the CMX talks a bit to the ecu, and the ecu talks back, sending whatever the cmx had asked for. I found a site by a cool japanese dude that had done the same thing but with a MDM, but he had gone a bit farther. He had a spare ecu wired on his bench with dummy inputs for sensors, and then started mapping which commands from the MDM monitor which sensor. Cool stuff. His website is here:

http://www003.upp.so-net.ne.jp/doggie/car/consult/consult_analysys/cons_analysys.htm

What really had me stumped was the clock pin. Its a 153.6kHz clock, which is 16 times the 9600 data rate, and its a 5 volt signal not a 12 volt signal like the data. Whats wierd is the clock is generated by the CMX, _not_ the ecu. I figured at the time that the clock signal had to be synchronous with the data, but it turns out it doesn't. I didn't really understand what it was for anyways (I still don't, but I can guess, lol) as you woudl be better off just transmitting
a 9600 clock synchronous with the data if you wanted to go to all the trouble
of generating a synchronous clock. I know roughly whats its probably for. For that, you have to know a little bit about how a rs232 chip traditionally decodes data. They use a 16x clock to poll for a level transition indicating the begining of each bit. Usually though their clock is either on the same chip or close to, and they use an on-chip divider to set the 16x clock to whatever the desired transmission rate is. So I don't understand why the 16x clock would even need to be transmitted to the ecu, and not just have it on board the ecu, or just use whatever clock is already on the ecu and divide that down, but hey, thats Nissan. My current guess is that they made the clock external so the external device can set the clock speed of the data transmission. So if you want 9600 baud you generate 153.6kHz or if you wanted 2400 baud you'd give it a 38.4kHz clock. I havn't tested this lameass theory, but thats my current thought.

Anywho, thats kinda off subject. Thats kinda where things sat for about the last year, as I was too busy to work on it and didn't have much incentive. Then in December something big happened. Obviously there are people out there who know exactly how the consult works, hence products like the n-probe and conzult. None of those people ever went public with what they knew. Well, someone finally did. Turns out there is a small group based mostly in Australia thats gotten waaaaaaaaay further then I ever did. I'm guessing they had a real consult to backwards engineer. Anyways, they not only had the interface figured out, but also the command list for everything the consult can do. Everything. Its amazing what it all it can do. Read their website, here (scroll down to the bit about consult and download the pdfs):

http://www.users.bigpond.com/webspace/plms/

Everything is pretty much laid out there for you. You can see the schematic they list for their interface board. I built one (actually I've built several now), only I changed some stuff. I simplified the drive circuit a bit and am doing the clock differently as the part they list is not avalaible in the US. Read further down for the schematic plud digikey partlist, plus some notes on the board.

Anyways, back to the command list. Cool, huh? I'll skip the the punch. Not only can you do diagnostic stuff and monitor sensors, but you can download the contents of the ROM. I'm sure you see where this is going... :)

So what does this mean right now if you build one of the above mentioned boards? Well, out of the box you can just talk to the ecu with a dumb terminal program. you send it hex commands, you get back hex data. Cool, but not anywhere close to functional. What we need is software. So far the coolest program is the freeware version of ConZult. Download it here:

http://300zx-twinturbo.com/conzult/software/free_conzult.exe

Its got the basic functionality of his software but with the data logging turned off and the controls for some of the diagnostics turned off, and the rom stuff disabled. However, you can monitor all the sensors in real time (just like the MDM-100) and he did leave the function to put the car in timing mode turned on. Thats just too cool. Trust me, its fun to play with. Here's a screenshot I took earlier this evening:



He's selling different versions of the software only for $75 and $150, but doesn't have a full port for our cars yet. I'll probably buy one if/when he does, but I do like free. :)

What I'd really like to see if opensource software written from within the SE-R community. Theres are already some basic C libraries that have been written, but unfortunatley for most of us they were written on a *nix box and how a *nix box deals with coms ports (erm, ttys) is just not easily portable. But they would might be a start. I'm really not much of a programmer, myself, but I know some of you guys think your hot stuff. On a side note, I'd also like to see software for the palm, ala n-probe's palm stuff. Anyways, the libraries are here:

http://www.cit.uws.edu.au/~luke/software/CONSULT/

One quick note, there are some functions I would like written asap. Namely I want a little program to download the stock ROM. Theres already one person starting work on this but the more the merrier. If your serious about writing software (and it must be opensource, or at least freeware!) reply to this message (don't PM me, my mailbox is getting full) and I'll build you a board at cost.
See less See more
1 - 20 of 90 Posts
4
Which brings us back to the boards. The schematic for my prototype is here:

http://web.utk.edu/~cjohns32/consult/proto.pdf

and the parts list is here:

http://web.utk.edu/~cjohns32/consult/prot_list.htm

Let me say one thing first. This was my first cut and I did not concentrate on being cheap. In fact most of those components I had on hand thats why I used them. Oh, here's my first board (heh, its ugly, i screwed up the pins on the DB9 connector and a couple of other things, oopsie!):



Here's one I did for a local yesterday evening. Muuuuuch cleaner, eh?



Like I said, these were prototypes. I'm going to do a second cut shortly that should bring the cost of parts down significantly. Right now I'm looking at ~$9 in small quantities per board, with out box. Actual board cost (just the PCB) for now is just my time as I'm making them in house. You'll notice those boards don't look like normal circuit boards. Those are actually CNC milled out of thin sheets of copper.



For small runs it works great (5-10), but for like over 30 we'd need to outsource it, and prices would probably be on the order of $2-5 per board depending on how many we made and size, etc. I'd like to put together some group deals when this stuff gets a little more developed. Prices will depend on whether you want me to assemble the boards or if you want to solder them up yourself. I'll do two versions, one using larger through hole parts and one with surface mount like the above pictures. For me its no big deal, but quite frankly if your not half way decent at soldering you don't want to do the surface mount ones yourself. This stuff is tiny. Anyways, the price I'd like to meet is with me doing the assembly $50 shipped, and with you doing it $20 shipped, no box. I'm doing a run of local beta test boards first though at cost, and as I said earlier if your willing to write software (especially if you have experience programming com ports) I'll try and add you to that last. For everyone else wait for a post in the group buy section or an update here. I'll post pics of the new version with a cheaper parts list soon. BTW, you can build these on a perf board if you've got the patience and you like to build stuff.

The only hurdles I've got right now is the box and plug. The box I'm putting mine in runs $10 from digikey and dosn't come down in price unless I order 50 (yea, it's a ripoff). I haven't been able to find anything I like thats cheaper. I contemplated trying to squeeze the board in a DB9 hood, but I've just about trashed that idea, they're just too small. The other problem is the actual consult plug. Right now I'm doing individual pins, but thats annoying to use. I've finally found a vendor that claims to have some plugs but I havn't gotten them yet. I'll post when I do. The other option is to splice your harness and add a second connector of a standard type, but I don't really like that option. Here's what they look like right now (this is for a TN guy):



Moving on, there is a small Z forum where some of this stuff is being developed. It concentrates more on rom tuning, but theres a gentelman there who is also in the process of making boards. They should also be a cost effective solution. Its also got links to some of the Z software.

http://www.tangentrix.com/forums/index.php

One final note, on the subject of ROM tuning, 'cause this is one direction this is going. I'd really like to see many many different tuned roms freely available for SE-Rs out there. I'd also like the whole process of what it takes to tune a rom documented and the tools freely available. This is a step in that direction. I figure within a month dumping the contents of the rom should be automated. The next two things that need to be done are developing a daughter board and figuring out where the different tables are. Nissan roms are getting better explained these days, and all that stuff should apply to se-r ecus, we just need to get the locations of the maps. One of the Z guys (we se-r guys really are behind the curve btw) has written a little program that lets you walk through the rom looking for tables. You can find it on the Z board above. Of course, all ROM software thats been done for Z cars/silvias (think 925style and if you don't know what that means don't worry, lol) should work if we get the addresses. I think with enough people working on this we should be able to get somewhere. I figure just comparing different stock roms should get us somewhere. The other problem is the daughter boards...

First, I think with the right ROM the infamous badbiki boards should work (a pinout he posted on another list a long time ago looks right), but there a little expensive for my blood. :) My next project as soon as I get the consult boards finalized is to do a daughter board. Amazingly, the specs on these are out there if you look hard enough ('course, some of you already now this because your way ahead of me). I've already got the schematics drawn up, I just need to do the layout and mill a board (and I need the stock ROM!). I'm going to do my boards a little different than the Australian/Japanese boards (oh, and there are a bunch of Japanese boards btw). They all use two cheap 8-bit eproms to generate a 16-bit output; I'm going to use one 16-bit eprom that will be pin compatible with JWT boards (although half the size of the proms Jim uses). They cost difference in doing it this way is maybe $5 dollars, no biggie. If your wondering, I'm doing it this way because I own a JWT ecu, and I'd like to be able to swap ROMs with it. Let me say one thing. I am not copying JWTs ecus. If I was I wouldn't be on the hunt for the stock ROM. If I wanted a JWT rom I'd read mine right now. I know there are already people out there copying JWT ecus. I won't do this. When I have a working version I will post schematics, parts lists, and full details. I figure its two months out or so.

Whew, finished that coffee yet?

-Calum
See less See more
All I have to say is awesome!!!!!!!!


put me on your list.
I'd love to take a look throught the consult port window into the heart of me ECU one day.

I only hope this it developed for OBD1 too.
Awesome write up. VERY interesting!
2
Damn...
I'm about 1 step ahead...
The oscillator needed is available in the US BTW, but its a different part #.

My board is a lot smaller, but is my first rev, I think I can get it smaller by switching to SMD and intergrating a serial cable into the PCB instead of the costly plug.

I'm also a VB programmer :) I've got a couple very cool tricks up my sleeve...

Chris

See less See more
I also have a daughterboard for the ECU - and also the stock ROM is easy to obtain now that these consult devices are available. You can easily download the code from the ecu.

Speaking of which, you can download the stock code from say a bluebird ecu, and pop it into a us B13 or B14 ecu correct? <hint hint at things to come>

Chris
Man, both of you are incredible... no joke. Makes me feel like giving this a shot... ooops, forgot. Absolutely no free time, especially with some other "projects" I've got going. When things have settled down a bit on the "home front", I'll share... just like y'all. It's a bit too generalized right now, ideas bouncing off my brain pan, being scribbled on scratch paper;).

Every once in a while, I get impressed with this forum and the members on it... all over again.

Peace Out,
Mark
body80 said:
I only hope this it developed for OBD1 too.
This is OBD-I stuff, I don't own an OBD-II car.
MauiBlueGride said:
Damn...
I'm about 1 step ahead...
The oscillator needed is available in the US BTW, but its a different part #.

My board is a lot smaller, but is my first rev, I think I can get it smaller by switching to SMD and intergrating a serial cable into the PCB instead of the costly plug.

I'm also a VB programmer :) I've got a couple very cool tricks up my sleeve...
Nice board. :)

I found a source for the original oscillator in the US but it cost me less to use a higher clock and divide it down. Its the dang box I want to find cheaper. Digikey seems to only carry that one box that has a molded db9 plate. Its really a bit on the big side too.

I am not a VB or any other type of visual programmer. :(

Would you post your schematic of your daughterboard, or alternativley if I posted the schematic of mine could you take a look at it and tell me if I got it right? Oh, did you do yours with one 16-bit eprom or two 8-bit?

-Calum
Since all of this stuff is above my head, I'm just going to get in line behind the smart kids. WHENEVER you guys get the ability to offer a fully tunable ECU, I will be the first with cash in hand.
This will work with ODBII cars as well, consult port is a consult port...

Chris
MauiBlueGride said:
This will work with ODBII cars as well, consult port is a consult port...

Chris
Correct, but the gray Consult port only goes up to 1999 models here in the States.
NICE. Chris, I didn't realize you were an electronics guy. I might need to build one of these boards and start playing with dumps. Sorry, but if I have time to program this, it will be in *nix.
Cjburn said:
Since all of this stuff is above my head, I'm just going to get in line behind the smart kids. WHENEVER you guys get the ability to offer a fully tunable ECU, I will be the first with cash in hand.

Ditto, ill just stick with the mechanical side of our cars i dont undertand any of what i just read.
I'm gonna build one on a pref board, if you could, could you list the cheaper IC? I was kind of doing this the hard way, I WAS building a Data longer to log the voltage of the sensers to monitor this type of thing, but this is alot simpler.
http://www.engineers.auckland.ac.nz/~lmoo016/

^This guy has written some software for editing maps for Nissan. Might want to talk to him.
You guy's know this was figured out a couple years ago? Where do ya think the software for the nprobe came from?
Yes it was figured out a while ago, but no one released it...
Hence the reason you have to pay $400+ for an nprobe or conzult...

Imagine a $50 box, and freeware software for the SR20.....


Chris
MauiBlueGride said:
Yes it was figured out a while ago, but no one released it...
Hence the reason you have to pay $400+ for an nprobe or conzult...

Imagine a $50 box, and freeware software for the SR20.....


Chris
OMG...wet dream
MauiBlueGride said:
Yes it was figured out a while ago, but no one released it...
Hence the reason you have to pay $400+ for an nprobe or conzult...

Imagine a $50 box, and freeware software for the SR20.....


Chris

wow :eek: :eek:
1 - 20 of 90 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top