Ada’s Calculation Audit: ACK Wait Energy

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

foundations
math-foundations
calculation-audit
coap
Ada ADA · CALCULATION AUDIT

Ada's Calculation Audit: ACK Wait Energy

The chapter claims a Confirmable (CON) CoAP message costs about 16× more energy than a Non-Confirmable (NON) one on an 802.15.4 radio, because CON must keep the receiver awake while it waits for the ACK. That one multiplier decides whether a cold-chain sensor's 1,000 mAh cell lasts ~8 years or ~5 years. This audit rebuilds the per-message energy ledger one step at a time to check the 16× claim.

Companion to the chapter CoAP Message Exchanges — every number here comes from that chapter.

Keep the byte count, the time, and the current in separate columns. CON costs more than NON here because the sender must keep its receiver awake while it waits for the ACK, not because the payload bytes changed.

1. Datagram size

Every CoAP message on this link carries the same header stack, so the byte count is fixed before any energy math starts.

Component Bytes
Sensor payload 20
CoAP header 4
UDP header 8
IPv6 header 20
Total datagram 52

2. Energy per transmission

At 250,000 bits/s, 8 mA TX and 5 mA RX (3.0 V, 802.15.4). Each row is one operation, so the ledger stays checkable line by line.

Step Arithmetic Result
TX time 52 × 8 ÷ 250,000 1.66 ms
NON transmit energy 8 mA × 1.66 ms ÷ 1000 0.013 mAs
Radio startup energy 8 mA × 0.5 ms ÷ 1000 0.004 mAs
NON total 0.013 + 0.004 0.017 mAs
ACK wait energy 5 mA × 50 ms ÷ 1000 0.250 mAs
ACK receive time 32 × 8 ÷ 250,000 1.024 ms
ACK receive energy 5 mA × 1.024 ms ÷ 1000 0.005 mAs
CON total 0.017 + 0.250 + 0.005 0.272 mAs
CON ÷ NON ratio 0.272 ÷ 0.017 16.0×

Round only after the ledger is complete: the 16× statement comes from the full CON total divided by the full NON total, not from rounding the ACK-receive term first.

3. Battery lifetime, 30-second reporting

Metric NON CON
Energy per message 0.017 mAs 0.272 mAs
Messages per day 2,880 2,880
Daily consumption 0.0136 mAh 0.218 mAh
Battery lifetime (1,000 mAh) 73,529 days 4,587 days
Practical lifetime ~8 years ~5 years

What the audit buys you: the 16× multiplier holds up — CON's extra cost is entirely the ACK-wait term (0.250 of the 0.272 mAs total), not the payload. That is why a hybrid policy works: use NON for routine readings that are replaced within seconds, and reserve CON for the rare alert that must be acknowledged, which keeps most of NON's ~8-year battery life while still guaranteeing delivery of the messages that matter.

Every number above is taken from the chapter’s own material and re-derived step by step.