How I Made a Digital Multifunction Clock Gauge: (11/19/2014)
A couple of years ago, I decided that the clock pod was a great place for some gauges, but the gauge pods available for those spots are ginormous and very kludgy looking. I thought about how I might design a unit that would use the stock clock pod but display a bunch of gauge functions in digital form.
The gauge functions I wanted to implement were:
Coolant Temperature
Intake Air Temperature
Oil Pressure
Fuel Pressure
Voltage
Air/Fuel Ratio
and of course, a Clock
I wanted to control it by pressing the H and the M buttons. I decided to use a Microchip PIC microcontroller and a small OLED color display. I developed a breadboard, and then looked at the color OLED display through the little filter window in the stock OEM clock pod, but the color OLED display was not bright enough to show well though the filter.
I then decided I needed to re-use the Vacuum Florescent Display (VFD) and power supply board from the stock clock module. I reverse engineered the VFD and the little power supply board inside of the clock, so I could re-use them along with the clock case.
I used a heat gun to melt the solder at the ribbon cable to remove the power supply board.
I also used the heat gun to remove the VFD.
I decided that I would use the PCM's Engine Coolant Temperature and Intake Air Temperature sensors, simply reading the same voltages that the PCM reads, and that I could calibrate the temperature gauge functions by comparing them against the SCT LiveLink datalogger, so the temperatures read would be identical to what the PCM sees. I also decided to use Autometer's fuel and oil pressure sensors since it is easy to buy spares from Autometer, and they are pretty good. I simply read the battery voltage coming to the clock and I read the wideband analog output from my PLX Devices M300 wideband for the AFR function. I also figured out how to generate an idiot light alarm output so I could set alarm thresholds. I also figured out how to make an output that can drive the stock Mustang oil pressure gauge. I figured out that I could design a PCB to replace the main clock PCB and that it could extend below the case for extra circuitry and the connector for the sensors.
I developed a schematic, selected components, but got the VFD footprint upside down for the first rev of the PCB, but it was good enough for doing microcode development. I spend many months writing the code in assembly language. I then designed the final version of the PCB. It is a very tight, 4-layer board. I also figured out how to modify the stock power supply board to make it power the new circuit board.
Here is a photo of the circuit board from the front and the back. It has the modified power supply board attached, but the VFD is not yet on it.
Here's a photo of the new board with the VFD installed compared to the stock boards.
Here is a photo of the finished PCB installed in a case while doing a basic test of the display.
Here is the stock unit compared to the new unit with the sensor pigtail plugged in. They are upside down to show the connector that hangs under the clock.
After a whole lot of further testing and software development, it was ready to be installed in the car. I ran the wideband wire from the pigtail at the clock pod down to my PLX M300 Wideband sensor. I then ran the rest of the wires through the firewall into the engine compartment.
I ran the oil pressure gauge wires to the Autometer oil pressure sensor. I ran the fuel pressure wire to the Autometer fuel pressure sensor. I ran the temperature sensor wires to the ECT (Engine Coolant Temperature) and IAT (Intake Air Temperature) sensors and spliced them in to their wires.
Then it was time to calibrate the IAT and ECT gauge functions. I put a 10 turn trimpot in place of the temperature sensor, plugged my SCT Xcal2 into the OBD2 port and connected the PC to the Xcal2. I ran LiveLink software to log the temp sensors, and tweaked the pot to take data from 0*F to 247*F. The equations I derived were within 1*F at the center of the scale, but were a few degrees off at the high and low ends of the scale. I tweaked them to be within 1*F of the SCT datalogs, so the temp gauge functions are accurate.
After a couple of days of driving around with it, I am learning that it works pretty well.
Next Page to see how it works.