Reverse Engineering the ESP32-C3 Wi-Fi Drivers for Static Worst-Case Analysis of Intermittently-Powered Systems
Ishwar Mudraje, Kai Vogelgesang, Jasper Devreker, Luis Gerhorst,, Phillip Raffeck, Peter W\"agemann, Thorsten Herfet

TL;DR
This paper reverse-engineers Wi-Fi drivers for the ESP32-C3 to enable static worst-case energy consumption analysis, supporting reliable intermittent operation in batteryless, energy-harvesting IoT devices.
Contribution
It introduces a method to analyze closed-source Wi-Fi drivers for worst-case energy bounds, facilitating energy-aware programming for intermittently powered systems.
Findings
Achieved static worst-case energy bounds for Wi-Fi transactions
Demonstrated feasibility of reactive intermittent computing on ESP32-C3
Extended static analysis tools with Wi-Fi driver resource models
Abstract
The Internet of Batteryless Things revolutionizes sustainable communication as it operates on harvested energy. This harvested energy is dependent on unpredictable environmental conditions; therefore, device operations, including those of its networking stack, must be resilient to power failures. Reactive intermittent computing provides an approach for solving this by notifications of impending power failures, which is implemented by monitoring the harvested energy buffered in a capacitor. However, to use this power-failure notification and guarantee forward progress, systems must break down tasks into atomic transactions that can be predictably finished before the energy runs out. Thus, static program-code analysis must determine the worst-case energy consumption (WCEC) of all transactions. In Wi-Fi-capable devices, drivers are often closed-source, which avoids the determination of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
