Bytes, Airtime, and the Duty-Cycle Tax

Bytes, Airtime, and the Duty-Cycle Tax

Ada re-derives this chapter’s own numbers step by step, at full precision

foundations
math-foundations
calculation-audit
coap
Ada 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.

Try

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. Calculate this case.

Observe

This audit traces the chain to ask whether the byte budget, not the battery, is the real duty-cycle tax. Check shows this.

Explain

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 isthe binding transmission-rate limit. Check confirms it.

See the relationship before changing it

Change the input, apply the rule once, then read the result with its unit.

This diagram traces the audit's formula chain from byte counts to the duty-cycle tax. Panel 1 compares LoRa airtime at SF10 (1.2 ms/byte) for CoAP (64 bytes) and HTTP (320 bytes). Panel 2 shows the mandatory silence enforced by the EU868 1% duty cycle, calculated as airtime divided by 0.01. Panel 3 compares transmit energy at SF12 (0.5 mJ/byte). The 5x ratio is consistent across all three budgets because they scale linearly with byte count.
CoAP vs HTTP: Airtime and Duty-Cycle Tax

Derive the baseline in four named moves

  1. 1

    Name the input. The chapter baseline is 64 bytes.

  2. 2

    Name the relationship. airtime = bytes x 1.2 ms/byte

  3. 3

    Substitute with units. 64 x 1.2 = 76.8 ms

  4. 4

    Read the result. Keep the unit beside the value, then use the result only inside the technical boundary below.

Predict, then change exchange size

Try Predict how lora airtime responds when exchange size moves. Calculate exchange size; compare lora airtime with that prediction.

64 bytes
Chapter baseline
LoRa airtime

Observe Return to 64 bytes. Recheck lora airtime with exchange size at its chapter value.

Explain At a fixed radio setting, every byte adds the same airtime.

Check yourself

What should you do before trusting a moved-slider result?
Answer: Predict its direction, apply the displayed relationship, keep the units, and compare the reset value with the chapter’s worked baseline.
What does this small model leave out?
Answer: Only exchange size moves here. The lora airtime calculation excludes field effects listed below.

Technical boundaries

Airtime uses a fixed 1.2 ms per byte while the exchange size changes. Link-layer headers, security framing, retransmissions, waiting for channel access, radio startup, and receiver energy are not counted.

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 ms per byte): CoAP 64 x 1.2 = 76.8 ms (the chapter’s ~77 ms); HTTP 320 x 1.2 = 384.0 ms. Ratio 384.0 / 76.8 = 5.0 exactly.
  • Duty-cycle tax: EU868 caps a device at 1% transmit time, so 76.8 ms of airtime forces 76.8 / 0.01 = 7680 ms = 7.68 s of mandatory silence afterward – the HTTP exchange forces 384 / 0.01 = 38.4 s.
  • Transmit energy at SF12 (0.5 mJ per byte): CoAP 64 x 0.5 = 32.0 mJ; HTTP 320 x 0.5 = 160.0 mJ – again 160 / 32 = 5.0x.
  • Where the byte savings begin: delta-encoding /sensors/temp costs 13 bytes versus a naive 15 (each repeated Uri-Path option drops its 1-byte number), and 27 bytes 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.