PC/104

The standard is modular, and allows consumers to stack together boards from a variety of COTS manufacturers to produce a customized embedded system.

Unlike other popular computer form factors such as ATX, which rely on a motherboard or backplane, PC/104 boards are stacked on top of each other like building blocks.

The PC/104 specification defines four mounting holes at the corners of each module, which allow the boards to be fastened to each other using standoffs.

The stackable bus connectors and use of standoffs provides a more rugged mounting than slot boards found in desktop PCs.

The compact board size further contributes to the ruggedness of the form factor by reducing the possibility of PCB flexing under shock and vibration.

[4] The majority of PC/104 CPU boards are x86 compatible and include standard PC interfaces such as Serial Ports, USB, Ethernet, and VGA.

The PC/104 bus and form factor was originally devised by Ampro in 1987 (led by CTO Rick Lehrbaum),[5] and later standardized by the PC/104 Consortium in 1992.

For example, a product datasheet may refer to a board as "PC/104" due to its size and shape when it in fact has a PCI-104 expansion bus.

Signal timing and voltage levels are identical to the ISA bus, with lower current requirements.

The specification requires the system to remain in reset and not boot in the case of a Type mismatch (no physical damage will occur).

Similar to PC/104-Plus, a PCI/104-Express CPU boards will provide active communication on both PCI and PCIe buses.

PCI/104-Express incorporates link shifting, which eliminates the need for the PCI slot selection switches/jumpers found on PCI-104 and PC/104-Plus peripherals.

Link repopulation is not a requirement in the specification, and must be implemented on the peripheral board with a PCI Express packet switch.

Because the PCI bus connector is omitted, a PCIe/104 board is incompatible with PC/104-Plus and PCI-104 systems (unless a PCIe-to-PCI bridge device is used).

The PC/104 Consortium's specifications cover three form factors which define the size and shape of the board.

The 104 Form Factor is defined to be 3.550 × 3.775 inches (90 × 96 mm), with mounting holes at all four corners of the board.

The dimensions were originally defined in the PC/104 Specification, and as a result the form factor is still commonly referred to as "PC/104".

The standard provides specific I/O zones to implement functions such as Ethernet, serial ports, digital and analog I/O, video, wireless, and various application-specific interfaces.

Regardless of the buses used, the maximum number of boards of a PC/104 stack may be limited due to size, weight, and power restrictions for the target application.

The mechanical interference issues listed above can often be addressed with a Bus Spacer, which allows additional room between the boards.

It is possible to assemble a system using boards from several different vendors, subject to the fundamental Bus Structure compatibility issues listed above.

The majority of PC/104 CPU boards are x86 compatible, and are capable of running commercially available off-the-shelf PC software without modification.

There is typically no need for specialized development tools, such as cross compilers, Board Support Packages, or JTAG debuggers.

This is a significant departure from non-x86 embedded system platforms, which often require a development toolchain from the board manufacturer.

PC/104 systems often require small, non-volatile storage, such as that afforded by compact flash and solid state disk (SSD) devices.

Compared to rotating disks, flash-based storage devices have limited lifetimes in terms of write cycles, but they are faster and draw less power.

Additionally, their compactness and physical durability is often better-suited to rugged PC/104 applications; the size of magnetic hard drives can be cumbersome and their many delicate parts are more susceptible to failure in harsh environments.