Automotive combo temperature gauge completed

Thanks to help in various sections of the forum, I’ve completed my automotive combination oil temperature and air temperature/humidity gauge. It was made using commonly available parts except for the housing, see below for zip file. It has bench tested OK, I cannot test it in the car right now since it is inoperable. If I can find this thread again after the car is operational, I’ll report back how it is doing.

While this particular gauge is used for oil temperature and air temp/humidity, it could of course be used for many other functions via a modified sketch.

The gauge will measure oil temperature from a range of like -40 F to +300 F via a common GM sensor.
It will measure air temperature, humidity, and heat index via a common DHT22 sensor.

All of this will display on a common low-cost OLED. The display alternates each reading every few seconds. Timing can be adjusted via the delay after each function.

The board can be reprogrammed by removing it from the car, then removing the cap/bezel and plugging it in via USB.

The housing is a press-fit into 52mm openings, although a u-bracket could be used to make a standard mounting.

Here’s an overview:
The Nano is small enough to fit inside a 52mm gauge housing. It can be mounted on some perfboard that will itself mount inside a slot built into the housing. The bezel/cap for the housing mounts the OLED. The gauge is about 2.25" deep overall, with 1.875" being the housing behind the bezel/cap. The Nano has an added advantage as it outputs +5V that is needed for the GM sensor. I had looked at a smaller board (Teensy LC), but there were issues using the SH1106 library with it and it only output 3.3V, which did not work for my sensor.


  • Arduino Nano
  • Perfboard to mount Nano inside gauge housing
  • $1 power converter 12V to 5V 1 amp made from a Dollar Tree USB phone charger (I can’t find the page I used to make this, but you take apart the charger and add wires for 12V in and 5V out using a multimeter, the final product is small enough to fit inside the housing under the perfboard)
  • Various 22 gauge wire for internal wiring
  • 1.3" OLED, mine was white and uses the SH1106 library
  • GM coolant temp sensor #12146312
  • DHT22 air temp and humidty sensor
  • Custom 3D printed gauge housing
  • Grommets for wires through gauge housing
  • Glue to hold down OLED and insulate wires
  • Your choice of wiring connectors for power and sensors, I used some Hitachi “MTW” ones that are common on motorcycles
  • Shielded wiring for use in engine bay

Wiring runs through the back of the gauge and consists of a +12V and ground feed on a 2-pin connector, then a 4-pin sensor feed.

Sensors were mounted in the engine bay/front fender using some shielded cable.

Code will follow in the next post due to length.

I have attached some pics of the completed project and a zip file for the gauge housing and cap. They are in .stl format so they can be used for 3D printing. They may require some minor work to align the OLED.

52mm gauge stl (54.8 KB)

The code exceeds 9K characters, so I’ll attach it as a zip file here. The internal file was saved in rtf format.

I’ll also attach a wiring schematic as a PDF.

Nano gauge (4.18 KB)

52mm_combo_oil_air_schematic.pdf (23 KB)

Cool project. I like how you built the power supply inside.

Where are you going to mount the DHT22 sensor? Do you think it will stand up to the engine bay? Did you consider using a GM intake air temperature sensor like 12160244?

Great project!

My only concern is the power supply. Chargers offer very little protection for electronics and automotive environments are notoriously bad electrically. I hope you will keep us posted with the status of this project.