Automated Tire Pressure Design


Using an air compressor, design a circuit to check the tire pressure and than fill as necessary.

This project really just popped into my head, and as I could see the whole solution along with two of our cars tires having leak issues, fluctuations with the seasons, etc. It’s such a beautiful solution to my apparent laziness for regular maintenance.

So here are the parts I am using:

Arduino Uno


3/8″ Electric Solenoid Valve 12-Volt Air, Water Normally Closed (~128 psi rating)


1pcs Pressure sensor MPX5500DP


As the Pressure Sensor is still in China according to the shipment tracking, I can’t help but already start playing with what I currently have…

Using an IRF540A MOSFET and a 12V power source I ran some tests on the solenoid. Very simple 3/10 of a second burst followed by 5 seconds of “cool down”.

Here is an example of the solenoid in action:

The pressure sensor is going to have an analog input, for the Arduino to handle this I wrote some code that I’ll eventually use when this component eventually arrives, but first some information:

Screen Shot 2013-09-29 at 4.00.40 AMScreen Shot 2013-09-29 at 4.00.20 AM Screen Shot 2013-09-29 at 3.58.48 AM Screen Shot 2013-09-29 at 3.59.15 AM


Analog input, serial output

Reads an analog input pin, maps the result to a range from 0 to 1023
Converts this to a readable pressure value
Uses the result to print the pressure of a tire to the monitor through serial communication

The circuit:
* Pressure sensor connected to 5V, outputs to Arduino at 0.2-4.7V
created 29 Sep. 2013
modified 29 Sep. 2013
by Craig O’Connor

This example code is public domain.


// These constants won’t change. They’re used to give names
// to the pins used:
const int analogInPin = A0; // Analog input pin that the Vout Pressure Sensor is attached to

int sensorValue = 0; // value read from the Pressure Sensor

void setup() {
// initialize serial communications at 9600 bps:

void loop() {
// read the analog in value:
sensorValue = analogRead(analogInPin);
// convert the reading to voltage
float sensorVoltage = sensorValue * (5.0 / 1023.0);
// convert the reading to it’s PSI equivilant [(Vout = Vs*(0.0018*P+0.04)), (Vs = 5.0Vdc)]
// thus: P= (-V+0.2)/0.009 (kPa)
float kPa = (sensorVoltage – 0.2) / 0.009;
// convert to psi
float PSI = kPa * (0.145037738);

// print the results to the serial monitor:
Serial.print(“Pressure Output Voltage = ” );
Serial.print(” / “);
Serial.print(” kPa (“);
Serial.println(” PSI)”);

// wait 2 milliseconds before the next loop
// for the analog-to-digital converter to settle
// after the last reading:

ANNNNNNND That should do it. I realize now I will need one more solenoid to protect the pressure sensor when I have the whole thing hooked up together. When I am applying air pressure to the tire there could be more than the 75 psi rating of the sensor, but I can find a smaller and simpler solenoid that maybe runs off 5Vdc  to let air flow from the tire to the sensor. My next post should have a schematic and better photos of it all working. STAY TUNED.



About craiggleso

B.S. Industrial Management - Grove City College Studied Applied Electronics at Wake Technical Community College
This entry was posted in Uncategorized. Bookmark the permalink.

2 Responses to Automated Tire Pressure Design

  1. Pingback: Designing a General Purpose Heat Pump Controller - Page 24 - EcoRenovator

  2. Tristan says:

    Hi guys, i tried to use the CODE you give us for the mpx5500dp pressure Sensor, but the thing is that there’s an error and i can’t find it, it’s written ” stray ‘\’ in program ” and quote this line : ” Serial.println(” PSI)”); “… i tried many things and can’t get it so i ask for your help !

    Thanks for all the help you’ll give me !

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s