November 22, 2017

The Advocate's Toolbox

Life with Raspberry Pi: Sparking a School Coding Revolution

Computer chip, Illustration by Harry Campbell

Illustration by Harry Campbell

By Chad Sansing

Our classroom glows with activity. One kid drafts a how-to article in which he explains the steps involved in wiring a cardboard Minecraft controller. Another writes a branching-path, choose-your-own-adventure story in Twine, a free, downloadable interactive fiction app. A student who’s claimed throughout his middle-school career that he isn’t a writer leans close to his laptop screen, finding and fixing coding errors. He composes, compiles, and debugs more than 100 lines of code to light up a three-by-three-light LED display plugged into his laptop.

A pair of especially curious students sits huddled around our newest computer, an exposed-faced circuit board smaller than a paperback book. It’s called a Raspberry Pi. They’re watching how the code they write in one window changes the course of a game in another. They may not know it yet, but these kids are playing with an open-source computing platform that just might change the way we teach young people how to interact with computers.

What is Raspberry Pi, and how do I get started?

It’s a $25 computer that fits in the palm of your hand. While you supply the mouse, monitor, and keyboard connection, your “RPi” supplies the rest. It comes with a Linux-based operating system (an open-source alternative to Windows and Mac OSX) called Raspbian. The operating system is on a Micro SD card.

With its astounding price and flexible capabilities, the Raspberry Pi has the potential to challenge the digital divide and make coding in schools as commonplace as textbooks. Computing could truly become about what kids can make rather than what schools can buy. And making coding affordable for all students could foster creative, independent computing in a way that downloading the latest app does not.

The RPi was developed at the University of Cambridge’s Computer Laboratory under the leadership of Eben Upton, trustee of the Raspberry Pi Foundation. Concerned about the lack of programming in schools and the reluctance of parents to let kids hack expensive computers at home, the Foundation members set out to put the Raspberry Pi into kids’ hands so they could experiment with code and physical computing in a simple, cheap way. After alpha and beta phases in 2011, the Raspberry Pi went on sale in 2012, selling more than 500,000 devices by September of that year.

To get the little device up and going, a new user can either download Raspbian on a Micro SD card to boot the RPi or purchase a card preinstalled. A good way to start is with a card already loaded with Scratch (a popular plug-n-play visual programming language developed for kids at MIT) and IDLE (which allows for the use of Python, another programming language).

Scratch, used widely in schools and clubs, lets kids program animations and games through a visual interface. IDLE helps kids author text-based code to control circuits or actions on screens. It’s amazing to insert these tools into the RPi and watch a computer come to life from a tiny hard drive the size of a fingernail.

What if I don’t understand coding technology?

Don’t worry. There are many ways to get up to speed on the RPi. Among a host of online resources (see sidebar below), David S. Whale’s visual guide to starting a club helps educators and technical support staff get the RPi ready for classroom use. Fortunately for librarians, Whale, a school science ambassador in the UK, and other early RPi adopters have shared many strategies for purchasing, configuring, and using these diminutive computers with kids.

In addition to searching for online help, consider asking your IT person—or better, some tinkering-inclined students—to walk you through RPi, as my colleague Melissa Techman, a K–5 librarian in Albemarle County, Virginia, did, with great results.

Techman asked some sixth- and eighth- grade students at a local student-led professional development session to teach her how to use the RPi. “I was hiding a fear of anything electrical, but I wanted to get past that,” Techman says. She was motivated in part because she wanted to work with Teen Tech Girls, a local organization dedicated to helping girls find pathways to STEM (science, technology, engineering, and math) careers and projects.

“My student mentors patiently showed how the connections worked and got me started reading circuit schematics,” says Techman. They showed her how to write simple code in Arduino, an open-source software for physical computing, in order to make lights blink in a pattern.

Within a week of that first learning session, Techman started Scratch and Minecraft lunch groups at her school. Another great outcome: The tutorial “gave me the confidence to learn alongside my own inventive young students and to try new things with several programs,” she says.

For novices like Techman, learning to program with Scratch on a computer you assemble yourself is one of those experiences that shows how fulfilling it is to become a coder and maker. Once we know that feeling, it becomes a happy task to imagine how reading, writing, and math relate to planning physical computing projects and composing code.

Techman also came away from her student session inspired with ideas for physical computing and writing projects to use with upper elementary grades. In addition to starting multiage Scratch, Minecraft, and physical computing mentoring groups in her school, she plans to partner with a local high school to find mentors for her young students. The high schoolers could help the younger kids write their own Web pages using Mozilla Webmaker’s Thimble platform, among other exercises.

Photograph courtesy of Raspberry Pi Foundation

What kind of physical computing can I do with the Raspberry Pi?

Using the RPi, kids can connect Scratch with Microsoft Kinect to write programs controlled by a player’s body. Or they can plug an Arduino circuit board into a laptop to light up or move attached objects by writing small “sketches”—short programs—of code.

Working with Python and IDLE to run a circuit or to modify a game like Minecraft makes it clear to kids how computers control the devices around us. Programming a blinking LED light or a Minecraft building helps them see how what we do with code translates into what happens virtually, on screen, as well as in the physical world of electricity.

