ACK Wait Energy Calculation Audit
ACK Wait Energy Calculation Audit
Ada re-derives this chapter’s own numbers step by step, at full precision
ADA · CALCULATION AUDIT
ACK Wait Energy Calculation Audit
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.
ACK Wait Energy” at full precision: 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. Calculate this case.
That one multiplier decides whether a cold-chain sensor's 1,000 mAh cell lasts ~8 years or ~5 years . Check shows this.
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 bedelivered. Check confirms it.
See the relationship before changing it
The figure reads from left to right. The blue input is ack wait. The middle card names the page’s rule. The green output is con charge ledger. The arrow matters: change the input, apply the rule once, then read the result with its unit.
Derive the baseline in four named moves
- 1
Name the input. The chapter baseline is 50 ms.
- 2
Name the relationship. CON = 0.017 + 5 x wait/1000 + 0.005
- 3
Substitute with units. 0.017 + 5 x 50/1000 + 0.005 = 0.272 mA s
- 4
Read the result. Keep the unit beside the value, then use the result only inside the technical boundary below.
Predict, then change ack wait
Try Predict how con charge ledger responds when ack wait moves. Calculate ack wait; compare con charge ledger with that prediction.
Observe Return to 50 ms. Recheck con charge ledger with ack wait at its chapter value.
Explain The wait term, not the payload, creates most of the CON cost.
Check yourself
What should you do before trusting a moved-slider result?
What does this small model leave out?
Technical boundaries
The “ACK Wait Energy Calculation Audit” isolates the displayed wait interval and current. Loss bursts, retransmission backoff, radio ramp and tail states, link-layer acknowledgements, and server processing time are outside its boundary.
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.