PC/104 - What is it?
PC/104 Definition
PC/104 (or PC104) is defined by a set of standards for both its compact size and computer bus. It is a miniaturized form of a PC which has resulted in applications that demand ruggedness, reliability and long life. PC/104 Circuit Card Assemblies (CCA) are also referred to as modules. The PC/104 modules are stackable without the need for backplanes or rack assemblies which results in a very compact sub-assembly.
The computer bus which is shared across the modules can be ISA, PCI, PCIe or even USB. Reliable 64- and 40-pin pin-and-socket connectors allow for stacking or side-by-side component arrangements and provide a robust mechanical interface.
PC/104 falls into the Commercial Off-The-Shelf (COTS) product category as it is used to support many complex industrial, military and aerospace markets for the long haul. COTS is used as an acronym to represent an off-the-shelf long life kind of product. PC/104 is also falls into the classification for constraints with respect to Size, Weight and Power (SWaP), or even Size, Weight and Power and Cost (SWaP-C).
There is a very large ecosystem supporting PC/104 from CPU, digital I/O, analog I/O, data acquisition, serial I/O, GPS receivers, power supplies and many many more. There are hundreds if not thousands of custom solutions created over the years to solve very specific application problems.
Even though ISA bus technology is very old, it is extremely well known and for many applications this is completely adequate and requires little software complexity to bring up a system allowing focused effort on the application rather than hardware implementation. It is this simplicity, easy to understand and long term availability which makes it very useful for many applications. Furthermore, many PC104 CPU modules continue to support the ISA bus interface allowing for complex GUIs or signal analysis with low I/O software complexity.
PC104 is particularly useful for research, test fixturing and low quantity production. One other big advantage to PC/104 often overlooked is its scalability to quickly add or swap modules adding to a systems capabilities. Software development on the desktop can be quickly ported to a PC/104 stack almost directly in many cases.
Ways to use PC/104
Stackable
PC/104 modules are stackable to avoid the added cost of backplanes or card cages. The modules are stacked typically 0.6 inches apart, although in some situations you might be able to squeeze them to 0.5 inches apart (yes this violates the specification but we have been able to accomplish this under many situations). A three board stack will typically consume 3.6 by 3.8 by 2 inches or about 28 cubic inches. In some cases you might fit into a slightly smaller volume using 0.5 inch spacers where possible.
Interestingly, the stacking arrangement provides a very rigid stack due to small board size, large connectors and mechanical hardware that hold the stack together.
Side-by-Side
In this approach you use the PC/104 modules as components on a larger mating board as shown in the image below. If the PC/104 modules are interfacing to a variety of other sub-components and there is a need to merge signals onto a few external connectors this can be a great way to implement.
Alternatively, if you are trying to fit into an enclosure that is not very deep, such as a 19-inch rack enclosure or other mechanical restrictions that do not allow for a stacking arrangement, then this can be a viable solution.
A simple example is shown in the illustration below. A solution might have 1, 2, 3, 4 or more PC/104 modules on a larger base board where the base board brings out all of the I/O to just a few I/O connectors.