Skip to main content
for

Battery-free MakeCode empowers kids to code sustainably

Indigenous grade-schoolers are first to learn new platform in a pilot program

  • Microsoft MakeCode is an online visual, free, learn-to-code platform for beginners
  • Battery-free MakeCode uses an extension to invisibly transform MakeCode into a version that supports energy-harvesting, battery-free devices
  • Researchers hope platform encourages students to learn about sustainability alongside programming
  • Researcher’s motivation: ‘Reimagine computing curricula within the Hawaiian and Indigenous ethos of sustainability’

EVANSTON, Ill. --- Northwestern University engineers have developed the first computer coding platform that enables kids to build and program sustainable, battery-free, energy-harvesting devices. 

Called Battery-free MakeCode, the new tool is based on Microsoft MakeCode, a popular free online learn-to-code platform that introduces beginners to coding basics. The visual platform makes programming easy. Users simply drag and drop blocks of pre-made code to build games like Tetris, program devices that can count steps or make sounds, and create apps that connect sensors, screens, buttons and motors.

Battery-free MakeCode uses an extension that automatically and invisibly transforms MakeCode into a version that supports programming electronic devices that harvest energy from ambient sources, such as vibrations, movement, radio frequency transmissions and the sun. 

As a part of a pilot program supported by the National Science Foundation, teachers at Pūʻōhala Elementary School in Kāneʻohe, Hawaii, are beginning to implement Battery-free MakeCode into their place-based, sustainability-focused STEM curricula. 

The research behind the new platform was published today (March 30) in the Proceedings of the Association for Computing Machinery on Interactive, Mobile, Wearable and Ubiquitous Technologies. The platform does not require any custom-made hardware and is available free online.

“Across the nation, coding is becoming a standard part of curricula, and students are learning how to code earlier and earlier,” said Northwestern’s Josiah Hester, the study’s senior author. “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.”

“The tech industry is likely to increase battery-free devices in the next five to 10 years,” added Christopher Kraemer, a Ph.D. candidate in Hester’s laboratory. “So there is a need to improve education around the battery-free programming domain.”

Hester is an assistant professor of electrical and computer engineering and computer science at Northwestern’s McCormick School of Engineering. He also is the Allen K. and Johnnie Cordell Breed Junior Professor of Design. Kraemer is the paper’s first author.

Avoiding a ‘dumpster fire’

Informed by his Native Hawaiian heritage, Hester develops battery-free devices aimed at making computing more sustainable. In fall 2020, Hester and his collaborators introduced the first battery-free Gameboy, which harvests energy from the sun and the user’s own kinetic energy from pressing buttons. Then, in fall 2021, the same team unveiled BFree, a new coding platform that enables makers, hobbyists and novice programmers to build their own battery-free electronic devices that run with harvested energy.

“Makers all over the internet are asking how to extend their devices’ battery life,” Hester said at the time. “They are asking the wrong question. We want them to forget about the battery and instead think about more sustainable ways to generate energy.” 

Although they may seem convenient, lithium-ion batteries come with a great cost to the environment. Not only is lithium mining incredibly energy- and water-intensive, lithium also is a flammable, toxic material that can catch fire in recycling plants. Major tech companies estimate that we could see trillions of more Internet-of-Things devices within the next 50 years. That will result in a lot of used and eventually discarded batteries. Hester wants to prevent these batteries from being needed and, therefore, from ever becoming a literal dumpster fire.

Learn to code. But make it battery-free.

Until now, programming battery-free devices has been incredibly difficult — reserved solely for deeply experienced programmers with specialized expertise. The main problem is that energy harvesting is unpredictable, so programs running on battery-free devices might fail every time the sun ducks behind a cloud or the user takes a break from mashing buttons.

“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 said.

Fortunately, grade-school students who are learning to code battery-free devices won’t have to worry about any of this. Battery-free MakeCode does all the heavy lifting for them, so they can instead focus on designing devices and exploring energy sources. Rather than writing complex code to handle intermittent power failures, students can think more about how energy is harvested and used — important concepts for future programmers.

