Embedded System Module, or ESM, is a compact computer-on-module (COM) standard. An ESM module typically includes a CPU processor, memory, module-specific I/O interfaces and a number of basic front I/O connectors. They can be plugged on a carrier board or be used as a stand-alone processor card.
If the ESM module is plugged on a carrier, it relies on the standard PCI bus as a board-to-board interface. In this case two connectors create a link to the carrier. While the "J1" connector provides a specified PCI connection, the "J2" connector brings I/O signals from the ESM module to the carrier, which then includes all necessary connectors. The signal assignment of J2 is not fixed but can be completely customized, although there are reserved pins for a 64-bit PCI bus interface. A third connector, "J3", is used for additional I/O signals if the ESM module has no front I/O. The signal assignment of this connector is fixed to support a special set of I/O functions.
A large part of the I/O functions on ESMs are often controlled by an onboard FPGA component (field-programmable gate array) so that every module can easily be tailored to a specialized application through user-defined functions. Such functions are loaded into the FPGA as IP cores. Using FPGAs also reduces dependence on special controller chips which may become obsolete, thus extending the card's serviceability.
ESMs are typically used on boards for CompactPCI and VMEbus as well as single-board computers for embedded applications. A company standard by MEN Micro, a manufacturer of embedded computers, specifies the ESM concept and the different types of modules. The ESM specification defines one form factor for the printed circuit board: 149 × 71 mm (5.9 × 2.8 in).
Depending on the processor type, most ESM modules have heat sinks and can be operated in wide temperature ranges up to -40 to +85 °C.
A mechanical specialty of ESM modules is that their connectors are compatible with the PCI-104 module standard. These modules can be "stacked" onto ESM modules, e. g., for additional peripheral interfaces.