The PC/104 backstory
Although 2012 officially marks the 20th anniversary of the PC/104 standard, PC/104’s roots can be traced back 25 years to Ampro’s 1987 introduction of the Little Board/PC Single-Board Computer (SBC). Ampro’s goal in developing the Little Board/PC was to make it easy for OEMs and system integrators to inexpensively and reliably incorporate IBM PC-compatible functionality into a wide range of specialized applications, such as data acquisition, process control, and purpose-built devices.
The Little Board/PC’s electrical design was based on an NEC V40, the first VLSI chip to integrate an 8086-compatible CPU with a full set of PC system controllers. Physically, the board’s design had to conform to Ampro’s existing “Little Board” format, which matched the 5.25" disk drive footprint.
Since the V40 lacked an integrated graphics controller, and given the required form factor’s tight spatial constraints (5.75" x 8.0"), the development team opted to implement the graphics subsystem on a compact (3.6" x 3.8") daughter module. This module, called the MiniModule/CGA, interfaced to the SBC via a 64-signal variant of the IBM PC bus that Ampro defined for this purpose.
As seen in Figure 1, the Little Board’s 64-pin PC bus made use of a top-side male header, which the MiniModule/CGA plugged into upside-down (Figure 2). A right-angle passthrough bus header on the daughter module enabled further PC bus expansion. In this manner, the graphics daughter module fit entirely within the board’s vertical space envelope.
To add flexibility to the system, Ampro created several optional expansion adapters for the Little Board/PC: The StackPlane/PC allowed for the addition of a single desktop PC expansion card, while the StackPlane/MM provided two additional MiniModule stack locations. Both adapters interfaced to the Little Board/PC’s expansion bus via a short 64-signal ribbon cable (see Figure 3), and could also be daisy-chained above a MiniModule/CGA.
Upgrading to PC/AT compatibility
As IBM’s 80286-based PC/AT displaced the original 8088-based IBM PC on the desktop, Ampro began developing a series of PC/AT-compatible Little Boards. Because the IBM PC/AT’s 16-bit expansion bus was a superset of the original IBM PC’s 8-bit bus, the new designs required an additional (40 signal) bus connector. As a result, the Little Board’s PC/AT pin-and-socket connector now consisted of two connectors (P1 and P2) totaling 104 pins. The first board built with Ampro’s 104-pin PC/AT pin-and-socket bus was the Little Board/286 (Figure 4), which was followed by 386- and 486-based models.
You might notice in Figure 4 that Ampro’s early PC/AT-compatible Little Boards were designed with right-angled, rather than stackthrough, connectors for the P2 portion of their PC/AT buses. Additionally, all of Ampro’s early PC and PC/AT-compatible Little Boards had male expansion bus headers, whereas today’s EBX form factor (the successor to the Ampro Little Board form factor) uses topside female expansion bus connectors, resulting in expansion modules stacking right-side-up instead of upside-down on the processor board.
World’s first PC/104 I/O module?
In 1989, Ampro introduced its first I/O module equipped with the newly developed 104-pin PC/AT header bus variant. The MiniModule/ATDisk (Figure 5) could be used for adding an IDE drive interface to the Little Board/286.
Being the first MiniModule to implement both the 3.6" x 3.8" form factor and the 104-pin PC/AT bus, this unpretentious board turned out to be the original ancestor of the highly successful PC/104 I/O module. Of course, numerous mutations have occurred between then and now. Like the Little Board SBCs it plugged into, the MiniModule/ATDisk had a right-angle P2 bus connector, which interfaced via a short 40-conductor ribbon cable to a matching connector on the associated Little Board SBC. The MiniModule/ATDisk also was the first module built with a stackthrough 64-pin P1 connector, which facilitated stacking one of Ampro’s display controller MiniModules on top of it, resulting in a compact and rugged three-board stack.
Squishing a complete PC or PC/AT onto the MiniModule form factor
With x86 chipsets attaining higher and higher levels of integration, Ampro embarked on the ambitious project of squeezing complete PC and PC/AT architectures onto its MiniModule form factor. The result would be a compelling set of LEGO-like building blocks for rapid development of highly compact, stackable, rugged embedded systems.
This project culminated in the introduction of a series of three MiniModule-sized SBCs, dubbed “CoreModules,” beginning in 1990 with the launch of the CoreModule/XT (Figure 6). The modules were powered by NEC’s 8088-compatible V20, AMD’s 286LX, and Intel’s 386SX CPUs, respectively.
Inviting collaborators and competitors
Once Ampro announced CoreModules, a steady stream of customers and IBM PC I/O board vendors began requesting details on how to build third-party MiniModule-compatible I/O boards. Real Time Devices and Diamond Systems both developed data acquisition I/O modules on the MiniModule form factor during this early period.
By mid-1991, burgeoning interest in Ampro’s modular embedded PC building block concept inspired the company to morph its proprietary form factor and stackable pin-and-socket PC/AT bus variant into an open industry standard, free of royalties and other encumbrances.
- Packaged all the essential mechanical and electrical specs into a single, concise document
- Named the standard “PC/104”
- Incorporated the PC/104 Consortium as a nonprofit trade association
- Ceded ownership of the PC/104 name and standard to the Consortium
Shortly thereafter, Ampro set about preparing to launch PC/104 at the annual BusCon show, which would take place early in 1992. Among the goals was getting at least 10 companies to join the PC/104 Consortium and participate in the news release.
And, as the saying goes, “the rest is history” (Figure 7).