SensAiry Developers
Integrate your products with our sensors using the SensAiry Open Protocol.

SensAiry Open Protocol TPMS
SensAiry Open Protocol TPMS line of sensors enables app developers, tech enthusiasts and fleet integrators to integrate their products with our sensors. We are opening up our communication protocol built using Bluetooth Low Energy to pursue our mission of increased road safety. The protocol is designed based on customer feedback, on road behavior of our sensors and by working closely with our business partners. Below you can find all the details you need such as sensor duty cycle, communication packet structure, sample python code that runs on Raspberry Pi and sample C code that runs on ESP-32 to integrate with our sensors.
By using SensAiry Open Protocol TPMS you agree to our Terms and Conditions
Duty Cycle

TPMS sensors work independently of each other and they all follow the same duty cycle throughout their lifetime. Every sensor has a unique ID associated with it and it is printed on the surface of the sensor. Each sensor transmits Pressure, Temperature and Voltage (henceforth refered as PTV) values along with its unique ID every one minute. PTV values are transmitted as non-connectable advertisement packets on all 3 channels of Bluetooth LE. Each advertisement last for 10 seconds with packet interval of 852msec.
Packet Structure
Packet Structure (19 bytes)
Non-connectable packet format

Pressure Data (17-18)
We can get the pressure data from the 17th - 18th byte of the advertisement data. Transmitted pressure value is in kPa.
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
Note
- Max Pressure units (In decimal) - 1400 units
- Max Pressure units (In binary) - 010101111000
- Max Bits used for Pressure level - 11 bits enough for 1400 kPa
Pressure Data Parsing
- Maximum Pressure Range supported by sensor - (0 - 700 kPa)
- For Truck Sensors - (0 - 1400 kPa)
Calculation of actual data
The Pressure value (in kPa format) will be sent as hex in the advertisement.
For example:
- Value from advertisement = 0x01 0x5E
- Convert to decimal = 350
- Pressure value = 350 kPa
For psi conversion:
- Value from advertisement = 0x01 0x5E
- Decimal divided by 6.895 = 350 / 6.895
- Pressure value = 50.76 psi
Temperature (16)
We can get the temperature data from the 16th byte of the advertisement data. Transmitted Temperature value is in ℃. The most significant bit represents whether the transmitted temperature is -ve or +ve. If the MSB is set to 1, then the value is -ve.
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
Note
- Max Temperature units (In binary):
- 01111101 (Positive temperature)
- 11111101 (Negative temperature)
- Max Bits used for Temperature level - 8 bits
Temperature Data Parsing
- Maximum Temperature range supported by sensors (-20 to 105 ℃)
Calculation of actual data
The Temperature value will be sent as hex in the advertisement.
Positive Temperature (MSB 0th bit "0")
- Value from advertisement = 0x19
- Convert to signed int = +25
- Temperature Value = +25 ℃
Negative Temperature (MSB 0th bit "1")
- Value from advertisement = 0xFA
- Convert to signed int = -6
- Temperature Value = -6 ℃
Battery Data (15)
We can get the battery data from the 15th byte of the advertisement data. Transmitted battery voltage data must be divided by decimal 10 to obtain actual battery voltage level.
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
Note
- Max Battery units (In decimal) - 33 units
- Max Battery units (In binary) - 00100001
- Max Bits used for Battery level - 6 bits
Battery Data Parsing
- Battery Data maximum value support is 3.3 V / 3.0 V * (Value may vary depending on sensor model)
Calculation of actual data
The Battery value will be sent as hex in the advertisement.
For example:
- Value from advertisement = 0x21
- Convert to decimal and divide by 10 = 33 / 10
- Battery value = 3.3 V
We offer premium support services as well as customization requests to our communication protocol to integrate seamlessly with your device.
Please note that SensAiry App will NOT support Open Protocol TPMS. Also, the protocol explained here is not applicable to our other TPMS models sold. Make sure to purchase sensors marked as open protocol sensors from our store page if you wish to integrate your device with our sensors using the protocol explained on this page.
Currently only 4W Internal TPMS supports SensAiry Open Protocol. Soon we will support for other models of TPMS.
SensAiry Open Protocol TPMS is now open for Indian customers only. Soon we will open up for international customers.
Start Integrating Now
For any queries, contact our team
Our support team is always ready to help you with integration and any custom protocol requirements.
Contact Us