What is Modular Electronics Design?
If modular design sounds foreign, it is actually a simple concept. In essence, modular electronics design is all about linking together multiple electronic devices into a single system. This is done by taking advantage of the standardized electrical connections (e.g., PCIe, SATA, I2C, SPI, etc.) that are used in electronic devices. This level of standardization is present at the physical level (in the PCB layout and on the PCB itself) and at the signaling standard level.
Three famous examples of modular electronics design in the embedded world are Raspberry Pi, BeagleBone, and Arduino. Other companies have tried to capitalize on the modular wave and have produced their own modular platforms. Some examples include Seeed Studio, STMicroelectronics, Advantech, and others. What makes these hardware platforms modular is the ability to add peripherals to the board by simply plugging them into a set of headers and referencing them in the firmware. If you look at the Raspberry Pi platform, which is basically a set of single-board computers (SBCs), you’ll find displays, cameras or imaging systems, a range of sensors, motors, and other peripherals available for your new board.
One way to add new components and capabilities to your embedded SBC or a development board is with shield boards. These boards connect to the header pins on your SBC and provide a placeholder for a number of different components. You can also design customized shields for your board. Many shields are stackable, meaning you can combine them on top of your board as you see fit. Shield design for specific applications follows the same principles as PCB design in any other area.
This Raspberry Pi with a shield board is an ideal example of modular electronics design.
As hardware has gone modular, so has the software required to support these products. The open source community has gone a long way towards providing a broad range of software to run modular systems, and to provide data acquisition, processing, and control functions. This brings us to SBC design…
Modular SBC Design with COMs
COMs are a great way to add embedded computing to a custom board. These small modules are the size of RAM sticks and contain all the required hardware to run an operating system and custom software. COMs are designed to be application agnostic, in contrast to a system-on-chip (SoC) or system-on-module (SoM). They typically include all the standardized signaling protocols you need to communicate with a wide range of peripherals, allowing then to be easily adapted to specific applications. The specificity comes from the peripherals you add to the system.
A modular embedded system offers systems designers significant flexibility to adapt to different use scenarios. The baseboard of an SBC can include features like USB connectivity for power and data, an SoC/SoM for , basic WiFi/Bluetooth/LoRaWAN connectivity, HDMI display, an expandable GPIO header, and many other modular components. Other modules can be built to take user or environmental input, such as a display addon, motor controller, GPS/GNSS, cellular modem (3G/4G/5G), sensors (accelerometers, gyroscopes, IMUs), and much more.
6701 COM powered by a Snapdragon 845 processor from our client Inforce Computing.
With this modular approach, embedded system developers will be able to focus on building a compelling application-specific layer and focusing on the high-level hardware and software to make it possible, rather than getting bogged down in the finer points of schematic design and building a PCB layout. The designer can focus on the functionality they need and routing connections on a baseboard, rather than integrating fundamental computing components onto a brand new board.