Battery-free MakeCode Brings Drag-and-Drop Educational Programming to Energy Harvesting Projects
Designed to get students thinking about ultra-low-power programming concepts, Battery-free MakeCode targets harvested energy.
Engineers at Northwestern University have developed a new educational coding platform designed to get students thinking about ultra-low-power creations driven by harvested energy: Battery-free MakeCode.
"Across the nation, coding is becoming a standard part of curricula, and students are learning how to code earlier and earlier," says Josiah Hester, senior author of a study on the platform published this week. "Our hope is that as students learn to code, they also learn about concepts around energy and sustainability. With Battery-free MakeCode, we want to enable educators to instruct a new generation of programmers who understand sustainable computing and programming practices."
Built around Microsoft's MakeCode visual programming platform, Battery-free MakeCode extends the system to support ultra-low-power devices, which harvest energy from the sun, radio waves, motion, or any other source β rather than running on a battery or from a mains supply.
"The tech industry is likely to increase battery-free devices in the next five to 10 years, opines Christopher Kraemer, Ph.D. candidate in Hester's laboratory, of the benefit to the educational program. "So there is a need to improve education around the battery-free programming domain."
Hester's no stranger to energy harvesting projects: Two years ago he was on the team that produced a battery-free hand-held games console inspired by Nintendo's Game Boy, and last year worked on the BFree open-source energy harvesting board.
"Programming these devices is especially hard because you have to consider how to safely, quickly and correctly guard against intermittent power failures and then restore that state once energy has returned," Hester admits. "Some gaming systems use more energy when idle than a refrigerator. That's exactly what we want future programmers to avoid."
The Battery-free MakeCode extension takes care of issues like fault tolerance and the saving and loading of states to ensure a program can run even with intermittent power. "Battery-free MakeCode accomplishes this task with little more than a memory chip, solar panel or other energy harvesters," claims Kraemer. "These steps are oblivious to the programmer, giving them complete freedom to be as creative as possible."
The paper detailing Battery-free MakeCode has been published under closed-access terms in the Proceedings of the ACM on Interactive, Mobile, Wearable, and Ubiquitous Technologies; more details are available on the project website, along with a link to a live server running the extended MakeCode.