1986 FJ60 - Custom 3D Printed Temp Sensor Gauge with ESP32-S3 and Arduino Code for Coolant Temp

This site may earn a commission from merchant affiliate
links, including eBay, Amazon, Skimlinks, and others.

Joined
Nov 5, 2021
Threads
7
Messages
34
Location
Austin, TX
1778613185921.webp


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:

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.
IMG_8198.webp

Bought a cheap Beck/Arnley temp sender 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.
IMG_8213.webp

Full design before I figured out the code for the RTC clock and time display.
IMG_8217.webp

*Installed on dash. A little blocked by steering wheel so I might change location. Attached with 1/2" 3M VHB tape right on dash front. Notice the time in the bottom of the first photo (RTC board and code added)

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.

5-12-26 Edited to allow for better post display on mobile

IMG_8257.webp
 
Last edited:
Super cool, thanks for sharing. I've been thinking about building something similar for under the gauge clusters of a 62.. a panel to show fuel/oil pressure, coolant temps, and voltage. I have none of the electrical experience but a ton of the software experience.. and have had my fair share of writing drivers. These days with Claude, Cursor, etc. I bet it's much more pleasant to write things in C :p
 
Super cool, thanks for sharing. I've been thinking about building something similar for under the gauge clusters of a 62.. a panel to show fuel/oil pressure, coolant temps, and voltage. I have none of the electrical experience but a ton of the software experience.. and have had my fair share of writing drivers. These days with Claude, Cursor, etc. I bet it's much more pleasant to write things in C :p
I did look into adding voltage readout and there are little board addons for that, but I have a little usb power hub in the dash that shows it. I would bet there are transducers for fuel/oil you can add in. I did have help from Claude. It gets close and if you understand what it is doing you can tweak
 
Legend move providing the files!

Superb work, I really like what you've made and the sharing of the files.


Thanks!
Thanks! The project was a real challenge. You could buy the same ESP32 board and get started really quickly with that code. That was my goal. And to help the rest of the ESP32 people with upgrading from LVGL8 to LVGL9 to display all of it. That code could give you a good base for other projects too because all the drivers and display creation is configured for that board there
 
Back
Top Bottom