/TPMS-Flipper

Generate TPMS sub files for the Flipper Zero

Primary LanguagePython

ARCHIVING

Got CRC for the regular toyota working PMV-c210 iirc. This is what you need:

crc8 = crcmod.mkCrcFun(0x107, rev=False, initCrc=0x80, xorOut=0)
crc_bytes = int(payload, 2).to_bytes(len(payload) // 8, byteorder='big')
calculated_crc = crc8(crc_bytes[0:8])
crc_bits = str(bin(calculated_crc)[2:])

crc_bits= crc_bits.zfill(8)

fin = "010101010011110" + differential_manchester_encode(payload + crc_bits)  + "11"

I am not putting it in, but this combined with everything in my included work shoud be enough for you to do it yourself

It appears some of these are now broken, but I don't intend on working on these anymore

TPMS-Flipper

Generate TPMS sub files for the Flipper Zero

Primer: Since approx 2009 all vehicles in the United States are required to have a method of measuring tire pressure. These sensors are called Tire Pressure Monitoring Systems (TPMS). There are two main types of TPMS, Direct and Indirect, direct sensors are mounted in the wheel and usually transmit information to the car ECU via radio frequency signals. RF TPMS transmissions are the subject of this repository. In order to prevent your vehicle's TPMS system from effecting other cars, TPMS makers rely on different encoding modulations, formats, Preambles and the TPMS sensor IDs that are set in the car's ECU.

TPMS-Helper The files in this repo generate valid Flipper Zero TPMS "Low Pressure" sub files in the correct format and modulations with a user specified TPMS ID for a few TPMS types.

Demonstration

TRIM_20221212_190658.mp4

Usage: You must be using Ubuntu (Debian had some weird package issues for me). Download the entire repo. Extract the TPMS folder in you home dir. Chmod +x the TPMS-helper.sh. Run it. It should install all needed tools and set correct permissions for Code_gen in the Resources folder. This will only happen once. Choose the TPMS type, enter the hex ID, and a Flipper sub file will be output to the Output folder. You can test it against rtl_433.

Before the Flipper tiktokers ask, you need to generate a SPECIFIC file with the correct ID for each car/tire (you only need one tire id) or it will not work. The SUB for your car/tire will have a different ID than every other car/tire and could have a completely different encoding (very likely)

Credits:

Like most projects, I built on and utilized the work of others:

Contributions of protocols are welcome