“Some gaming systems use more energy when idle than a refrigerator,” Hester said. “That’s exactly what we want future programmers to avoid.”

The new extension transforms the original MakeCode program to enable fault tolerance, ensuring the program state persists under intermittent energy supplies. 

“Battery-free MakeCode accomplishes this task with little more than a memory chip, solar panel or other energy harvesters,” Kraemer said. “These steps are oblivious to the programmer, giving them complete freedom to be as creative as possible.”

Because MakeCode is fully online, the only requirements to program sustainable smart devices are internet access and less than $40 worth of electronics, which are easy to find on AdaFruit or other maker and student-focused websites. This accessibility significantly broadens the potential reach of sustainable computing practices.

Coding with a ‘Hawaiian ethos of sustainability’

Hester originated the project after discussions with teachers at a bilingual (Hawaiian and English) public school serving a majority of Indigenous (Native Hawaiian) students. Although students already use MakeCode in programming and STEM classes now, the notion of using batteries to power the resulting devices seemed at odds with the cultural importance of sustainability.

In Hawaii, coding will become part of all students’ STEM curricula by 2025. With Battery-free MakeCode, Hester and his team hope that students at Pūʻōhala Elementary School will learn how to program smart, sustainable devices while asking critical questions about sustainability along the way. Already, the school has adopted sustainable technologies, including 3D printing using only sustainable materials — no plastics allowed.

“It’s tied nicely to culturally relevant Native Hawaiian curricula,” Hester said. “In my culture, we continually ask how we can make the least impact on our environment while also doing good. We want to leave the environment better than we found it and take care of the ʻāina (the land). My very personal motivation is to explore ways to reinvent or reimagine computing curricula that sits within the Hawaiian, Indigenous ethos of sustainability.”

The project, “Battery-free MakeCode: Accessibility Programming for Intermittent Computing,” was supported by the National Science Foundation.

Multimedia Downloads

Embed Video:

<iframe width="560" height="315" src="https://www.youtube.com/embed/9pRQGuJyE80" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

Battery-free MakeCode images

Please credit images to Josiah Hester/Northwestern University

Download All (.zip file)

Battery-free MakeCode is an easy-to-use visual platform. Users simply drag and drop pre-written blocks of code to build games and program devices.
Battery-free MakeCode is an easy-to-use visual platform. Users simply drag and drop pre-written blocks of code to build games and program devices.
Battery-free MakeCode is an easy-to-use visual platform. Users simply drag and drop pre-written blocks of code to build games and program devices.
Battery-free MakeCode is an easy-to-use visual platform. Users simply drag and drop pre-written blocks of code to build games and program devices.
Using Battery-free MakeCode to build a counter powered by a DC motor.
Using Battery-free MakeCode to build a counter powered by a DC motor.
Using Battery-free MakeCode to build a step counter powered with solar energy.
Using Battery-free MakeCode to build a step counter powered with solar energy.
Using Battery-free MakeCode to build a smart terrarium powered by solar energy.
Using Battery-free MakeCode to build a smart terrarium powered by solar energy.

Pūʻōhala Elementary School

Please credit photos to David Cournoyer/American Indian Science and Engineering Society

Download All (.zip file)

Josiah Hester (right) visits Pūʻōhala Elementary School in Kāneʻohe, Hawaii, to introduce the students to Battery-free MakeCode.
Josiah Hester (right) visits Pūʻōhala Elementary School in Kāneʻohe, Hawaii, to introduce the students to Battery-free MakeCode.
Hester in the classroom
Hester in the classroom
Hester in the classroom
Hester in the classroom
Hester shows the class a Battery-free GameBoy, built in his lab.
Hester shows the class a Battery-free GameBoy, built in his lab.
Hester in the classroom
Hester in the classroom
A student explores Battery-free MakeCode in the classroom.
A student explores Battery-free MakeCode in the classroom.
Hester in the classroom
Hester in the classroom

Interview the Experts

Josiah Hester