Homebrew Tire Pressure Monitoring System

When [upir] saw that you could buy tire valve stem caps that read pressure electronically, he decided to roll his own Tire Pressure Monitoring System (TPMS) like the one found on modern cars. An ESP32 and an OLED display read the pressure values. He didn’t have a car tire on his workbench though, so he had to improvise there.

Of course, a real TPMS sensor goes inside the tire, but screwing them on the valve stem is much easier to deal with. The sensors use Bluetooth Low Energy and take tiny batteries. In theory, you’re supposed to connect to them to your phone, although two different apps failed to find the sensors. Even a BLE scanner app wouldn’t pick them up. Turns out — and this makes sense — the sensors don’t send data if there’s no pressure on them, so as not to run down the batteries. Putting pressure on them made them pop up on the scanner.

The scanner was able to read the advertisement and then correlate pressure to the data. He discovered that someone had already decoded standard TPMS BLE data, except the advertisements he found were significantly longer than his own. Eventually he was able to find a good reference.

The data includes a status byte, the battery voltage, the temperature, and pressure. Once you know the format, it is straightforward to read it and create your own display. Many people would have ended the video there, but [upir] goes into great detail — the video is nearly an hour long. If you want to duplicate the project, there’s plenty of info and a code repository, too.

If you need to read the regular RF TPMS sensors, grab a software-defined radio. Many of these sensors follow their own format though, so be prepared.

53 thoughts on “Homebrew Tire Pressure Monitoring System

      1. I check the pressure when I pump em up to 35PSI, and it only goes down from there. By the time I notice them looking low they’re at 25PSI. Pretty tight range for doing it by eye. Good enough for me, anyways.

      2. this technology is such a rude goldberg way around the problem. Some korean cars had. over a decade ago, logic that sensed the rotational speed difference arising from a deflating tire. That system worked like a charm.

      1. I actually lean on the car and see how much sidewall deflection I get laterally 🤷🏼‍♂️. Probably a little more valid if you know what it’s supposed to be.

        My mom had such an issue with flats we got the valve stems that show yellow and red if the pressure is too low 😅

  1. I might actually make this in the future. My main problem is that most of these TPMS systems assume you have 2 or 4 wheels, but my 60’s carrier (like a pickup truck bed with a motorcycle attached to the back of it) has three wheels. Two at the front, one in the rear. When you get a TPMS for 4 wheels it usually complains and beeps when you only connect 3, and it’s just not as nice looking. This would be a nice project to recreate for my specific use case.

    1. A few options, if its reverse engineered you can re-write the rom and write the ID for the one you are using twice (over the one you aren’t).

      Second option is put it inside a pressurized container, which could be as simple as a bolt threaded into a tire stem to put the spare cap on. If you can seal the bolt it will build pressure.

    2. Put two sensors on one tire?

      Put one sensor on a proxy, like maybe just a modified section of bicycle inner tube, or even a small piece of pipe with a valve stem stuck in a cap. I wouldn’t be too scared of continuously holding 20-30 PSI in PVC.

  2. Watch a one-hour video? In place of what used to be a 5-10 minute read on the ‘old’, rational (which means, “things were not done ‘on the cheap’ “) Hackaday?
    Not on your life.

    Are you listening, SupplyFrame?

    1. I don’t know that Supplyframe has anything to do with it, but isn’t that exactly what this daily post does for you?

      We watched the video, found it interesting, and summarized it so that you don’t have to watch it if you’re not interested, but so that you can reasonably judge if you might be.

      If you’re complaining that many hackers these days choose to present their work in video format…

      1. It’s a problem, I don’t like video format either, and Youtube will not let you browse categories like the old days (I assume you could make an account for each interest by clicking ‘not interested’ on literally anything else).

        I actually get a lot of the videos in my feed before they are covered here. It is actually helpful to have a short synopsis, especially if I am unfamiliar with the field, before deciding to watch. Also long video alert is helpful so I know to be prepared to skip around.

  3. My 2013 VW uses a different method for TPMS…it simply monitors the wheel speed sensors and counts rotations. If one wheel is doing more turns than the others it is low since its overall rolling diameter is reduced. Downfall being it can’t tell individual pressures.

    Would be an interesting project to tap into the CAN and monitor the wheelspeed this way and add to “any” car with an ABS system without buying parts.

        1. Interesting, but do you think less of Toyota? I think the look of some of their street cars has gone a little too “boy racer”, but otherwise hasn’t changed my opinion much.

          If they were making the new van race in NasTruck with a W8 motor that might be fun to watch.

    1. Chevy has the same kind of system, I didn’t know VW was using it.* I assume its a German invention because a lot of Chevy engineering is happening in Germany.

      I can see a lot of edge cases that could trip up the system, but on the whole it only needs to detect a tire low enough to impact your fuel economy or destroy itself from heat build up. And be reasonably close on errors, false positives or negatives to the wireless sensor systems.

      It makes sense though, it’s a cost cutting measure. VW loves cost cutting (and well they should, their Golf/Jetta are second in the world behind Toyota Corolla, millions of units) like lug bolts, saves 20 parts per car, not to mention the steps it takes to install lug studs. If a lug bolt breaks I just dremel a slot and use an impact tool (the kind you hit with a sledgehammer), the rest of the bolt comes out and I get a new bolt. Many cars you remove at least the wheel, if not the brakes and maybe even press the bearings out.

      1. On my car it seems to trigger fairly reliably at 10psi down from the advised setting. Typically happens once you are moving at highway speed.

        One fault condition I have had several times though is when you drive a long time offroad in a “spirited” manner. If the tires spin too much it just gives up after about 1hr of driving and throws an error for “tire pressure monitoring not available” until you shut off/restart the car.

      1. Nice. I read “the car hackers handbook” recently because I have some CAN devices I am planning to build and wanted to read up a bit on how to sniff packets and such.

        Seems to be an interesting path to a lot of projects.

        Will read your work too. Thanks for the link.

    2. FWIW, BMW and several others also use the same scheme, I think it’s a bought in system rather than in house developed so it could be Bosch, Marelli etc.

      I also believe it’s a system that’s still in use on current models.

  4. I dislike these sensors, that keeps the valve open, and have to rely on the seal on the end of the valve stem.
    I would like to see sensors, that somehow replace the valve core?
    “Just get something like the OEM?” – No, does not work for tube tyres (MC).
    I have played with the idea, like some cars, of using differential ABS signals?

  5. As a compromise, I think I’d have put the °C in with the image of the car and saved some memory, no doubt easier than modifying the font file for just the characters in use. Perhaps there would be enough space add a push button to show the battery voltage of each sensor. Maybe a battery low warning, etc.

  6. Honda also uses the tire rotation method for TPMS, good news is no expensive sensors on the tire, bad news is that on the lower priced models they don’t indicate which tire is the problem. Never thought about seeing if the revolutions / pressure translation is available on the CAN buss –

    My sister had a car with sensors on the rims, including the spare tire – but the service folks forgot to check the pressure in the spare, drove some folks near batty ubntil someone thought to check the spare!!

  7. Found on modern cars?
    Back in WWII the DUKW amphibious 6×6 truck had a tire inflation/deflation system that allowed the driver to raise and lower the tire pressure whilst driving or swimming according to a pressure gauge on the dashboard. The gauge face had regions marked SAND, MUD, CORAL, HIWAY.

  8. Learned the hard way that putting the extra weight of an aftermarket TPMS onto rubber valve stems can eventually cause the stem to tear which results in a very rapid deflation to fully flat that is most likely to happen during highway speeds or hard braking. Probably best to only do this with metal valve stems.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.