Dash gauge is terrible, mechanical gauges have their own issues, most digital gauges are expensive and ugly so I built one using an ESP32-S3 and 2.8in display.
ESP32-S3 boards are small low power boards similar to Arduino. This is the base (Waveshare ESP32-S3-2.8B no touch). For temp I used a DS18B20 digital (OneWire) sensor.
I designed the enclosure in SolidWorks (have it at work) and 3D printed with an online service. Sanded some bad layer lines from the print, adhesion promoter, primer, paint. Coded the entire project in Arduino IDE using other projects as references. I also added a small RTC (real time clock) board w/ coin battery to keep the time when it powers down. The time is not critical to the sensor just a visual add on. There is logic in the temp readout code that turns the numbers orange at 205°F and red at 215°F. The LandCruiser logo is a custom graphic I made from a png i found online. I customized another coolant temp logo I found online. I put probably 50-60 hrs into this. Figuring out the code was the biggest hurdle.
I submerged the bottom of the sensor in a boiling pot of water and put an offset in the code to adjust the temperature. One point calibration is enough for this. It was off by only a few degrees. Pretty impressive.
If you are interested in the code I made a GitHub project for this. Code is an early rev with no RTC clock and the temp logic is different but temp sensor is fully functional. This code will be very specific to the board I used but it will help you get there with another:
github ESP32-S3 temp sensor project
Some project photos:
For power I installed a buck converter in the dash to convert 12v to 5v right on top of where the ash tray slides into the dash. Pulled 12V from the cigarette lighter so it powers on ACC or ON. I installed dupont connectors on the sensor ran through the firewall for easy plugging into the board. Did not use the connection board that came with the sensor (too big) and soldered in a 4.7k resistor on the temp IO instead.
Would be wise to install the temp sensor first before routing wires through firewall. I broke the RTV on top when installing. Easy fix though. I'll probably wrap the sensor wire for vibration protection.
Drove the Landcruiser to work this morning and I am seeing good temps. I am super happy with the results.
ESP32-S3 boards are small low power boards similar to Arduino. This is the base (Waveshare ESP32-S3-2.8B no touch). For temp I used a DS18B20 digital (OneWire) sensor.
I designed the enclosure in SolidWorks (have it at work) and 3D printed with an online service. Sanded some bad layer lines from the print, adhesion promoter, primer, paint. Coded the entire project in Arduino IDE using other projects as references. I also added a small RTC (real time clock) board w/ coin battery to keep the time when it powers down. The time is not critical to the sensor just a visual add on. There is logic in the temp readout code that turns the numbers orange at 205°F and red at 215°F. The LandCruiser logo is a custom graphic I made from a png i found online. I customized another coolant temp logo I found online. I put probably 50-60 hrs into this. Figuring out the code was the biggest hurdle.
I submerged the bottom of the sensor in a boiling pot of water and put an offset in the code to adjust the temperature. One point calibration is enough for this. It was off by only a few degrees. Pretty impressive.
If you are interested in the code I made a GitHub project for this. Code is an early rev with no RTC clock and the temp logic is different but temp sensor is fully functional. This code will be very specific to the board I used but it will help you get there with another:
github ESP32-S3 temp sensor project
Some project photos:
| Installed. A little blocked by steering wheel so I might change location. Attached with 1/2" 3M VHB tape right on dash front. The gauge is not on that switch in the photo. Notice the time in the bottom (RTC board and code added) | Board is attached to enclosure with only strips of 1/8" 3M VHB tape on front. I drilled and tapped for M2 screws in the corners of the back. Pic is before I installed the RTC board on the back panel. | Bought a cheap Beck/Arnley temp guage on RockAuto, drilled top out, cleaned inside. Filled with thermal paste (6grams). Sealed the top with Permatex Ultra Red High Temp. Permatex Thread Seal (white) on threads when installing. | Full design before I figured out the code for the RTC clock and time display. |
|
|
For power I installed a buck converter in the dash to convert 12v to 5v right on top of where the ash tray slides into the dash. Pulled 12V from the cigarette lighter so it powers on ACC or ON. I installed dupont connectors on the sensor ran through the firewall for easy plugging into the board. Did not use the connection board that came with the sensor (too big) and soldered in a 4.7k resistor on the temp IO instead.
Would be wise to install the temp sensor first before routing wires through firewall. I broke the RTV on top when installing. Easy fix though. I'll probably wrap the sensor wire for vibration protection.
Drove the Landcruiser to work this morning and I am seeing good temps. I am super happy with the results.