Recently, I visited CodeRVA to deliver some professional development. CodeRVA (the “RVA” stands for Richmond, VA) is a regional high school in Richmond that embeds computer science into many aspects of their learning. Students enroll via lottery, and the teachers at the school are super interested in figuring out inventive ways to teach students about computing while engaged in their other subject area studies.
CodeRVA invited me to deliver some sessions about Raspberry Pi computers, which are little single-board computers (sometimes called SBCs) that cost anywhere from about $20 to $80 each depending on how suped-up the model is. Obviously, this is great value for money if you’re a school trying to provide computers to students. The problem is that Raspberry Pi computers are not like the computers most folks are used to. First off, while they might look like a microcontroller (e.g., Arduino, Micro:Bit), they aren’t. You can’t just connect them to another computer over USB and just start coding. Raspberry Pis are full computers, meaning if you want to use it like a normal desktop, you need a separate keyboard and monitor.

At CodeRVA, we went over the basics of how to connect to a Raspberry Pi without using a monitor and an attached keyboard, and then experimented with hooking up robotics components like motors and sensors to the Pi and controlling them with Python programs. One of the participants dreamed aloud about setting up an aquaponic garden in the school and using the Pi to control water flow, to track information about water quality, and to monitor the plants growing in the system. This is exactly the kind of thing that excites me the most about using computers like Raspberry Pis; there is so much creative energy to harness when computing meets the “real world” in the way a Pi can.
The biggest issue with using Pis in the classroom (in my experience) is the fact that Raspberry Pi computers run a Linux operating system called Raspberry Pi OS. Most teachers have only used either a Mac or Windows PC—these computers use proprietary operating systems like Windows 11 and MacOS. These operating systems are what make Macs and Windows computers so different, and people often have a hard time switching from one to another. Linux operating systems are also different, but are “open source”. This means anyone can install the Linux operating system on their computer (Mac or PC, doesn’t matter usually) for free, and anyone can read the code to make sure it’s built properly. The tradeoff is that Linux computers usually require a little more user knowledge about the system compared to Mac or Windows OS’s (often called “consumer OSs”), and the learning curve can be pretty steep.
All of this is to say that there are real barriers to using Raspberry Pi computers in the classroom. Unlike some other computing tools, the main barrier isn’t cost. It’s teacher and student knowledge. Linux distributions like Raspberry Pi OS often require users to do things they aren’t used to on other operating systems, like managing user permissions and using the terminal (a text-based interface for running programs and navigating files). Schools are often very hesitant to put Linux computers in students’ hands as well. They are worried that students with lots of computing knowledge will be able to abuse the “open” operating system and do bad things to their computer or the school’s network (these concerns are sometimes valid, but also a little overblown in my opinion).
Despite all of these barriers and issues, I think cheap single-board computers are still incredibly powerful tools for learning in the hands of a teacher who can navigate these tensions. Right now, many schools and classrooms are becoming dominated by very restrictive computing tools like Chromebooks, which do not let students install software or run their own programs at all. A Raspberry Pi can be like a lab computer a student can use and abuse, can experiment with, and can even damage irreparably (hopefully on accident) without destroying a hugely expensive piece of equipment. You can also do all sorts of interesting things with Raspberry Pi computers which are impossible on normal computers—AI powered robots, tiny web servers, trail cameras, environmental monitoring systems, and more.
If teachers and students are willing to learn the basic skills required to use single-board computers like Raspberry Pis, they can empower themselves to break, build, and understand computing in a new way.