Go Down

Topic: Arduino for Nissan Consult (OBD-like) interface (Read 5710 times) previous topic - next topic

jtigchelaar

Hello,

i've been a lurker of these forums (the old ones actually) for years now and i own an Arduino Duomillanove which i have used for some small experiments.

I'm a C# programmer by profession and i like to work on cars as a hobby. Over the past few years i've been merging the two and i now have a fairly modern Nissan 300ZX.
The icing on the cake for me would be to replace the dashboard with a TFT screen on which i can show custom graphics.

And here come the questions:

I have a Nissan Consult cable (like OBD, but slightly different protocol), currently i have the usb version, but i'm getting a regular serial one.
I have a serial output from a custom gear shift computer.

In order to keep the project in scope and feasable i don't want to reinvent the wheel completely, so instead of buidling my own mini2440 based ARM WinCE device i'm thinking of getting this: http://www.dealextreme.com/p/7-touch-screen-tft-lcd-win-ce-6-0-akarm-cpu-tablet-pc-w-wifi-black-300mhz-39551

It has a USB host port and should be able to communicate with any FTDI based Arduino.

I want to use the Arduino to read both the Nissan Consult AND the custom serial input from the shift computer and merge this to one easily readable stream which i want to send to the WinCE device.
On the CE device i will write the graphic interface.

The main question aside from the questions any of you might have is: Which Arduino should i use? I'm thinking the Mega, because of the 4 hardware serial ports.

As a side question: i know some people already have successfully written the Arduino <-> Consult interface, any guidance there would be highly appreciated, i do have all the documentation and the protocol is not hard, but it's mainly my inexperience with microcontroller coding that would screw this up.

So... Any thoughts?

Kind regards,
Jelle Tigchelaar

Experience is something you get just after you needed it.

logic

I'm familiar with OBD-II, SSM (Subaru Select Monitor), and MUT (Mitsubishi's proprietary protocol), but I don't know a lot about Nissan's protocol, so I can't help you with specifics on that, unfortunately.

The Mega is nice because of the pin density and additional storage, but the footprint isn't (IMHO) in-car friendly; you could actually do very nice things with a Pro Mini or Teensy mounted in the end of an OBD-II cable. :) That's mainly a mounting/aesthetics problem though; there's no reason you couldn't use a Mega for this.

But, NewSoftSerial makes the need for the extra serial ports relatively low for a project like this, in my mind. OBD-II runs at 10400bps, SSM is 2400bps, and MUT natively runs at 15625bps (but can be boosted to 62500bps with an easy firmware change). Assuming Consult operates at similar rates (some quick googling suggested 9600bps?), there's no reason you shouldn't be able to have a couple of soft serial ports merging and streaming data to the host over the hardware serial interface/USB.

That being said: if you're going to have a full-on host system (and that CE device actually looks pretty nice for the price; a 7" display could probably mount rather attractively too), why not do the data collection/merging there as well? Attach the USB interface to a hub, connect a pair of USB-to-serial adapters, and run all your data collection on the host. This would seem to be the lowest cost/effort approach to me, but I might be missing a requirement?
-Ed
Felix qui potuit rerum cognoscere causas.

fliggygeek

http://www.plmsdevelopments.com/images_ms/Consult_Protocol_&_Commands_Issue_6.pdf Theres what I found when wanting to do a similar project, It's still in the works, ut stalled at trying to find some other similar work.
"Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent di

logic

You guys apparently had a lot more information available about your ECU directly from Nissan than we ever got with the Mitsu ECUs.. ;) Everything we know about MUT was reverse-engineered from the ECU itself, or from observing the MUT-III tool interacting with a real car.

I see RX, TX, and clock referenced; I'm assuming that's a separate connector, rather than them reusing the K/L OBD-II lines in some weird way?

Ahh, nevermind, I just found this, the schematic clarified quite a bit:

http://www.mp3car.com/engine-management-obd-ii-engine-diagnostics-etc/18690-non-obd-solutions.html#post136176

So yes, a separate connector. Cool, the wiring is a lot more sane than I'm used to. (We've got a separate plug for some of our ECUs, with a single pin; put 16V to it, and you can reflash the ECU.)
-Ed
Felix qui potuit rerum cognoscere causas.

jtigchelaar

Thank you for the replies so far!

We have been lucky because the entire Consult protocol is described in detail. If anybody wants these just pm me, or i'll post the link later today, at work now so i don't have the link.

The idea about the USB hub and doing data on the CE device is sound, i'm going to try that first...

And for the price the CE device is very nice indeed, that's why my eye fell on it.

Thanks for the obvious hint about the USB HUB! Sometimes you just overlook these options...
Experience is something you get just after you needed it.

rmyc

did you figure it out? i've been trying to do something like this.

i was wondering how were you communicating with consult -> arduino ?

Sergegsx

jtigchelaa have you made any progress on your project?

I am really interested in your C# skills to code some nice interface, i was also thinking of using a wince touchscreen.

I have already connected my arduino to my Ford Focus 2007 and intercept rpms, speed, temperatures, runtime, ....

http://secuduino.blogspot.com/2011/03/comunicacion-obd-con-ford-focus-2007.html

problem is my C# skills are limited and my design skills even more.

Crim

I whipped this library together over the past weekend, and figured I should post it for others.  It uses the Arduino's UART serial port to communicate to a serial consult adapter.

This is the first bit of C/C++ I've written in long time, I'm a bit rusty, if you see anything silly in the code let me know or post up to the github project.  If you use the code and add any missing functionality post those up as well!

https://github.com/Crim/Arduino-Nissan-Consult-Library

Stephen

Cldet

Was there any success on developing the Arduino-Consult connection?

Crim

The library I posted works like a champ.  I built an entire LCD based system that interfaces with my Z32 using it.


monder

hello there, i am about to start a new project an arduino nissan consult with boost controller did it work with your consult and what hardware did you use?

robtillaart

Please check this thread - http://forum.arduino.cc/index.php?topic=238967.0 -
Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Go Up