Technical Custom dashboard display functions

Currently reading:
Technical Custom dashboard display functions

siomone

New member
Joined
Aug 29, 2010
Messages
15
Points
4
Just to show you a little modification i made on my GP to show OBD diagnostic info on the dashboard display. Video you can see here

The device consists of a pic microcontroller conecting on car's canbus, getting the diagnostic information and sending them to dashboard!
 
I would like to thank you for your nice words!
As for a guide it is not that simple...
Requires knowledge of electronics, programming etc. If someone has that and starts I can help! Keep in mind that a pcb has to be made and a program also has to be written for the micro to communicate with cars ecu, dashboard etc...


30 degrees, lucky you!

It's not full throtle ;)
 
Last edited:
I suspected as much... I did a module at university on pic programming (only 8bit PIC16 I think it was), I doubt I remember any of it now because since then I've been doing higher level, c#, programming.

And as for PCB manufacturer and the tools to get the program onto the chip - no chance i have those.
 
I have done very basic programming, i can solder and could probably get a PCB made, but i probably dont know enough about PLC programming to do this, id have to be sown step by stem or sent the program!

ahh well.... nice mod anyway ;)
 
The ideal would be to have a professional (probably a company in car accessories/ electronics) to get and mass produce this device. The biggest advantage is that it does not affect at all the internal appearance of the car (ex. Having extra gauges on pillar etc…) as it uses factory steering wheel radio buttons to change the various info shown and the dashboard screen to show them. Mikejt the current program I have is based on microchip CAN controllers which appear to have certain bugs causing the whole device to stuck randomly (not often though). If someone wants to try and build something similar I suggest use different CAN hardware (maybe NXP controllers?)
 
where did you get all the inputs from?

and what wires did you connect to on the dash?

The values of speed, boost, etc come using EOBD commands just as any elm scanner would do. As for the wires the device connects to the OBD port of the car using an obd connector as all the obd scanners. No cutting wires, no putting extra sockets, nothing!
 
Thanks for your reply!!

So basically, all you have is a PCB with your circuit and PLC, connected to the OBD socket, which reads the data and relays it to the dash, without being physically connected to the dash?

and this is the pin layout for the OBD? http://www.elec-intro.com/EX/05-15-11/pinout.jpg

what type of programming does CAN use? (if that makes sense)

i.e. ive used programming whereby you type commands such as

001. start
002. if 2 is Hi Goto 004
003. goto 001
004. output 1 Hi
005. wait 050
006. output 1 Low
etc....

Im going to take a guess that the type you used is far more complex? :rolleyes:

Are there any sample CAN programs out there that I could look at? Ive tried google but cant find any answers about reading from the OBD, just brings up diagnostic tools/code readers :(

Edit: is it just 2 pins on the OBD that connect to the controller (NXP if this was being used?)
 
Last edited:
It’s not a PLC.. just a microcontroller, a microchip pic one. In a Grande Punto all electronic devices are connected to two CAN networks. One low speed called CANB (29bit 50kbps)and one high speed called CANA(29bit 500kbps), about CANBUS you can look here http://www.kvaser.com/en/about-can/the-can-protocol.html . Engine ECU is connected on CANA and the dashboard on CANB. In a Grande Punto OBD socket CANA is at pins 6 and 14 and CANB at 1 and 9. The link you posted shows an obd plug from a scanner, every car has some of these outputs to support the standard obd and some extra (like 1 and 9) to support other purposes.
We talk about CAN protocols and for the part that gets the speed, boost etc the standard obd protocol is used (look here for an intro http://en.wikipedia.org/wiki/OBD-II_PIDs). For the part of sending info to dashboard screen I can’t name a protocol but it is not a problem. By logging the communication it’s pretty easy to find the IDs you need and decode the data part.
The programming you describe is similar to an assembly language. In this project I used C but someone good at assembly can use this instead.
In order to log the canbus and look the messages systems send to each other one cheap solution is ELM327, I have an 1.3a version and it works great. You have to study the elm datasheet and use the device via a serial terminal (hyperterminal or something else…) or you can buy an adapter from canbus to something like usb (if you search google you can find some…)
 
Clever stuff, and neat and tidy. In my youth we used to mount extra clocks in or on top of the dash on our Minis, Imps, Anglias and Cortinas to do things like this. Shows how things have changed.
 
I've ordered the necessary equiptment to have a good go. If I find a solution I'm sure I can make these up for forum members for small cost.

Will be a few weeks before I can get really stuck in because of exams though (y)

Nathan
 
I've ordered the necessary equiptment to have a good go. If I find a solution I'm sure I can make these up for forum members for small cost.

Will be a few weeks before I can get really stuck in because of exams though (y)

Nathan


That would be much appreciated, just out of interest, what equipment is required? I wouldnt mind having a go if it didnt cost too much but its finding the time and patience due to work etc :(
 
Back
Top