Forward
Hello again, this is again related to my 99 Ford F150 Project. So, this time it is monitoring the trucks fuel pressure. For many, this can be adapted to use a digital gauge. I have also used the exact same design on my 2002 7.3 Powerstroke. Please comment, if you would like me to build you one! Eventually, I will offer this as a kit for different vehicles.
Installation
Ultimately, this is a simple procedure! So, It replaces a schrader valve that exists on the truck with a 0.5v to 5v 100 PSE pressure transponder. Then; in my case, it is monitored by ECU. However, this article outlines a simple digital pressure gauge instead of the ECU. See below, for the application specifics to accomplish this task.
1. Remove Original Schrader Valve
First, must get to the fuel rail on the truck. See photo, there is a schrader valve on the left side of the rail. So, simply remove the valve. Then, install a 1/16 pipe thread adapter. See here, the ebay link to the adapter. So, it costs about $12 and includes free shipping.

2. Install New Transponder
Critical, the transponder has to be rated for two critical items:
- Correct Pressure – The one I am using is rated to 100 PSI
- Handle Fuel – Again, It is rated for this application. Oh, and it is rated for oil too. However, that will be another article.
Below, is the transponder from amazon.com

Ok, transponer is again not too expensive! Remember, to place some thread dope on the 1/16 to 1/8 adapter and the threads of the transponder. Yes, teflon, thread tape works too. I just prefer thread dope. Here, dope that I used as it states that it is gasoline rated.

Note, do not put to much on! Remember, a little goes a long way! Oh, and be careful of the tip of the transponder. As, getting the pipe dope in the transponder or the fuel system is not recommended as it can clog the injectors!
Also, do not overtighten these are small threads so 1/4 to 1/2 past hand tight should be tight enough.
3. Wire in the transponder pigtail
So, wire that I would use is this. However, use whatever gets the job done.

Ok, choose whatever method work for you here. That is, butt connectors are fine or solder sealers like these work great!

Also, I like to stagger my connectors. So, this prevents the wad of connectors all at one spot. Usually, about 3/4 or 1 inch stagger works. Ultimately, it depends on how much pigtail I have. So, if using the transponer I have above. 1 inch is plenty and there is enough wire to do so. Finally, place heat shrink over the whole connection. Yes, I will add photos once I get all my parts and actually do this in both applications!
3a. Wires
Here, this is what each wire does. Note, these colors match the gauge circuit wire colors for the same function!
Transponder and Gauge
- Red – 5v VCC or main power from gauge circuit.
- Black – Signal Ground Note: carry back to gauge circuit. Do not just ground to engine!
- Green – Signal .5 to 4.5 volts. 0 to 100 PSI Linear voltage related to PSI.
Additional on Gauge Circuit:
- Yellow – 3 Amp Fused Switched 12 volt source
- Another Black – System ground. Either black works as they both ground to the same internal ground plain.
Important, be careful to keep wires away from any heat sources and protect when running through firewall with a gromit and maybe some loom.
Schematic

Code
#include <Arduino.h>
#include <Ticker.h>
// #include <TinyWireM.h>
// #include "SSD1306Ascii.h"
// #include "SSD1306AsciiWire.h"
#include <Tiny4kOLED.h>
// 0X3C+SA0 - 0x3C or 0x3D
// #define I2C_ADDRESS 0x3C
// Define proper RST_PIN if required.
// #define RST_PIN -1
#define ANALOG_PRESSURE_PIN A3
void pressureUpdateJob();
void pressureReadJob();
Ticker pressureUpdate(pressureUpdateJob, 1000, 0, MILLIS);
Ticker pressureRead(pressureReadJob, 200, 0, MILLIS);
// SSD1306AsciiWire oled;
//------------------------------------------------------------------------------
void setup() {
analogReference(DEFAULT);
// Wire.begin();
// Wire.setClock(400000L);
oled.begin();
#if RST_PIN >= 0
// oled.begin(&SH1106_128x64, I2C_ADDRESS, RST_PIN);
#else // RST_PIN >= 0
// oled.begin(&SSD1306_, I2C_ADDRESS);
#endif // RST_PIN >= 0
oled.setFont(FONT8X16);
// oled.setFont(Adafruit5x7);
pinMode(3, INPUT_PULLUP);
oled.switchRenderFrame();
oled.clear();
oled.setFontX2(FONT8X16);
// oled.set2X();
oled.print("AMPED!!!");
// oled.setLetterSpacing(2);
oled.switchFrame();
oled.on();
delay(1000);
oled.clear();
oled.setFont(FONT8X16);
pressureReadJob();
pressureUpdateJob();
pressureUpdate.start();
pressureRead.start();
}
//------------------------------------------------------------------------------
void loop() {
pressureUpdate.update();
pressureRead.update();
}
int psiValue = 0;
char buffer[50];
double map(double x, double in_min, double in_max, double out_min, double out_max) {
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
//Jobs go here...
void pressureUpdateJob() {
dtostrf(map((double)psiValue, 140.0, 1023.0, 0.0, 74.00), 2, 1, &buffer[0]);
oled.clear();
oled.setFont(FONT8X16);
oled.setCursor(0,0);
oled.print("FP:");
oled.print(buffer);
oled.println(" PSI");
oled.print("Raw: ");
oled.print(psiValue);
oled.switchFrame();
// oled.set1X();
// oled.setCursor(0,0);
// oled.print("Fuel Pressure:\n");
// oled.set2X();
// oled.print(buffer);
// oled.println(" PSI ");
// oled.set1X();
// oled.print("Raw: ");
// oled.print(psiValue);
// oled.print(" ");
}
void pressureReadJob(){
//analogReference();
psiValue = analogRead(ANALOG_PRESSURE_PIN);
}
FIles
https://alshowto.com/wp-content/uploads/2022/04/DieselInfo.zip
https://alshowto.com/wp-content/uploads/2022/04/BasePSIController.zip
[…] and F150. The only difference is the fuel pressure. That is where this post comes in to play. See, simple pressure gauge for an explanation of adding that to the F150 harness. Furthermore, I am simply adding the needed […]