What is a Single-Board Computer?
Maker boards are generally divided into two categories: single-board computers (SBCs) and microcontroller units (MCUs). While there's some overlap in the sort or projects you can create with SBCs and microcontrollers, the two development board varieties are ultimately different. Learn all about single-board computers, from what an SBC is to what you can make with one, what to look for in a single-board computer, and more!
What is a Single-Board Computer?
Simply put, a single-board computer is a small PC with all components baked into the board itself. Whereas most desktop computers feature a motherboard, RAM, GPU, and CPU, the memory and processors are baked directly onto the board with an SBC. As such, all you'll need to do is install an operating system (OS) such as Linux or Android. Most SBCs come in a small credit card-sized footprint, and usually they're low-cost.
What is an SBC: A small PC, often credit card-sized, with all of the components needed for operation (CPU, GPU, RAM) baked onto the board itself.
How Does a Single-Board Computer Work?
A maker board operates similarly to a desktop or laptop, but without the need to install RAM or a CPU. SBCs require an operating system to function. Often, you'll find dev boards running Linux distributions (distros) such as Ubuntu. However, you'll find Android images, Chrome OS builds, and non-Linux distros for SBCs as well.
SBCs run OSes from external media such as a microSD card, eMMC module, flash drive, or traditional hard drives and solid-state drives (SSDs). Then, applications run on top of the OS. For instance, to create a web server on a dev board, you'll need webserver software running on top of an operating system.
How is a Maker Board Different From a Microcontroller - SBC vs. MCU
Although you can accomplish many of the same tasks with SBCs and MCUs, the two board varieties are quite different in operation. A single-board computer requires an operating system with apps installed over top of the host OS. Then, programs execute various commands. As such, SBCs are perfectly capable of multi-tasking.
Contrastingly, a microcontroller doesn't run an operating system. Instead, a program is coded, compiled, and uploaded to the MCU where the microcontroller executes that application. Basically, a single-board computer can multi-task whereas a microcontroller performs one task at a time. But that job may have multiple steps.
For example, an Arduino MCU used as a smart watering system may have connected peripherals such as a pump and moisture sensors. A program created for that board monitors moisture levels in soil and once a certain threshold has been reached, it powers on the pump to deliver water to plants via hoses until the desired moisture level is achieved. Although there are several steps, that's still one duty to fulfill.
On the other hand, a single-board computer can run multiple programs concurrently. The only real limiting factors are hardware and software-based. Computing power limitations imposed by hardware resources such as RAM and CPU power as well as software compatibility shape what you can do. However, in general SBCs may perform several simultaneous functions such as running a web server, media server, and smart home hub all while providing desktop PC capabilities.
Moreover, SBCs and MCUs differ in hardware architecture. The components on single-board computers are similar to what you'll find on the average desktop or laptop: RAM, a CPU, and GPU with some sort of boot medium to hold the host operating system and any installed applications. A microcontroller on the other hand features simply a microprocessor, RAM, ROM (read-only-memory) for storing code, a program counter, and various input/output (I/O) connectors such as digital and analog pins, motor controllers, and other ports for hooking up various devices. Usually, the amount of RAM and ROM on an MCU is much smaller than that of SBCs since a microcontroller merely needs a few resources to execute a program.
SBCs:
- Have a traditional PC architecture with RAM, CPU, and GPU
- Run a host operating system with apps installed over top
- Can multi-task running several programs simultaneously
MCUs:
- Run a program that's written, compiled, and uploaded to the microcontroller
- Perform one task at a time
- Feature a microprocessor, RAM, ROM, I/O, program counter
What is a Single-board Computer Used For?
Single-board computers are extremely utilitarian. Effectively, SBCs are capable of virtually anything that more traditional consumer PCs can handle. For instance, you can create a basic desktop with a Linux, non-Linux, or Android OS. You can make a media, web, or ad-blocking, or 3D printer management server. An SBC makes a great smart home hub. Home entertainment such as streaming media and gaming is popular too, whether retro gaming emulation, native gaming, or video game streaming.
Desktop Use
Single-board computers are, after all, computers and may be used as desktops. Particularly with more powerful SBCs, it's possible to replace your desktop for basic tasks such as web browsing, office productivity, and even photo editing as well as podcasting. You can install any number of Linux or non-Linux distros.
Gaming
Maker boards are popular for gaming, ranging from emulation of retro video games to native gaming on Linux and Android, or even PC game streaming. Dedicated retro gaming OSes such as RetroPie, Recalbox, Batocera, and Lakka. Steam Link, which runs natively on the Raspberry Pi as well as on Android, macOS, and tvOS or iOS lets you stream PC games to your TV. A dev board can fit nicely into an arcade cabinet build for a fun old school aesthetic. Aside from playing games, you can even use a maker board to run a game server.
Home Servers
Because of their small footprints and low power draw, SBCs are perfect for home server use. You can build a file or email server, web server, or a media server. Running the likes of Plex, Emby, or Jellyfin allows you to cobble together your own sort of do-it-yourself Netflix or Spotify for video and music streaming. Installing any number of the available Raspberry Pi-compatible BitTorrent clients makes a DIY torrent seedbox.
IoT and Robotics
SBCs may be used in a bevy of different smart home and robotics projects. Applications such as PiHole let you create whole-home ad-blockers. There are plenty of smart home software options such as Hass.io and OpenHAB. And connecting various peripherals such as servos allows for SBC robotics projects.
What is a single-board computer used for:
- Pretty much anything a standard PC can do
- IoT projects (i.e. smart home hubs)
- Servers (media server, file server, ad-blocking server, 3D printer management server, game server, web server, etc.)
- Gaming (retro gaming emulation, video game streaming, native gaming, etc.
- Desktop use (run Linux, Android, non-Linux OSes)
How to Pick Out a Maker Board - Which Single-board to Buy
When you're selecting a single-board computer, you'll need to consider everything from the underlying hardware to compatible software and operating systems, size, cost, and your intended use case. The best overall SBC for most people is the Raspberry Pi 4. Its price-to-performance ratio is nearly unrivaled. Whether as a traditional desktop, a server, emulation machine, robotics project, or something else, the Raspberry Pi 4 is more than up to the challenge.
If you need something more powerful, the UDOO Bolt delivers desktop-class computing power in an ultra-small form factor. On a budget, the Seeed Odyssey is a solid x86 maker board. For artificial intelligence, the NVIDIA Jetson Xavier NX is a brawny AI-capable SBC. Alternatively, NVIDIA makes the budget-priced Jetson Nano.
Retro gaming is great on the Raspberry Pi 4. However, a slew of other dev boards including the Odroid N2 and XU4, ASUS Tinker Board, and RockPro64 can satisfy your emulation needs. While many SBCs run Linux distros well, you might wish to run non-Linux OSes such as Android or Chrome OS. The ASUS Tinker Board, Odroid N2, and Odroid XU4 all run Android extremely well. And the Raspberry Pi, RockPro64, and Tinker Board are equally great for Chrome OS.
Running a server off of a maker board works for a cheap network-attached storage solution, and there are loads of SBCs perfect for NAS use. Notably, the Raspberry Pi 4, Pine64 RockPro64, and Helios4 are excellent server maker boards. Robotics projects require dev boards outfitted with excellent inputs and outputs. The BeagleBone Black, Rock Pi 4, and NVIDIA Jetson Nano are solid for robotics tinkering.
Although there are plenty of ARM-based maker boards, you can find x86 SBCs capable of running full-fledged x86 and x64 OSes such as Ubuntu, Debian, and even Windows. The UDOO Bolt and UDOO x86, DFRobot LattePanda Delta, and Seeed Studio Odyssey x86 are wonderful x86 maker boards that provide desktop capabilities in a tiny footprint. '
What to look for in an SBC:
- Price
- Size
- Use case (i.e. IoT projects, robotics, gaming, AI, etc.)
- ARM vs. x86 architecture
- Compatible OSes (Linux, Android, Chrome OS, non-Linux OSes)
Single-board computer buying guides:
- Best SBCs for every use and budget
- Most powerful single-board computers
- Best SBCs for AI
- Best single-board computers for retro gaming emulation
- Best SBCs for Chrome OS
- Best single-board computer for Android
- Best SBCs for NAS use
- Best maker boards for robotics
- Best x86 SBCs
What is an SBC - Final Thoughts
Single-board computers come in all shapes and sizes, from tiny, inexpensive options such as the Raspberry Pi Zero and Zero W all the way up to ultra-powerful, several hundred dollar desktop replacement SBCs such as the UDOO Bolt and LattePanda Alpha. Although maker boards might sound totally new, they're essentially small PCs with all necessary components baked onto a single chip. Dev boards are extremely versatile and may deployed in all sorts of scenarios, from desktops to smart home hubs, retro gaming machines, servers, and a number of other situations.
Your turn: What SBCs are you using, and what have you built recently with a single-board computer?
Leave your feedback...