A single-board computer (SBC) integrates all the essential functions of a computer on a single printed circuit board (also known as a PCB). Historically, this definition refers to many specialized computers designed for specific purposes, such as industrial controllers, "blade" servers, or other embedded systems (everything from kiosks to slot machines to ATMs — you name it).
Applying this technical definition today, many devices use SBC designs, including smartphones, tablets, laptops, and even some desktop computers. But modernly, SBC typically refers to a small, enclosureless computer like the Raspberry Pi, which includes a built-in application processor, memory, audio and video, network connectivity (whether wired or wireless), and support for various peripheral connections (such as external storage, USB, and Bluetooth). Often, those functions are integrated into a single component called a system on a chip (SoC). Common families of SBCs used by hobbyists and professionals today include Raspberry Pi, Khadas VIM, ODROID, PINE, and ROCK devices.
For this article, we'll refer to SBC in this modern sense — a small, enclosureless (and often fanless) multi-purpose computer system powered by a system on a chip (SoC).
What are Single-Board Computers Used For?
When it comes to the uses for single board computers, there's no one good answer — the sky's the limit. The same fundamental hardware configuration could be used for everything from a simple command and control interface for a piece of machinery to a full desktop computer (even if it may not be the best cost or capability fit for either). Some potential use cases for SBCs include (but are by no means limited to):
- Digital kiosks (e.g., ATMs, ticket machines, vending machines)
- Digital signage
- Gambling or other gaming systems
- Smart home controllers
- Industrial systems controllers
- Sensor (e.g., scientific, weather, security) monitoring systems
- Robotics controllers
- Video processing or computer vision
- Web or media servers
- Networking systems
- AI and machine learning
- Consumer electronics
In short, anything a "regular" computer can do, an SBC can likely do as well. The difference is less in the set of functions and more in cost-effectiveness and suitability to purpose (technically, physically, or conceptually).
What are the Advantages of Single-Board Computers?
The advantages of modern SBCs can boil down to three "C" s: cost, complexity, and customization. That's another way to say that an SBC can be a cheaper, simpler, and more flexible way to accomplish a given computing task.
If, for example, you need to continuously cut, label, and upload incoming streams of video data from a closed-circuit security camera system to a cloud server, dedicating an entire local server to that function might be serious overkill. Placing a few small, relatively affordable SBCs into your infrastructure as needed could be far more cost-effective and power-efficient (and located nearly anywhere).
Or, imagine you need to display a piece of digital signage outside your place of business that continuously and dynamically updates content served from the cloud based on time or a custom-defined variable (e.g., you run a luggage shop, but you want to advertise umbrellas when it's going to rain, based on data from an open forecasting API). Does anyone sell a solution capable of such a thing? Building your solution via an SBC running an open-source operating system and your own custom code may be a far more direct and cost-effective path.
If that sounds a bit far-fetched, know that SBCs require very little space (and often no active cooling), use comparatively cheap ARM processors, and can run open-source operating systems like Android or Linux. This makes them suitable for many environments and applications, so if your use case is unusual, that may mean an SBC is the right fit.
What Operating System Do Single-Board Computers Run?
Technically, there is no limitation on operating systems for a single-board computer. An SBC could run Windows, Linux, or AOSP Android, but that all depends on what the hardware is capable of or if the system vendor has locked it down in any way. If you want to run Windows, doing so on an ARM-powered SBC may be possible, but in all likelihood, that's probably not a good idea. If, on the other hand, you want to run Android on an Intel x86 SBC, you could be in for challenges as well. Understanding what operating systems a given SBC design has been designed and validated for is essential.
Android (as the Android Open Source Project) and various Linux distributions are the most popular operating systems for SBCs. Both are open source, and many SBC designs also utilize open-source drivers to maximize customization by the open-source development community. This all gets back to flexibility: The more open the hardware and software platform, the more possible use cases you enable. That said, unlike a more closed ecosystem (like Windows), you may find long-term, enterprise-level support lacking in the SBC ecosystem. This is why carefully choosing your device and vendor is critical — saving a few dollars per unit on hardware could have serious consequences. Imagine years down the road if, for example, an unpatched driver left you exposed to a critical security vulnerability.
Is a Single-Board Computer (SBC) the Same as a System-on-a-Chip (SoC)?
A system-on-a-chip is not a single-board computer, but a component of one. Most modern SBCs use a system on a chip (SoC) to provide their core functionality. An SoC integrates most or all of a computer's primary functions (application processor, memory, video, audio, connectivity) on a single integrated circuit, also known as a chipset. An SoC is a component of a computer system, not a computer itself — it requires a circuit board and physical connectivity (e.g., USB ports) to interface with external devices or other systems.
Not all SBCs use an SoC configuration. For example, you could design a single-board computer that uses multiple discrete chips laid out on a single board for various functions. But any time an SoC is used, the computer in question is an SBC, and almost all SBCs today use SoCs. Some SoC vendors in the SBC space include Broadcom, Rockchip, Allwinner, Amlogic, NVIDIA, and Intel.
What’s the Difference Between ARM SBC and x86 SBC?
SBCs are typically available with SoCs in two application processor architectures: ARM and x86. ARM processors can only run operating systems and applications designed to execute on the ARM instruction set. x86 processors, conversely, can only run operating systems and applications designed to execute on the x86 instruction set.
In practice, ARM SBCs are well suited to using Android-based operating systems and applications, as Android was designed and continues to be developed for ARM processors. ARM SBCs can run nearly any Linux distribution, and many can even run real-time operating systems (RTOS). This flexibility and the affordability of ARM-based SoCs have made ARM the dominant architecture in the SBC space.
x86 SBCs are a good fit for Linux or Windows. If your SBC use case requires Windows, generally speaking, an x86 processor is the best fit. While some ARM processors (and thus, some ARM SBCs) can technically run Windows, many Windows applications are incompatible with ARM systems. Unless you know your specific use case is a good fit for Windows on ARM, an x86 processor is almost always the best choice for a solution requiring the Windows operating system. x86 SBCs can also run nearly any distribution of Linux and many other open-source operating systems. (While x86 variants of Android are available and viable, development of the x86 version of Android (Android x86) has largely ceased, and little to no application development is occurring for Android x86 outside of specialized use cases.)
How Do I Choose the Right SBC?
Choosing a suitable SBC for your use case means understanding technical, performance, and environmental (e.g., dimensions, isolation, heat) requirements. Not every SBC will be a good fit for every use case — literally or figuratively. This makes choosing the right SBC a case-by-case discussion. If you are constrained by a sealed enclosure, require ethernet connectivity, or need to maintain a guaranteed level of performance, all of these factors can be "make or break" for certain single-board computer designs. There are also the "unknown unknowns," or the limitations and challenges you may not be aware of until hardware is deployed in the field.
If you're deciding on the right SBC for hardware deployment at scale, carefully evaluating potential solutions from every angle is crucial. Esper has years of experience working with partners and customers to deploy and manage SBC-based systems, and you can get in touch with us to discuss your use case at any stage of your product life cycle.