Bytes, Airtime, and the Duty-Cycle Tax
Ada re-derives this chapter’s own numbers step by step, at full precision
ADA · CALCULATION AUDIT
Bytes, Airtime, and the Duty-Cycle Tax
A CoAP exchange of 64 bytes takes about 77 ms of LoRa airtime while the HTTP equivalent of 320 bytes takes about 384 ms, and on a 1%-duty EU868 link every uplink forces a long silence afterward. The chapter builds a 5x gap across airtime, energy, and enforced quiet from just those two byte counts. This audit traces the chain to ask whether the byte budget, not the battery, is the real duty-cycle tax.
Companion to the chapter CoAP Message Format — every number here comes from that chapter.
Ada: The chapter’s headline is that a CoAP exchange (64 bytes) costs about 77 ms of LoRa airtime while the HTTP equivalent (320 bytes) costs about 384 ms. Every downstream claim – the 5x factor, the energy gap, the duty-cycle pressure – rides on those two byte counts and two physical rates, so let me trace the whole chain from the chapter’s own numbers.
- Airtime at SF10 (
1.2 msper byte): CoAP64 x 1.2 = 76.8 ms(the chapter’s~77 ms); HTTP320 x 1.2 = 384.0 ms. Ratio384.0 / 76.8 = 5.0exactly. - Duty-cycle tax: EU868 caps a device at
1%transmit time, so 76.8 ms of airtime forces76.8 / 0.01 = 7680 ms = 7.68 sof mandatory silence afterward – the HTTP exchange forces384 / 0.01 = 38.4 s. - Transmit energy at SF12 (
0.5 mJper byte): CoAP64 x 0.5 = 32.0 mJ; HTTP320 x 0.5 = 160.0 mJ– again160 / 32 = 5.0x. - Where the byte savings begin: delta-encoding
/sensors/tempcosts13bytes versus a naive15(each repeated Uri-Path option drops its 1-byte number), and27bytes for the HTTP text request line.
The audit conclusion is that the 5x factor is not a slogan – it is the same 320 / 64 ratio surfacing in three independent budgets (airtime, silence, energy), because all three scale linearly with byte count. The design meaning: on a duty-limited LoRa link the binding constraint is often not battery but the 7.68 s of enforced quiet after each CoAP uplink, and that ceiling is set entirely by how many bytes the encoding puts on the air.
Every number above is taken from the chapter’s own material and re-derived step by step.