For the uninitiated, the Raspberry Pi is a single-board computer that runs the Linux operating system. It can be either operated as a desktop computer or as an embedded system (i.e., a custom electronic device), or both. Historically, computer systems were either general-purpose computers or embedded systems. General-purpose computers required too much hardware, too many chips, and too much power to work inside an electronic device. However, as manufacturers packed more and more functionality into less and less space using less and less power, eventually it became possible to have a computer that was small, cheap, powerful, and not especially power-hungry.
The Raspberry Pi came about right as this was happening. A Raspberry Pi is a full computer that is not much larger than a credit card, but still packs enough power to be usable as a desktop computer. In the age of smart phones, that is a worthy accomplishment, but not quite impressive. However, what the Raspberry Pi did was also expose an electrical interface which allows users to use their Raspberry Pi to send electronic signals, and thus control just about anything else, using a 40-pin general purpose input/output (GPIO) header. Because this electrical interface was standardized and documented, it allowed a number of other people and manufacturers to develop attachments to the Pi, known as “HATs” (“Hardware Attached on Top”) or smaller HATs known as “bonnets.” Because of this, it became easy to put together pretty much any electrical gadget you wanted using standardized plug-and-play parts. You can find HATs that contain sensors, input devices, car (CAN bus) interfaces, GPS devices, cellular interfaces, power converters, and more. Electronics knowledge is helpful, but not always even required.
Additionally, programming the Pi is just like programming a normal computer, because it is one. Historically, programming embedded systems has been painful, both because the programming environment is usually strange (often developed by a small team), limited (because you don’t have access to a full computer), and you have to use extra devices to actually install the program into the device (because it isn’t a full computer). However, with the Pi, you can actually use the device itself as your desktop to program with. It uses a very standard programming environment (the same one that Linux users have been using for decades), and, since it is a full computer, you have access to all of the facilities normally available when programming on general-purpose computers.
The Raspberry Pi Zero took this to another level. The Zero is the size of a typical USB flash drive (66mm x 30.5mm x 5mm). It was originally introduced in 2015 for $5, though later versions of the device generally cost around $15. The Zero included the same header, so it could interface with the same hardware ecosystem that had been build up around the Pi for a decade.
However, starting in 2021, when the supply chain crunch hit, it completely removed the ability for people to find Raspberry Pis anywhere. By mid-2022, Pis were completely unavailable, and have been since. Sure, you can find an aftermarket one, but the price is marked up, sometimes as much as 7x the original price! You can buy a Raspberry Pi Zero 2W on Amazon, but, while its original list price was $15, today you will pay $113 for the same board.
What most people don’t realize, however, is that the Raspberry Pi Foundation isn’t the only manufacturer of small, single-board Linux computers. Additionally, there is nothing that prevents other manufacturers from making small computers that have an equivalent GPIO pinout. While there are multiple boards in this space, the one I think stands out the most is the Banana Pi, because it is the most compatible with standard Raspberry Pi hardware and pricing. In fact, while it costs $113 to obtain a Raspberry Pi Zero 2W today, you can find a Banana Pi M2 Zero for $21 (plus $4—$7 shipping), and even order them in quantity.
The differences are minor—the Banana Pi has a faster processor but doesn’t have an internal Wifi antenna (you can get an external antenna for less than a dollar). It also runs Armbian instead of Raspberry Pi OS, but both are simply specialized versions of Linux. The main difference is in how external hardware is detected and configured. Raspberry Pi OS has a fairly simple mechanism called “overlays” which allows hardware drivers to be fairly easily configured. Armbian also has an overlay mechanism, but it is a little more complicated and less well-documented than the Raspberry Pi OS’s version of it.
In short, the ability for ordinary people to put together electronics devices was pushed to the forefront by the Raspberry Pi. However, even though the supply chain has made the name brand frontrunner almost impossible to find, other board designers have stepped in and made similar designs available. Raspberry Pis may be unavailable, but the Banana Pi has mostly filled the gap for a similar price.
As an example of what you can do with these boards, below is pictured a recent build I did for connecting automotive interfaces (CAN) to Wi-Fi. It consists of three boards—a Banana Pi M2 Zero, a CAN Hat from Waveshare, and a custom 12V to 5V converter HAT I built from a standard power converter module. After connecting the hardware pieces, it took just a little bit of programming to get it all working together.