Three things are required: a modified version of Microsoft’s drag-and-drop MakeCode programming environment, an energy harvester such as a solar panel, and an SPI FRAM chip – the team is using Adafruit’s ‘SPI non-volatile FRAM breakout’ board.
The Northwestern code, called MakeCode Iceberg, is an extension to MakeCode that turns it into something the developers have dubbed ‘Battery-free MakeCode’ that will work through intermittent power cuts. It works with Blocks, JavaScript, Python.
“We leverage the unique intermediate representation of the MakeCode source-to-source compiler to design and deploy various checkpointing techniques,” according to the team in ‘Battery-free MakeCode: Accessible programming for intermittent computing’, a paper that describes the project. “Our approach allows us to provide a fully web-based and toolchain-free environment to program intermittent computing devices. MakeCode-Iceberg provides hands-on computing opportunities to makers and learners, democratising access to energy harvesting and battery-free embedded systems.”
The Northwestern team includes engineer Josiah Hester who created a battery-free GameBoy with colleagues in 2020, that runs from solar and button-press energy. In 2021, the same team unveiled BFree, a coding platform for devices running from harvested energy.
‘Battery-free MakeCode: Accessible programming for intermittent computing‘ is published in the Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies.
Image: Battery-free MakeCode demonstrated in a solar-powered smart terrarium project