Obd2 trip computer planning

New to the forum, and new to arduino here.

As the title suggests, I'm looking to build an obd2 gauge cluster and trip computer for my truck. I do a lot of overlanding trips, and like to keep track of a few things related to fuel consumption and performance.

I know there's an obd2 interface for arduino to pull the information from my ecu into the arduino.

What I would like to do is have 3 small screens that I can integrate into my dash that can display multiple different gauges at any time.

On the software side, I would like to be able to change the gauges, as sometimes I need to view certain information (roll/pitch), and sometimes different information.

These are the things I would like to monitor:

Transmission temperature

Coolant temp

O2 voltages

Fuel trims

Battery voltage

GPS coords and altitude (not necessary, but would be nice to have)

Fuel stats (fuel remaining, instant mpg, average mpg, distance until empty)

Roll/pitch

Clock

As you can see, putting all of this on a single display would be VERY crowded. Hence the reason I want multiple screens.

I'm not entirely sure if I want to be able to display these values graphically, or as a purely numerical value, but having the option to do some basic graphics would be nice.

I would like to control the displays using a rotary encoder with a push button to select menu items.

I'm hoping someone can help me choose the right hardware for this. I'm. A bit unsure what screens I should use to display the information. I'm thinking 1.3-1.8" displays would work best. That way the information is rather easy to read.

Thanks in advance!

That's a large and complex project and you are an Arduino beginner. If you attempt all that, you will fail and loose confidence in yourself. To succeed, you need to start really small, building your skills and project slowly, and be prepared that this process will take a long time.

To begin, I suggest starting with the simplest of your requirements. Perhaps the clock. This will allow you to learn the basics of Arduino circuits and code, on the bench.

Large colour displays require a lot of memory and processing speed, and most Arduino don't have very much. One solution that could help with this is to use displays with intelligent controllers built-in. These not only make life easier for you as a coder, but also off-load a lot of the processing and memory requirements from the Arduino. "Nextion" displays are an example of this type of display that are becoming popular with Arduino users.

I planned on building it in stages. I also don't need color, and I was thinking the layout could be something like the attached image, only more monochrome.

If anything, I'd probably start with the transmission temp gauge, as that's one of the most important gauges I need.

I just want to buy all the hardware at once, and make sure I get the correct hardware.

Ultimately, my first major question is what displays would work best for this project. I'm a bit unsure whether to use an spi or i2c display. I don't need real-time analog gauge performance here.

I just want to buy all the hardware at once, and make sure I get the correct hardware.

Mutually incompatible goals, in my experience! As you progress and gain experience, you begin to learn what the best components to use are.

Monochrome displays probably won't fix the memory/speed issue. They need less than colour displays, yes, but still a lot. And the larger displays are always colour. The example picture you posted is only 1" size. You can get larger monochrome LCD and OLED displays, but they are more expensive than similar size colour displays.

You can get larger LCD character displays. These don't need much memory or speed from the Arduino, but are not flexible. You can't use large or fancy fonts, icons or draw graphs etc.

Do you have a sensor in mind for the transmission temp? If so, post a link (read the forum guide to learn how to make links clickable). If not, what temperature range will be needed? I guess the sensor will need to be very tough, high temperatures, vibration etc.

In my experience using the .96" OLED, the library is a HOG; I used it as a simple meter connected to a pro-mini. Because the OLED library consumed nearly all of the program space, I was forced to adapt advanced programming techniques in order to complete my project. The Uno has the same limited program space.

In short, if your plan is to implement the OLED, make sure your hardware has sufficient memory/flash space.

PaulRB:
Mutually incompatible goals, in my experience! As you progress and gain experience, you begin to learn what the best components to use are.

Monochrome displays probably won't fix the memory/speed issue. They need less than colour displays, yes, but still a lot. And the larger displays are always colour. The example picture you posted is only 1" size. You can get larger monochrome LCD and OLED displays, but they are more expensive than similar size colour displays.

You can get larger LCD character displays. These don't need much memory or speed from the Arduino, but are not flexible. You can't use large or fancy fonts, icons or draw graphs etc.

Do you have a sensor in mind for the transmission temp? If so, post a link (read the forum guide to learn how to make links clickable). If not, what temperature range will be needed? I guess the sensor will need to be very tough, high temperatures, vibration etc.

I was planning on interfacing with the obd2 system in the truck to pull temperature and mpg information into the arduino.

I might be able to make it work with a single display. I just need one that is readable in daylight.

A single screen would simplify the required resources, would it not?

another screen option might be one of these

http://www.4dsystems.com.au/group/Arduino_Display_Modules_and_Shields

You could use one of the Nextion displays which communicate via serial
and have a dedicated controller and RAM for the display.

Originally, the nextion displays were considerably larger than I wanted to use, but I'm starting to think they might be a good choice. Using a screen that size would allow me to do everything with a single screen.

Optional touchscreen and the enhanced versions have an RTC and some I/O pins.
There are ready made expansion boards for buttons or I/O access (I/O comes over flatflex).