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:
Concept/history
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.
Parts:
- 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 files.zip (54.8 KB)