They can use a MaKey MaKey board—a small, cheap ($50) circuit board built on the Arduino platform—to wire up anything from bananas to books. MaKey MaKey boards act as bridges between computers and other objects that can “talk” to Scratch like hand-held video game controllers. Anything conductive can become a part of a kid’s controller with MaKey MaKey. For example, in one well-known MaKey MaKey project, bananas can and do act as keys of an on-screen piano (demonstration). A wire from the MaKey MaKey connects to each banana. Another wire—the “earth contact”—goes from the board to the user. When the user touches the banana, the board registers the completed circuit and tells the computer to play a note.

Another idea: Make a digital book project with MaKey MaKey. It’s possible for a kid to animate a story in Scratch and then to “turn” its pages using a MaKey MaKey connected to her computer and a physical book decorated with conductive material like graphite or tin foil. The author can wire a decorated page of her book to a MaKey MaKey, hold the earth contact, and then tap her book to complete a circuit. The MaKey MaKey then tells the computer to advance her story on-screen.

Another very useful Raspberry Pi extension for physical computing, called Cobbler, connects the computer to a breadboard (a kind of pegboard for circuits) so users can write short programs that control physical parts like lights, motors, sensors.

Arduino is another great open-source software for physical computing. The Arduino sketch pad, a free download, provides embedded help as the learner writes programming commands.

Photograph by

What else can kids make with Raspberry Pi?

Brad Jones, a youth technology librarian for the Skokie (IL) Public Library, runs a “Codebots” club for elementary school students, with the help of two staffers. Recently, kids in the club used Raspberry Pi computers to run Scratch and write programs for LEGO WeDo kits, another example of physical computing for kids.

“Try! Fail! Fix!” the kids were chanting. I was impressed by how patient these LEGO natives were. Things would break, and they’d shrug. “That’s OK. That’s how it goes with LEGOs,” says Jones.

Projects like this serve as ready pathways to increasingly sophisticated endeavors using the same open technology—like the recently Kickstarted “Brick Pi” project that uses Raspberry Pis to run robots built from Lego Mindstorm/NXT kits.

In my own middle school classroom, one eighth grader has learned how to run Minecraft: Pi Edition. He’s started using IDLE and programming tutorials to change the way he plays the game. For example, he created a never-ending bridge right under his avatar’s feet. A stone appears in front of his character wherever he walks so that he can never fall into water or lava—or fall from a great height while exploring the sky. By altering the materials that make up his “bridge,” my student can actually leave multihued trails that make his avatar into a kind of paintbrush walking the land. When feeling silly, we also make the LEDs on the breadboard blink as we play.

As the student puts it, “You can customize the technology to do whatever you want. You feel like you’ve accomplished something that’s actually useful and really cool.”

The bigger picture

Using tools like the RPi to bring the Maker movement into libraries and schools is a powerful way to combat academic passivity. Kim Wilkens, the founder of Teen Tech Girls, sees other benefits from learning to code and physical computing.

“Being able to code opens new avenues to create and explore,” says Wilkens. It “helps everyone build an understanding of the role of hardware and software in the technology we use and take for granted every day.”

Wilkens has found that by late elementary school, many girls lose sight of imagining themselves in computer or engineering careers. For such girls, engaging in coding, making, and physical computing with women mentors in formal and informal learning spaces helps them see that technology overlaps many fields. It’s not just for those who study “serious math” in high school or college.

Several major organizations allied with kids and educators, such as the MacArthur-supported Digital Media & Learning Hub, the Mozilla Foundation ( /en-US), and the National Writing Project, are investing heavily in connected learning around code, making, and physical computing. This kind of support should encourage us to set our young male and female students loose on code. Where there is room for code—which encompasses art, creation, and inquiry—there is room for curiosity and empowerment. With a tool like Raspberry Pi, it takes just a small investment and a willingness to learn for us all to code, make, and connect with other people who are doing the same.

How to Dig In

Photograph by

1. Visit a site like Adafruit to find a starter kit that’s right for you. I suggest a kit that has all the cords you’ll need, a Cobbler extension kit, and a Micro SD card preinstalled with the Raspbian Wheezy operating system.

2. Gather old and unsupported mice, keyboards, and monitors from around your school, library, or community.

3. Once your kit arrives, assemble your Raspberry Pi! Check online tutorials for any help you need.

4. Follow the on-screen start-up prompts to get everything running.

5. Pick a project—for starters, try to make a single LED blink using your RPi. Document your progress and publish it online for others to see.

6. Keep your RPi and LED on display and invite kids and community members to change little bits of the code—like how long the light stays on—to dip their feet into physical computing. As interest grows, invite kids to create a club with you.

7. Keep documenting what folks make with the RPi and curate a display of their work in your learning space. You can encourage kids to do the same and publish their learning.

8. Pick a next step: Start learning how to install and program software like Minecraft: Pi Edition on your RPi or perhaps set up another computer or two around the first.

Raspberry Pi Resources

Raspberry Pi Quick Start guide

Raspberry Pi project ideas from MAKE magazine

An Adafruit Raspberry Pi starter kit for purchase

Great Raspberry Pi Projects Created by Kids Winners at the Cambridge Computing Centre 

Minecraft Pi Edition

David S. Whale (@whaleygeek) on setting up a Raspberry Pi club

An 11 year old’s blog on Raspberry Pi Projects

Cad SansingChad Sansing ( teaches middle school language arts in Staunton, VA. He works with the National Writing Project and Mozilla’s Webmaker project to champion kids’ connected learning.