Evaluates the energy efficiency and update latency of Over-The-Air (OTA) firmware update strategies on flash-based, batteryless IoT devices under simulated energy-harvesting conditions. Use when the user wants to benchmark on OTA Firmware Update Benchmarks, or asks about evaluating this task. Reports Total Update Energy Consumption.
Installs into .claude/skills of the current project.
Are you the author of Ota Firmware Update Eval?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/qhjqhj00-ota-firmware-update-eval)
---
name: ota-firmware-update-eval
description: Evaluates the energy efficiency and update latency of Over-The-Air (OTA) firmware update strategies on flash-based, batteryless IoT devices under simulated energy-harvesting conditions. Use when the user wants to benchmark on OTA Firmware Update Benchmarks, or asks about evaluating this task. Reports Total Update Energy Consumption.
metadata:
skill_kind: dataset_eval
source_arxiv: 2406.12189
bibtex_key: [REDACTED]
confidence: high
---
# ota-firmware-update-eval
> Energy-aware Incremental OTA Update for Flash-based Batteryless IoT Devices — Wei et al. (2024) (arXiv:2406.12189, 2024)
## What this evaluates
Evaluates the energy efficiency and update latency of Over-The-Air (OTA) firmware update strategies on flash-based, batteryless IoT devices under simulated energy-harvesting conditions.
## Datasets
- **OTA Firmware Update Benchmarks** — total ?; splits: test (5)
## Metrics
- `Total Update Energy Consumption` **(primary)** — range: other
- Sum of transmission energy (packets × Eb), flash erase energy (erases × Ee), flash write energy (writes × Ew), and low-power mode energy (time × Pt). The packet header size is explicitly included in the transmission payload calculation.
- `Average Total Update Time` — range: other
- Mean time to complete the OTA update across 1000 simulated energy-harvesting power traces, with the reinforcement phase explicitly excluded for the LW approach to ensure fair comparison.
## Input / output format
**Input**: Binary firmware update packets (payload + header) transmitted via Bluetooth LE 5.0 to an MSP430F5529 MCU with 8 KB SRAM and 128 KB NOR flash.
**Output**: Updated firmware image stored in flash memory, plus telemetry metrics: total update size (bytes), number of packets, number of flash writes, total energy consumption (μJ), and total update time (ms).
## Scoring recipe
```python
# Constants from Table II (μJ, μs, ms, μW)
Eb, Ee, Ew, Pt = 0.251, 137.2, 78.80, 89.00
Tb, Te, Tw = 9.361, 27.00, 16.00
# Inputs per benchmark
num_packets, num_erases, num_writes = get_counts(predictions)
transmission_time = num_packets * Tb
erase_time = num_erases * Te
write_time = num_writes * Tw
low_power_time = total_elapsed_time - (transmission_time + erase_time + write_time)
# Calculate metrics
energy = (num_packets * Eb) + (num_erases * Ee) + (num_writes * Ew) + (low_power_time * Pt)
time = transmission_time + erase_time + write_time + low_power_time
return energy, time
```
## Common pitfalls
- Failing to include the packet header size when calculating transmission energy, which underestimates communication costs.
- Comparing update times without excluding the 'reinforcement' phase for the LW approach, leading to unfair latency comparisons.
- Treating flash erase and write as a single operation, ignoring their distinct energy and time costs (137.2 μJ vs 78.80 μJ).
## Evidence (verbatim from paper)
> 2) Total Update Energy Consumption: To assess the energy efficiency of different OTA update approaches, we conducted measurements across our designed benchmarks.
## Citation
```bibtex
@misc{wei2024energyawareincremental,
title={Energy-aware Incremental OTA Update for Flash-based Batteryless IoT Devices},
author={Wei et al. (2024)},
year={2024},
note={arXiv:2406.12189}
}
```
- arXiv: 2406.12189