It has never been easier to build an embedded system, whether one makes or buys the hardware. Of course, there are many ways to do this.
The choice depends upon a large number of factors from in-house expertise to time-to-market requirements. Factor in size, mobility, and other variables like quantity and the approach may become clear. For example, delivering millions of inexpensive, wearable devices may warrant a custom chip design whereas a couple hundred expensive boxes might be done using COTS (commercial-off-the-shelf) or even standard systems.
Here we will focus on custom approaches starting with the lowest level of customization including systems built from motherboards, modules, and custom boards, and trends like peripheral interfaces on tiny Mini-PCIe boards (Fig. 1). Developers can also turn to third parties for all these options so developers do not need expertise in all areas. There is a price to farm out parts of a design, but there are also costs for doing it in-house.
1. Mini-PCIe modules are not just for adding wireless support to laptops. Mini-PCIe sockets can populated with modules like (a) ACCESIO’s mPCIe-ICM232-4 quad serial port with 1500 V isolation, (b) VersaLogic’s Serial + GPIO, and (c) Diamond System’s DS-MPE-DAQ0804 Analog I/O Module.
Building with Boards
Building a board-level system typically starts with a motherboard that usually provides one or more expansion options. There are also backplane-based systems like CompactPCI and VME and their high-speed serial counterparts CompactPCI Serial and VPX. These provide expansion using 3U and 6U boards. There are other board-level standards such as Advanced TCA and Micro TCA, as well as test and measurement standards that add features like timing. The PXI System Alliance’s PXI (PCI eXtensions for Instrumentation) and PXIe are variants of CompactPCI and CompactPCI Express.
Conduction and liquid cooling are sometimes options for more rugged environments in addition to air cooling. Boards may also have headers for mezzanine cards using standards like PMC, XMC, and FMC.
PC motherboards like ATX, Micro-ATX, and Mini-ITX provide a similar expansion approach but the add-on card mountings tend to be less rugged and they are typically air-cooled.
Smaller form factor systems are available as well, although the expansion options tend to be more limited. Form factors like Pico-ITX have become popular because of their small size and availability of enclosures that are commonly available for the larger form factors such as the PC motherboards.
Intel’s Next Unit of Computing (NUC) is another form factor that is popular in many embedded applications such as digital signage. NUCs tend to be very compact and this can limit expansion options. NUCs like Logic Supply’s ML100G NUC (Fig. 2) target rugged industrial applications.
2. Logic Supply’s ML100G is a rugged NUC system designed for industrial applications.
Stackables are an alternative to the motherboard and backplane approach to building systems. The quintessential stackable form factor is PC/104, of which there are many variations. Typically, a system has a single board computer (SBC) somewhere in the stack, usually at one end, with additional peripheral cards stacked along with it. Connectors on each board connect to the board above and below, if they exist.
The PC/104 Consortium’s PC/104 standard is based on the parallel ISA (industry standard architecture) bus. It is easy to design an ISA interface device, but it is slowly disappearing because of a number of factors including its slower speed and lack of support with new chips. PC/104 Plus added the parallel PCI bus to the mix.
Of course, PCI Express (PCIe) is now the dominant interface and it is a point-to-point connection instead of the bus interface of ISA and PCI. This requires that stacking systems employ a staggered connection as signals move from one board to another (Fig. 3). For example, an SBC may provide four x1 PCIe lanes on a connector. An expansion board uses the first lane and shifts the other three before passing the signals onto the next board in the stack. The fourth connection is no longer in play and the stack can handle up to four boards that use a PCIe lane.
3. Sundance Multiprocessor Technology’s stack is an example of the PC/104 form factor that utilizes the OneBank connectors.
PC/104 variations that employ PCIe are defined. The OneBank has four x1 PCIe lanes, two USB 2.0, and power signals on a single connector. USB is also a point-to-point connection and the staggered connection approach works just as well with USB as it does with PCIe. The Micro/Sys StackableUSB takes the same approach, but only uses USB on a very small form factor board that is a quarter the size of a PC/104 board.
Another approach to expansion used on everything from motherboards to SBCs are Mini-PCIe and M.2 sockets. These can be used for storage and peripherals, although typically M.2 is being used for flash memory with either SATA or PCIe interfaces. Mini-PCIe sockets can support a number of interfaces including PCIe, USB and SATA. The latter is used to implement the mSATA interface for storage.
The Mini-PCIe sockets were initially used for communication options on laptops but have since been used to support all sorts of peripherals from ADCs and DACs to motor controls. Even wired network interfaces can be found on these tiny cards. Many SBCs are being designed with multiple Mini-PCIe sockets. The challenge tends to be the connectors since the boards are tiny. Luckily, tiny connectors are available as well.
Building with Modules
Often SBCs and other standard board-based solutions are not the answer as custom connections or peripherals are involved, but developers do not want the hassle of designing a system from scratch. In this case, a module approach may be more appropriate.
There are dozens of standard form factor modules like COM Express, SMARC, and QSeven (Fig. 4) and even more proprietary ones. They also vary significantly in size, performance, and cost so there is likely one suitable for most applications.
4. COM modules like (a) ADLINK’s Express-BD7 COM Express board supports 10 Gbit Ethernet, (b) Congatec’s conga-SA5 SMARC that supports the Intel Atom, and (c) DFI Technologies’ QSeven module that is available for Intel Atom and NXP i.MX6 processors.
COM Express is a computer-on-module (COM) standard from PICMG. The modules support PCI Express Gen 3, USB 3.0, SATA, LVDS, CAN, HDMI, and Ethernet. The latest supports 10 Gbit Ethernet and 32 PCIe lanes. The smallest Mini COM Express module is only 84 mm by 55 mm.
SMARC and QSeven are two COM from the Standardization Group for Embedded Technologies (SGET). SMARC is a 82 mm by 50 mm board designed for ultra-low power COM (ULP-COM). QSeven is 40 mm by 70 mm and plugs into an MXM connector.
Of course, there are many alternatives that are smaller like the Gumstix series of 17 mm by 58 mm ARM-based modules. Digi International has a number of modules that target the Internet of Things (IoT) in addition to some RJ-45 jacks that contain their own network server. Linear Technology’s SmartMesh modules implement a mesh network that is used in industrial IoT (IIoT) settings. There are even modules that target wearables.
And the list goes on and on. There is even a Raspberry Pi Compute Module 3 (Fig. 5) that can be used to deploy Raspberry Pi applications, as the chip is only available in very large quantities.
5. This Raspberry Pi Compute Module 3 is mounted in Gumstix Pi Compute Dev Board created using its Geppetto web-based design-to-order (D2O) system.
Modules can deliver very high performance like NVidia’s Jetson TX1 and new TX2 module that delivers 2 TFLOPs of performance and targets artificial intelligence and machine learning with support for deep neural networks (DNN). The platform is ideal for vision applications in industrial settings.
Modules with wireless support also have advantage over custom designs because they will already have the necessary approvals for wireless operation.
Modules do not operate as standalone devices like SBCs so typically a module is plugged into a carrier board. Most modules have development carrier boards available but many have carrier boards targeted at deployment. For example, Connect Tech sells a line of carried boards for the Jetson TX1 and TX2. These have connectors for interfaces like USB and Ethernet not found on the module. Pixevia’s Core X1 (Fig. 6) is a carrier board for the Jetson that targets drones and vision applications. It includes a 9-axis sensor system including 3D accelerometer, 3D gyro, and 3D compass. It also has a barometer, CSI camera ports plus CAN support, and is designed to support GPS and long range wireless.
6. Pixevia’s Core X1 supports the Jetson TX1 and TX2. It targets drone and video applications with on-board sensors and camera interfaces.
The alternative to off-the-shelf solutions is to design your own carrier board. This is usually easier than designing a board that also incorporates the processor, especially for higher-performance systems. This can be done with PCB design tools. One alternative for a select group of modules is Gumstix’s design-to-order (D2O) Geppetto service. It supports Gumstix’s modules as well as Intel’s Joule and Edison, Toradex’s Colibri, and more. The web-based design tool uses a drag-and-drop interface that hides the routing details and requires all connections to be made before the design is complete. It has a $1,999 setup fee and a per-board fee based on the design with delivery of finished boards in days.
There are engineering firms that will provide more advanced design and manufacturing services. Many developers may also do board design in-house and even manufacturing. This requires more design and production expertise. The advantage is that almost any component can be included and the boards can meet more exacting standards in performance and construction in addition to providing a lower per board cost.
If board production is all that is required then there are a number of fast-turnaround PCB firms that can deliver boards in a day. Just upload the design files and place an order. Many, like Advanced Circuits, Sunstone Circuits, Imagineering, and ExpressPCB provide free CAD PCB tools that integrate with the websites. These firms often work with or provide complete board construction.
In-house PCB construction using conventional techniques tends to be expensive and hazardous for the inexperienced, but there are alternatives for prototyping and small production runs that may be useful to developers. These include additive and subtractive devices for creating PCBs.
Nano Dimension’s DragonFly 2020 (Fig. 7) uses an additive 3D inkjet printer technology to create PCBs. It can print multilayer boards and the ink and process used to create the boards is designed to replicate the electrical characteristics of a board created using conventional techniques.
7. Nano Dimension’s DragonFly 2020 is a 3D printer that generates multilayer PCBs.
LPKF Laser and Electronics has a number of subtractive devices that are essentially milling machines for creating PCBs. The system starts with a PCB and then grinds off unwanted copper. A two-layer board requires a flip while multilayer boards are done a layer at a time.
Custom boards will often meet a designer’s needs, but sometimes a custom chip may be required. The switch to chip foundries has opened the custom chip design options to a much wider audience, but the approach can still be daunting especially as the size of the chip grows making this alternative viable only for those with deep pockets.
On the other hand, chip designers have never had better tools and intellectual property (IP) options. Chip design is still not for the uninitiated, but there are engineering firms that will take a design and turn it into a chip. Still, it has many advantages such as making cloning more difficult.
An alternative to a fully custom chip are configurable chips. The simplest case is a programmable logic device while more complex designs require FPGAs. Designers do not have to drop to the gate level, but even logic designs for FPGAs can be quite complex. Luckily these tools have progressed significantly and are employing techniques like using IP blocks connected to standard interfaces allowing drag-and-drop designs to turning program code like C and C++ to be turned into designs automatically. There are tools that will convert graphical designs like those done in National Instrument’s LabView into FPGA code.
FPGAs are also available with hard-core logic like microprocessors and microcontrollers with system-on-chip (SoC) functionality. These are tied into the FPGA fabric providing a mix of logic and software support that is applicable to a wide range of options. It is also possible to use soft-core processors like the ARM Cortex-M1 and RISC-V.
FPGAs can be used for prototyping with resulting custom chips being less expensive and more power-efficient, but in many cases FPGAs have proven to be better than custom chips for a variety of reasons including long term support.
One option for microcontroller solutions that falls between standard chips and FPGAs is Cypress Semiconductor’s PSoC. The latest PSoC 6 is a dual-core, asymmetric design with a Cortex-M4 and Cortex-M0+. The PSoC has configurable digital and analog peripherals that have a functionality similar to an FPGA but with restrictions that simplify their operation and configuration. Most developers work with predefined peripherals allowing the chip to appear as a typical microcontroller with an arbitrary selection of interfaces. More advanced designers can create custom peripherals from the digital and analog blocks.
It has never been easier to build an embedded system whether for prototyping or production but the choices are vast. Application form and function will limit the available options, but rarely will an application be limited to one approach or solution, although one alternative may be much better than the others.