I am currently working on reverse engineering an unbranded aftermarket TPMS sensor operating at 433.92 MHz. I am capturing raw RF data using rtl_433 with a custom decoder configuration:
rtl_433 -R 0 -f 433920000 -g 20.7 -X 'n=mytpms,m=OOK_MC_ZEROBIT,s=124,l=228,r=204,g=0,t=0,y=612,bits>=160'.
The original receiver module from the TPMS kit is based on the CMT2220LY, which further confirms the modulation scheme. I am consistently receiving frames with a fixed length of around 70 to186 bits, starting with a repeating preamble followed by a payload that appears to be encoded. Interestingly, all sensors share the same apparent ID, and the actual sensor differentiation seems to be embedded within the encoded payload. To generate controlled and repeatable data, I am using a pressure chamber setup to vary tire pressure while keeping other conditions stable, and I am logging RF frames at each pressure level. I will also include photos of the product box and the pressure chamber used for testing. Any insights into decoding strategies (such as Manchester decoding alignment, whitening/XOR encoding, or similar TPMS protocols) would be greatly appreciated.


[Front Right]
{186}4000000000000000000000002594de8ea711b3debf0ac7c [26 PSi 27degC]
{186}4000000000000000000000002594faeac375d7bf9e2ba74 [21 PSi 27degC]
{186}4000000000000000000000002594d9c9e056f492f346ca4 [20 PSi 27degC]
{186}4000000000000000000000002594dbcbe254f69233862a8 [18 PSi 27degC]
{186}4000000000000000000000002594f7a78e389af819ac204 [17 PSi 27degC]
{186}4000000000000000000000002594fcac853391f0d164c88 [15 PSi 27degC]
{186}4000000000000000000000002594ddcde452f0afce7bd78 [14 PSi 27degC]
{186}4000000000000000000000002594c191b80eacf150e54e8 [12 PSi 27degC]
{186}4000000000000000000000002594f4e4cd7bd98263d67d8 [11 PSi 27degC]
{186}4000000000000000000000002594f02009bf1d4766d35f4 [9 PSi 27degC]
{186}4000000000000000000000002594eefed761c39bfa8f238 [7 PSi 27degC]
[Front Left]
{186}4000000000000000000000002594ff6e40d6ae19fbce5bc [35 PSi 29degC]
{186}4000000000000000000000002594e3f2dc4a3284a69306c [33 PSi 29degC]
{186}4000000000000000000000002594f9280690e844a693464 [25 PSi 29degC]
{186}4000000000000000000000002594feefc1572f86e712e18 [22 PSi 28degC]
{186}4000000000000000000000002594decfe1770faa4bbe6a4 [19 PSi 28degC]
{186}4000000000000000000000002594c1507ee8903253a6558 [16 PSi 28degC]
{186}4000000000000000000000002594c5547aec94349560b34 [15 PSi 28degC]
{186}4000000000000000000000002594d0416ff9811ffe0bff8 [13 PSi 28degC]
{186}4000000000000000000000002594c697b92f57caeb1e8ac [12 PSi 28degC]
{186}4000000000000000000000002594feefc1572fb4d560d00 [10 PSi 27degC]
{186}4000000000000000000000002594cadbf5631b822396270 [9 PSi 27degC]
[Rear Right]
{186}4000000000000000000000002594f7e6c86bd47a586de74 [26 PSi]
{186}4000000000000000000000002594ea3b15b609a5c4319b8 [25 PSi]
{186}4000000000000000000000002594fe2f01a21db716e34a8 [23 PSi]
{186}4000000000000000000000002594e77658fb44ec0df8518 [22 PSi]
{186}4000000000000000000000002594c2537dde61c6e7129b4 [20 PSi]
{186}4000000000000000000000002594cd5c72d16ecbaa5fd64 [19 PSi]
{186}4000000000000000000000002594c3527cdf60c362973e8 [17 PSi]
{186}4000000000000000000000002594ffeec063dc7d9c29c40 [16 PSi]
{186}4000000000000000000000002594cd1c32912e8eaf1af70 [14 PSi]
{186}4000000000000000000000002594dc0d23803fa1c075bbc [13 PSi]
{186}4000000000000000000000002594d80927843ba706b35d0 [11 PSi]
{186}4000000000000000000000002594d2436dce71eb0abf71c [10 PSi]
{186}4000000000000000000000002594fb6a44e758c1e055bb0 [8 PSi]
{186}4000000000000000000000002594c81937942bbcdd68860 [7 PSi]
[Rear Left]
{186}4000000000000000000000002594f8476c2283ba9b6ea14 [36 PSi 28degC]
{186}4000000000000000000000002594cb341f51f0c7a6539c4 [34 PSi 28degC]
{186}4000000000000000000000002594c7f8d39d3c0e2fda154 [30 PSi 28degC]
{186}4000000000000000000000002594f6c9e2ac0d2302f7254 [26 PSi 28degC]
{186}4000000000000000000000002594ce311a54f5d9388d1bc [25 PSi 27degC]
{186}4000000000000000000000002594e31c3779d8f3d267d10 [24 PSi 27degC]
{186}4000000000000000000000002594fe81aae4456fce7b8c8 [23 PSi 27degC]
{186}4000000000000000000000002594f58aa1ef4e6706b3644 [22 PSi 27degC]
{186}4000000000000000000000002594e45b703e9fbc9d28bec [17 PSi 27degC]
{186}4000000000000000000000002594d669420cad8fae1bad0 [16 PSi 27degC]
{186}4000000000000000000000002594f9466d23829bbacf790 [8 PSi 26degC]
{186}4000000000000000000000002594d9260d43e2f01164d20 [3 PSi 26degC]
I am currently working on reverse engineering an unbranded aftermarket TPMS sensor operating at 433.92 MHz. I am capturing raw RF data using rtl_433 with a custom decoder configuration:
rtl_433 -R 0 -f 433920000 -g 20.7 -X 'n=mytpms,m=OOK_MC_ZEROBIT,s=124,l=228,r=204,g=0,t=0,y=612,bits>=160'.The original receiver module from the TPMS kit is based on the CMT2220LY, which further confirms the modulation scheme. I am consistently receiving frames with a fixed length of around 70 to186 bits, starting with a repeating preamble followed by a payload that appears to be encoded. Interestingly, all sensors share the same apparent ID, and the actual sensor differentiation seems to be embedded within the encoded payload. To generate controlled and repeatable data, I am using a pressure chamber setup to vary tire pressure while keeping other conditions stable, and I am logging RF frames at each pressure level. I will also include photos of the product box and the pressure chamber used for testing. Any insights into decoding strategies (such as Manchester decoding alignment, whitening/XOR encoding, or similar TPMS protocols) would be greatly appreciated.
[Front Right]
{186}4000000000000000000000002594de8ea711b3debf0ac7c [26 PSi 27degC]
{186}4000000000000000000000002594faeac375d7bf9e2ba74 [21 PSi 27degC]
{186}4000000000000000000000002594d9c9e056f492f346ca4 [20 PSi 27degC]
{186}4000000000000000000000002594dbcbe254f69233862a8 [18 PSi 27degC]
{186}4000000000000000000000002594f7a78e389af819ac204 [17 PSi 27degC]
{186}4000000000000000000000002594fcac853391f0d164c88 [15 PSi 27degC]
{186}4000000000000000000000002594ddcde452f0afce7bd78 [14 PSi 27degC]
{186}4000000000000000000000002594c191b80eacf150e54e8 [12 PSi 27degC]
{186}4000000000000000000000002594f4e4cd7bd98263d67d8 [11 PSi 27degC]
{186}4000000000000000000000002594f02009bf1d4766d35f4 [9 PSi 27degC]
{186}4000000000000000000000002594eefed761c39bfa8f238 [7 PSi 27degC]
[Front Left]
{186}4000000000000000000000002594ff6e40d6ae19fbce5bc [35 PSi 29degC]
{186}4000000000000000000000002594e3f2dc4a3284a69306c [33 PSi 29degC]
{186}4000000000000000000000002594f9280690e844a693464 [25 PSi 29degC]
{186}4000000000000000000000002594feefc1572f86e712e18 [22 PSi 28degC]
{186}4000000000000000000000002594decfe1770faa4bbe6a4 [19 PSi 28degC]
{186}4000000000000000000000002594c1507ee8903253a6558 [16 PSi 28degC]
{186}4000000000000000000000002594c5547aec94349560b34 [15 PSi 28degC]
{186}4000000000000000000000002594d0416ff9811ffe0bff8 [13 PSi 28degC]
{186}4000000000000000000000002594c697b92f57caeb1e8ac [12 PSi 28degC]
{186}4000000000000000000000002594feefc1572fb4d560d00 [10 PSi 27degC]
{186}4000000000000000000000002594cadbf5631b822396270 [9 PSi 27degC]
[Rear Right]
{186}4000000000000000000000002594f7e6c86bd47a586de74 [26 PSi]
{186}4000000000000000000000002594ea3b15b609a5c4319b8 [25 PSi]
{186}4000000000000000000000002594fe2f01a21db716e34a8 [23 PSi]
{186}4000000000000000000000002594e77658fb44ec0df8518 [22 PSi]
{186}4000000000000000000000002594c2537dde61c6e7129b4 [20 PSi]
{186}4000000000000000000000002594cd5c72d16ecbaa5fd64 [19 PSi]
{186}4000000000000000000000002594c3527cdf60c362973e8 [17 PSi]
{186}4000000000000000000000002594ffeec063dc7d9c29c40 [16 PSi]
{186}4000000000000000000000002594cd1c32912e8eaf1af70 [14 PSi]
{186}4000000000000000000000002594dc0d23803fa1c075bbc [13 PSi]
{186}4000000000000000000000002594d80927843ba706b35d0 [11 PSi]
{186}4000000000000000000000002594d2436dce71eb0abf71c [10 PSi]
{186}4000000000000000000000002594fb6a44e758c1e055bb0 [8 PSi]
{186}4000000000000000000000002594c81937942bbcdd68860 [7 PSi]
[Rear Left]
{186}4000000000000000000000002594f8476c2283ba9b6ea14 [36 PSi 28degC]
{186}4000000000000000000000002594cb341f51f0c7a6539c4 [34 PSi 28degC]
{186}4000000000000000000000002594c7f8d39d3c0e2fda154 [30 PSi 28degC]
{186}4000000000000000000000002594f6c9e2ac0d2302f7254 [26 PSi 28degC]
{186}4000000000000000000000002594ce311a54f5d9388d1bc [25 PSi 27degC]
{186}4000000000000000000000002594e31c3779d8f3d267d10 [24 PSi 27degC]
{186}4000000000000000000000002594fe81aae4456fce7b8c8 [23 PSi 27degC]
{186}4000000000000000000000002594f58aa1ef4e6706b3644 [22 PSi 27degC]
{186}4000000000000000000000002594e45b703e9fbc9d28bec [17 PSi 27degC]
{186}4000000000000000000000002594d669420cad8fae1bad0 [16 PSi 27degC]
{186}4000000000000000000000002594f9466d23829bbacf790 [8 PSi 26degC]
{186}4000000000000000000000002594d9260d43e2f01164d20 [3 PSi 26degC]