SX126x Time-On-Air Calculation

Hello everyone

I have a question concerning the calculation of the time-on-air for the LoRa modem of the SX126x. On page 40 in the SX126x datasheet (V1.2) it is stated in Figure 6-2 and in the text (“The header is transmitted with maximum error correction code (4/8).”) that the header uses a fixed coding rate. To my understanding, the payload is transmitted with a user defined coding rate (4/5, 4/6, 4/7, or 4/8). As far as I understand, the coding rate has an influence on the time-on-air of a packet. In the time-on-air formula (p. 41) I don’t see where these facts are taken into account. As far as I can see, both N_byte_payload and N_sysmbol_header are multiplied by the same (user-defined) coding rate factor (CR+4). To my understanding, the header (N_byte_payload) should be multiplied by a different (fixed) coding rate factor (4+4).

I don’t understand why the unit of the variable “N_symbol_header” is symbols. The rest of the numerator in the formula on p. 41 appears to be in bits (bytes*8 or variables directly provided as number of bits). What would be the unit of the numerator if the unit of N_symbol_header would be symbols? Bits, Bytes, or Bit * Bytes?

I would appreciate any help with resolving the confusion.


I agree with your observations ; I recommend you’d use formulas in the SX1276 datasheet (On pages 31 of Rev 6 for example), until we understand this better


Are there any news on this?

Unfortunately, the datasheet for SX1276 does not state how to calculate the time-on-air for SF5 and the new version of SF6 which are available on SX126x.

Sorry for the latency.

We recommend to use the algorithm implemented in the latest release of the driver (driver available here -