VDO Oil Pressure and Water Temp Reading - Automotive

Thread Starter


Joined Feb 20, 2020

Thank you for all your help on this forum already.

I wish to expand my Automotive Fuse box monitoring to also include reading values from a VDO OIL Pressure Gauge and Water Temperature. How would i go about doing this with an ESP 32 / Teensy 3.6. I know it works on resistance and grounds to the engine block. How would one go about getting the readings to 3.3 volts.

Thank you



Joined Jun 22, 2012
You need to measure the Voltages across the sensor to what ranges it gives out, then you canuse a resistor network divider.
ESP8266/ESP32 has a low quality A/D converter, not really good enough even with a bunch of calibration. Best to add an external A/D. I haven't used the Teensy it might be decent. You would need transient protection and some filtering for the analog signal going to the MCU.

VDO temperature sensor data gives the table of resistance values, and knowing the gauge coil resistance, you do some math to convert the measured voltage to a temperature. Or if you know temperature and the sensor part number, and voltage, you can work with that to make a table or equation.

Thread Starter


Joined Feb 20, 2020

Thanks for your reply. I have read about the bad A/C on the esp32 so will go with the teensy. Could you perhaps help with a wireing diagram of deeper explication on how to wire this up. I am going to go buy a pressure sensor and gauge to check readings. Thanks Gary
I kind of did a similar project at one time except I had separate sensors for the gauges and the monitor. If you can also add sensors that would normally be used with an engine ECU it may be a better place to start. They have a separate ground that would normally go to the ECU ground plane instead of the engine block to clean up electrical noise, they have higher resistance values which makes the whole circuit easier to design and program, and it won't be dependent on how the gauge actually works.

Another issue you will have is the resistor network will kind of bypass the sensor and may cause your gauge to read a little high if not calculated correctly, then depending on what your microcontroller needs current wise on the input you may be in a position where you will have to sacrifice accuracy on one or the other.

I don't know about VDO gauges themselves, but I do know some older (pre computer days) dash gauges worked at 5 volts. If that is the case a separate 5 volt ADC may be the easiest way to go. If not maybe an op amp before your resistor network to minimize any effects of adding it on.gauge.png
Last edited:


Joined Oct 29, 2013
What car? If it's not a classic, it might be easier to get a CAN bus adapter and just read from the CAN bus. There are probably some open source solutions out there for reading bus data. Just food for thought.

Thread Starter


Joined Feb 20, 2020

they are Yellow machines (road working), no digital and still "steam driven" gauges. no fancy electronics like modern cars. and no canbus.
I would start with just scaling the sensor's voltage for the A/D, so say 0-14V is 0-3.3V full scale. The BAT54S diode-clamp protects the MCU against voltage spikes, I could not find out how tough the Teensy MCU is in the Freescale/NXP datasheet (injection current).

It can be a problem that the sensors use the engine block for ground. This is a different ground than the vehicle chassis or frame.
It depends on the vehicle wiring, each manufacturer is different and with age and rust connections go poor.
If you ground your MCU to the cab/chassis, there will be a small voltage error when the battery is getting high charging currents because the alternator is grounded to the engine block but the battery and vehicle chassis have some wiring which develops a voltage drop between engine block and chassis ground.
Also, when cranking the very high current causes the engine block ground to kick +ve and if you have a wire from engine block to vehicle chassis, it will usually smoke and melt.
Best accuracy is using (isolated) two-wire sensors that ECU's use.

Your firmware would need filtering and averaging to stop noise from being a problem. The MCU power supply must be tough to withstand automotive transients, say a 12 to 5V regulator.VDO_gauge_input001.PNG
I had a PIC connected to a hacked up cell phone charger for over a year before a loose ground screwed it all up. They aren't the prettiest thing, but they are already designed for automotive environments and cut out some design work.

The schematic is a start, but you will have to check the voltage coming out of the gauge with no sensor connected first. They are generally regulated down to keep things constant otherwise your gauge would fluctuate with the battery voltage.

I don't know about the teensy, but I do know all the PICs I've tinkered with recommend a max resistance of 1k going in to the ADC pins to allow the capacitor of the ADC to charge correctly. Obviously that is for a 5 Volt or less source, but I'm wondering if there is something along those lines in this case to consider.

Get your gauge, take some measurements, and let us know what you are working with. Good luck.