Battery-free MakeCode: Accessible Programming for Intermittent Computing
Christopher Kraemer, Amy Guo, Saad Ahmed, Josiah D. Hester
摘要
Hands-on computing has emerged as an exciting and accessible way to learn about computing and engineering in the physical world for students and makers of all ages. Current end-to-end approaches like Microsoft MakeCode require tethered or battery-powered devices like a micro:bit, limiting usefulness and applicability, as well as abdicating responsibility for teaching sustainable practices. Unfortunately, energy harvesting computing devices are usually only programmable by experts and require significant supporting toolchains and knowledge across multiple engineering and computing disciplines to work effectively. This paper bridges the gap between sustainable computing efforts, the maker movement, and novice-focused programming environments with MakeCode-Iceberg, a set of compiler extensions to Microsoft's open-source MakeCode project. The extensions automatically and invisibly transform user code in any language supported (Blocks, JavaScript, Python)into a version that can safely and correctly execute across intermittent power failures caused by unreliable energy harvesting. Determining where, when, and what to save in a checkpoint on limited energy, time, and hardware budget is challenging. We leverage the unique intermediate representation of the MakeCode source-to-source compiler to design and deploy various checkpointing techniques. Our approach allows us to provide, for the first time, a fully web-based and toolchain-free environment to program intermittent computing devices, making battery-free operation accessible to all. We demonstrate new use cases with multiple energy harvesters, peripherals, and application domains: including a Smart Terrarium, Step Counter, and Combination Lock. MakeCode-Iceberg provides sustainable hands-on computing opportunities to a broad audience of makers and learners, democratizing access to energy harvesting and battery-free embedded systems.
问问这篇 Paper
问问你的智能体。
Lune 读过与它相关的顶会 Paper,每个回答都会注明依据哪几篇。
引用它的顶会 Paper1
问问它们各自怎么用它相关 Paper
- BFree: Enabling Battery-free Sensor Prototyping with PythonVito Kortbeek, Abu Bakar, Stefany Cruz, Kasim Sinan Yildirim 等UbiComp 2021 · 被引用 35 次
- User-directed Assembly Code Transformations Enabling Efficient Batteryless Arduino ApplicationsChristopher Kraemer, William Gelder, Josiah D. HesterUbiComp 2024 · 被引用 3 次
- Adaptable Runtime Monitoring for Intermittent SystemsEren Yildiz, Khakim Akhunov, Lorenzo Antonio Riva, Arda Goknil 等EuroSys 2024 · 被引用 7 次
- Time-sensitive Intermittent Computing Meets Legacy SoftwareVito Kortbeek, Kasim Sinan Yildirim, Abu Bakar, Jacob Sorber 等ASPLOS 2020 · 被引用 89 次
- Exergy: A Toolkit to Simplify Creative Applications of Wind Energy HarvestingJung Wook Park, Sienna Xin Sun, Tingyu Cheng, Dong Whi Yoo 等UbiComp 2023 · 被引用 7 次
