Automotive Temperature and Compass

Hello Everyone,

I have a possibly big question for you guys.

I have a Jeep that I am retrofitting an overhead console into that displays the temperature and compass, but the display doesn't work anymore and working ones are hard to come by.

I'm new to Arduino but i was thinking I could use a board attached to a small OLED and a temperature sensor and GPS or Compass module of some sort and then mount the OLED in the overhead console.

All I need it to display is something like this

And I was thinking a screen something like this

I'm just not sure how to go about it, so if any of you could give me some kind of directions or point me in a direction i would definitely appreciate it.

I am good with soldering and things like that but its the connections and coding side of it I am a newbie with.

Thanks

There are tons of example projects using an Arduino and OLED displays, as well as Arduino and compass modules. Google ARDUINO and OLED, and ARDUINO and COMPASS. Buy the hardware and experiment using breadboards. When you have a breadboard prototype working, then it's time to have a PCB made.

I wouldn't use GPS because you can't calculate heading until you are moving.

Does the vehicle have an ODBCII port?

If the vehicle has an ODBCII port then querying the Jeep Community may reveal the kinds of info available for the model series.

Now my guess.

I am going to guess that information on the vehicles display is not coming from sensors mounted on or near the display unit. Instead those sensors are mounted at other locations on/in the vehicle and the display unit is receiving messages from the vehicles ECM relayed to it by the sensors.

I am saying that the PID codes to read the ECM for the values, as shown on the posted images, are typical PID codes and can be read by a MCU.

For me the learning curve for using CAN to communicate between MCU's was fun and a a bit time consuming experience. I did learn that the programming for CAN or ODBCII and reading data from the car was better done by a premade device.

I got a Freematics https://freematics.com/. I had a functional unit on a breadboard within 4 hours. A tremendously shortened time over writing my own CAN comms.

You should be aware that there are CAN/ECU simulators that you can use to develop your project on because the wrong info can be put on the ECM's CAN buss. That is the reason why I went with a premade CAN MCU device.

Sparkfun makes a ODBCII port reader as well. I have not used it.

If you go with a Freematics, the MCU should have a fully functioning and available serial port for communications with the ODBCII port reader

I found that I was able to update all the dashboard instrumentation readouts I wanted in less than 1000mS, querying for the information once a second, go on a road trip of several hundred miles (80mph+ speeds), and even though I found a few code bugs with my stuff the ECM did not falter in the operation of the car. My concern being what was a comfortable rate of data requests from the ECM and not impact on the cars performance. There was nothing that I noticed with the driving/handling of the car and the ECM, when I got home did not report any unusual errors.

That I had my laptop with me, I was able to stop and fix the code errors.