When we look at a development board, we always talk about a system on a chip. If you are a newbie to the embedded hardware world, a system on chip is an integrated circuit that holds at least a microprocessor/microcontroller, I/O ports, and memory. Now that you know what an SoC is, let’s talk about System-on-Modules (SoMs). There have been hundreds of System-on-Modules in the market for decades. In a nutshell, a System-on-Module is a piece of hardware that is ready-to-use and has processor modules with standard I/O capabilities. Typically, it comes in a small form factor and is an embedded computer that can be soldered or plugged onto a suitable carrier board.
The reason behind the invention of the System-on-Module lies in the high complexity of designing embedded electronic hardware, which then reduces the time to market. These System-on-Modules also come with Wi-Fi, Bluetooth, and other wireless connectivity support. These small boards also feature ethernet support and run an operating system. It is crucial to note that a System-on-Module is very different from a single board computer because SoMs are not operational systems and always require a carrier board known as the baseboard.
The constraints on embedded hardware are increasing due to the design complexity of high-end applications and fulfilling the requirements to process heavy workload AI tasks. To mitigate this, the System-on-Modules come with a smaller form factor that can easily fit in the appropriate carrier board to provide neural processing of machine learning models with low-power consumption. If you are confused between an SoC and SoM, remember that most of the SoM may come with an onboard SoC and is one level higher than an SoC, but not fully functional as a single board computer.
Why use a System-on-Module?
One of the reasons to use a System-on-Module is the easy-to-use embedded electronic hardware that can be integrated with a baseboard. When you choose a System-on-Module, there are several factors that you should consider. Some of them include specification, scalability, and flexibility, which are essential aspects of any System-on-Module that can affect your application. System-on-Modules reduce the time to market significantly and minimizes the cost, making it easy for the developer to work on it. With an SoM, you only need a suitable carrier board suitable for the application, and you are good to go for deployment.
An interesting fact about SoMs is that they can also be designed with some drivers and software specifically targeted to an application. This helps the software developers to reduce the design time and work on the algorithms for AI workloads. In terms of AI-based applications, these System-on-Modules work well because of the low power and flexibility to swap out AI models. Understanding the design complexity is when a custom-engineered development board for an AI application takes a lot of time, effort, and cost. Even these custom boards face technical risks in the development phase. But, when it comes to an SoM, due to the reduced complexity, the manufacturers and designers can work to produce a custom module that can target a specific application. Then, according to the requirements of the other peripherals and I/O interfaces, the carrier board can be used.
What are the Benefits of a System-on-Module?
Now, once you have a single carrier board, you can use multiple SoMs that can have different SoCs. Imagine with a single baseboard; you can now implement an application using an ARM-based SoC as well as a RISC-V-based SoC by just swapping them. This increases the user’s flexibility, which is a significant upside to using SoMs more than ever. System-on-Modules are proven solutions that eliminate significant development risk by using a reliable solution.
Recently, we saw the first Raspberry Pi silicon tape out RP2040 SoC, which has now engaged almost every manufacturer to develop their own boards. But in no time we will be able to see more System-on-Modules based on the RP2040 SoC. This gives the user flexibility to use an SoM based on RP2040 with his favorite carrier board, rather than sticking to the peripherals and I/O interfaces present on the development board. One such product of my choice is the MicroMod RP2040 processor, a processor board that can be plugged onto any SparkFun carrier board.
How to use a System-on-Module?
If you have used System-on-Module in the past, you are aware of different form factors available in the market. These include stamp, board-to-board, edge connectors, MXM3, SODIMM, Qseven, SMARC, and many more. However, depending on the form factor, the System-on-Module can be plugged into the baseboard or soldered. But if there are multiple scopes of deployment of the carrier board, it is recommended to plug n’ play with the SoM unless the option is too complex. With the plug n’ play option, there is flexibility to choose between different SoMs and select the suitable module for the required application.
Most of the SoMs available in the market have a how-to get started guide that can be used to work and configure the software and hardware setup. One of my favorite SoMs for accelerated ML applications is Google’s Coral System-on-Module that comes with NXP's iMX8M and the Edge TPU coprocessor for ML acceleration along with wireless connectivity. The manufacturer has provided complete documentation that talks about the requirements, flashing of the SoM with Mendel Linux, and software guides.
System-on-Modules can now be used in a large variety of tech including security cameras, machine vision, smart cities, AI acceleration, and AIoT. To recap, the concept of SoMs is that it is nothing but a small board that comes with memory, SoC, and has I/O capabilities, but it is not fully operational hardware as a single board computer. These SoMs improves productivity through integrating advanced technologies such as AI and ML
There is a significant increase in the demand for embedded electronic devices in industrial IoT and smart cities require efficient usage of power with high performance and plug n’ play features. Always consider several factors while choosing suitable SoMs, including the form factor, longevity, scalability, and flexibility. The future of SoM lies in the added advantage of reducing the cost and time to market with less complexity, changing the world of computing.