Keith Ruenheck, Principal Software Engineer
The traditional computing platform for embedded systems is a microcontroller. Microcontrollers are soldered to a circuit board, along with memory, input/output (I/O), and other peripheral electronics. There are two preferred methods for software development: bare metal (i.e. build from the ground up, leveraging libraries provided by the chip maker) and Real Time Operating System (RTOS), such as VxWorks or MicroC.
Examples of these devices can still be found, such as the Arduino (bare metal) and StMicro’s Nucleo (bare metal or RTOS). Although these are flexible and can be customized for many applications, there are disadvantages, such as needing a dedicated programmer to load software to the board, and a debugger to see what’s happening in the code. These devices are also limited in resources such as memory and processing power.
Single Board Computers (SBCs) make life a little simpler since you can develop code directly on the board, and use a mouse, keyboard, and monitor to help see what’s happening. These come with everything on a single circuit card, including a microprocessor (typically ARM Cortex), memory (volatile and persistent), I/O, and built-in peripherals.
An Operating System (OS) is usually included, with Linux being the most popular. If you can live without real-time performance, these give easy access to a file system, USB and Ethernet. If you need real-time, the Kontron pITX-E38 can be ordered with VxWorks installed.
There are two broad categories of SBCs: those that need a passive backplane, and those that can stand alone. The ones that fit into a backplane have the advantage of a standard interface for expansion cards (e.g. ISA, PCI and PC-104), but the stand-alone variety also have a means for expansion, albeit less standardized, through one or more headers.
SBC offerings run the gamut from dirt cheap to a monthly car payment. At the low end is the Onion Omega2 that sells for $13.00. It has a 1.7 x 1.0 inch footprint, and comes pre-installed with Linux. This device needs to be plugged into a dock board to function, adding a little extra cost (which varies depending on style). Toward the high end is the Advantech PCE-7129, which tips the scales at a hefty $650 and 13 x 5 inches. This is passive-backplane style, uses an Intel Xeon processor, and runs Windows or Linux.
Two of the more popular SBCs are the Raspberry PI 4B ($35) and Beaglebone Black ($59). These are 2.6 x 1.2 inch and 3.4 x 2.1 inch, respectively. Both run Linux, and are powerful for their cost and size. Besides cost, much of the popularity of these boards is due to their capes and shields, which are daughter cards that mount to headers, and provide sensing, motor control, various interfaces (e.g. CAN, Ethernet, and Bluetooth), or extra horsepower like DSPs and FPGAs. These devices make prototyping easy and quick.
More toward the middle of the price range is the Shenzhen Banana PI W2, which costs $184, and is a 5.8 x 3.9 inch stand-alone board. This runs Linux and Android, and has a 40-pin I/O header that matches the Raspberry Pi.
SBCs can be customized to your tastes, with options like extra RAM, ruggedization, medical grade, and many come with optional enclosures. So if you’re driven by convenience, flexibility and low cost, an SBC may be what you’re looking for.
At Columbia Tech, we are proud to offer a full suite of product development and manufacturing services, including printed circuit boards, sub-assemblies, and full system integration.