A computer-on-module (COM) is a type of single-board computer (SBC), a subtype of an embedded computer system. An extension of the concept of system on chip (SoC) and system in package (SiP), COM lies between a full-up computer and a microcontroller in nature. It is very similar to a system on module (SOM).
COMs are complete embedded computers built on a single circuit board. The design is centered on a microprocessor with RAM, input/output controllers and all other features needed to be a functional computer on the one board. However, unlike a single-board computer, the COM usually lacks the standard connectors for any input/output peripherals to be attached directly to the board.
The module usually needs to be mounted on a carrier board (or "baseboard") which breaks the bus out to standard peripheral connectors. Some COMs also include peripheral connectors. Some can be used without a carrier.
A COM solution offers a dense package computer system for use in small or specialized applications requiring low power consumption or small physical size as is needed in embedded systems. As a COM is very compact and highly integrated, even complex CPUs, including multi-core technology, can be realized on a COM.
Some devices also incorporate field-programmable gate array (FPGA) components. FPGA-based functions can be added as IP cores to the COM itself or to the carrier card. Using FPGA IP cores adds to the modularity of a COM concept, because I/O functions can be adapted to special needs without extensive rewiring on the printed circuit board.
The terms "Computer-on-Module" and "COM" were coined by market researcher Venture Development Corp (VDC) and first appeared in VDC's report on the Global Market for Merchant Computer Boards in Real-time and Embedded Applications, published in November 2001. The terms became more prominent upon industry standardization of the COM Express format in 2005.
COM Express is just one of many standardized Computer-on-module formats. Other open-spec COM standards include SMARC, Qseven, ESM, XTX, and eTX. Additionally, many manufacturers offer COMs with proprietary formats.
Some proprietary COM formats have modified SODIMM and MXM edge-connector style designs, while others have arbitrary rectangular dimensions along with various types of high density board-to-board connectors . Notably, the Raspberry Pi Compute Module is designed in a 200-pin SODIMM format.
Using a carrier board is a benefit in many cases, as it can implement special I/O interfaces, memory devices, connectors or form factors. Separating the design of the carrier board and COM makes design concepts more modular, if needed. A carrier tailored to a special application may involve high design overhead by itself. If the actual processor and main I/O controllers are located on a COM, it is much easier, for example, to upgrade a CPU component to the next generation, without having to redesign a very specialized carrier as well. This can save costs and shorten development times. However, this only works if the board-to-board connection between the COM and its carrier remains compatible between upgrades.
Other benefits of using COM products instead of ground-up development include reducing time to market (TTM), risk reduction, cost savings, choice of a variety of CPUs, reduced requirements and time for customer design, and the ability to conduct both hardware and software development simultaneously .