StackPC form-factor – a new approach to embedded modules and systems development

Version 1

    Part 2. StackPC standard and systems based thereon


    Alexey Sorokin (Moscow)


    StackPC standard is considered, advantages and disadvantages of these form-factors for various applications are noted. A Stack and COM method of building StackPC-based systems and a model of stack modules use within protected computers and embedded devices is considered.


    Stack architecture

    The main use of stack modules are protected systems where stacks with modules are installed in cases. Only conductive heat transfer to a case is possible in this design. Stack architecture has an advantage of higher mechanical impact resistance with lower system weight and dimensions, since modules connection and fixing without backboards provides higher stack rigidity in less volume.

    One of the most wide-spread stack standards is PC/104. Different types of PC/104 standard provide an option of system enhancement with peripheral modules based on ISA, PCI and PCIe buses. Modules contain two side connectors – Top and Bottom. The following restriction was introduced in this standards: modules with PCI or PCIe buses shall be installed in the stack right after the processor module, and along one side only – top or bottom because of signal integrity requirements. Essentially, PCI and PCIe modules stack became single-sided. This led, together with the need for more efficient conductive heat dissipation system for new processor generations, to introduction of system modules with heat sink at one side and extension slots at the other.

    New CPU modules with enhanced functionality require more input-output connectors.

    Therefore, PC/104-plus standard tacitly separated into two types: one for processing modules, and another for peripheral ones. The difference was that input-output boards of some processing modules were enhanced with input-output connectors areas (“wings”, see fig. 1 to the right), which became vertical instead of angular.  According to specification, modules with “wings” shall not be named as “PC/104 Complaint” but “PC/104 Bus-compatible” (compatible by extension connector). Nevertheless, this extension does not prevent processor modules from complying of the most already developed PC/104 systems.


    This solution is not employed in peripheral modules. First, the vast majority of these modules is less exacting to printed board area and heat dissipation because they contain less interface connectors. Second, this extension for a peripheral module installed in a middle of a stack will lap the area of interface cables output in the body, while the processing module is nearly always installed as an outermost in the stack.

    In 2011 the consortium ( decided to refresh the specification. As a result, 2.0 version was published, where requirements to interfaces on PCIe/104 extension connector were changed. The consortium scrupled to delete the first version of connector pins assignment from the specification because it would lead to loss of compatibility with already developed modules based on PCIe x16/x8/x4 buses. Therefore, an alternative version of pins assignment was suggested called Type II, and the first version was renamed as Type I.

    In Type II expansion connector pinout PCIe x16 bus was replaced by two PCIe x4 buses, two SATA interfaces and two USB 3.0 interfaces. It is supposed that these interfaces will be actual as stack extension interfaces for peripheral modules. Only Banks 2 and 3 were altered and Bank 1 remained unchanged. It should be noted that the introduced SATA and USB 3.0 interfaces can cause modules damage if a module that uses PCIe x 16 is installed (rather mistakenly) into the stack.Bus Stacking Error mechanism was introduced for protection the stack from  incorrect modules installation. Special configuration of resistors configuring codes on STK lines is provided for each type. For example, if a peripheral module Type 1 with PICe x16 bus is installed onto a processing module Type 2 with SATA or USB 3.0 interfaces, the system shall not on, otherwise the modules will be damaged. Modules that use interfaces from the first bank only are universal and can work with modules of the any types without limitations. This protection mechanism shall present on all modules corresponding to specification PCIе/104 version 2.0 and above. The earlier modules have no such protection and therefore shall be used with care. Additional information can be found in PCI/104-Express specification.

    StackPC specification

    This standard describes extension connectors StackPC and FPE, as well as StackPWR power connectors which shall be used in built-in modules corresponding to this standard. The distinction of this specification is that it describes not a certain module with these connectors but connectors themselves and their relative arrangement. Thus, the specification does not specify certain mechanical dimensions of modules.

    This is done intentionally, since there are accepted form-factors of modules dimensions in many fields. Relative position of connectors can always be transferred to required dimensions, and compliance to StackPC standard shows that modules are electrically compatible to each other. Mechanical compatibility is achieved by complying the corresponding requirements of the standard to whose form-factor StackPC is being adapted. For example, if StackPC approach is adapted fort PCIe/104 form factor, only the following is required: to alter outputs designation on extension connector PCIe/104, to exclude PCIe buses signal switches, and for CPU modules – to exclude the lower connector and remove strict limitation of components height at the board bottom side as well. The resulting module will have mechanical characteristics and functionality to maximum extent close to PCIe/104, but complying the StackPC standard in extension connector pins assignment. Similarly, StackPC can be adapted for such well circulated form-factors as EPIC, EBX, 3,5” and others. An example of this adaptation is module CPC805 from Fastwel (see fig. 2) compatible to StackPC modules and PCI/104-Express general purpose modules.


    If a system developer has a form-factor dictated by a certain system, he can place StackPC connector on his module or backboard and provide for StackPC stack module installation adapted for PCIе/104 form-factor. As a result, the system can be enhanced with StackPC and PCIе/104 modules. Overall and connective dimensions of form-factors the most demanded for adaptation are listed in the appendix to StackPC standard. A preliminary version of StackPC standard published by the moment covers adaptation of form-factors PCI/104-Express, EPIC, EBX, and 3,5” (see

    StackPC specification was developed independently from introduction of new types into PCI/104-Express standard. The reason was the need of developing and introduction of more producible and simple for understanding and implementation alternative for the more and more complicated and diverse PCIe/104 standard. Therefore, the following ideas became basic for StackPC:

    • a system approach establishment in the specification;
    • defining a single stack growth direction;
    • improvement of processibility of modules and the whole system;
    • unifying heat dissipation methods for modules and cases;
    • defining requirements to IP as a part of the system;
    • enhancement of stack modules use to COM-modules area;
    • provision of compatibility to basic PCIe/104 modules types;
    • provision for further standard development opportunity.

    A system approach means that specification shall be oriented not to extension connectors and modules dimensions description only, but on recommendations on effective StackPC-based systems building as well. System approach generalization for modules will improve their compatibility on mechanical parameters and interface connectors, that should decrease labor content in developing system on their base.

    An important system approach is defining increasing modules stack in one direction only. Since peripheral module is always installed above the CPU module, this requirement guarantees exclusion of interface switching microcircuits PCIe, SATA, USB, and Gigabit Ethernet (GbE) between top and bottom connectors. This allows development of CPU, peripheral and interfaced modules and complete systems based on a common principle of expedience. Deletion of interface switching components from peripheral modules decreases the number of vias on PCB for high-speed stack interfaces, increasing modules produceability and reliability, decreasing their cost and accelerating development. As for CPU modules, this requirement deletes all bottom connectors, and therefore releases board space for components and effective heat sinks on the CPU module bottom layer.

    The following set of interfaces is proposed in StackPC specification:

    • 4x1 PCIe (four x1 Link PCI-Express);
    • 1x4 PCIe (one x1 Link PCI-Express);
    • 6x USB 2.0;
    • 2x SATA;
    • 2x Gigabit Ethernet;
    • LPC, SMB;
    • 2x FBUS (CAN или
    • SPI (3 device selection lines on a bus);
    • Express Card and SATA, GbE indication lines support.

    The first bank of StackPC connector is completely identical to the PCIe/104. Thus, these standards are completely compatible for the BANK 1 of the extension connector. Some of the BANK2 interfaces match to PCIe/104, and these specifications are compatible as related to these interfaces. However, StackPC contains some different from PCIe/104 BANK2,3 set of interfaces, they are GbE, 4 USB 2.0 ports, SPI, FBUS, Express Card and indication. Extension connector outputs assignment is shown in table 1.

    GbE interface in StackPC standard is represented by MDI interface (Medium Dependent Interface). This interface requires additional transformer installation on an interface board or on carrier board to organize 1000BASE-T/TX port, similarly to COM-Express specifications. Thus, a peripheral module can be created for a stack, which will use GbE MDI interface instead of PCIe bus for communication to processing module without any wired connections. This can be a network switch, a built-in power supply module with PoE functionality, an extension module or a controlled based on processors with ARM or AVR architecture and so on.

    Field BUS interface, according to specification, is defined by users or by CPU module developers. Three models of using are specified –CAN, UART, or user-defined one. These interfaces are designed for output to external connectors, so they assert installation of a corresponding driver and galvanic isolation on the interface module or on a carrier board.

    It should be noted that all interfaces are not obligatory. Each StackPC uses the functionality it needs, bypassing other signals from the lower connector to the upper one. If a first interface from a group is used on a peripheral module, then,  according to standard’s requirement, other interfaces from the group are moved one position down using Line Shifting mechanism. This is hardwired in StackPC standard by printed circuit board topology without use of switching microcircuits.

    A model of COM-use of StackPC modules adapted for PCIe/104 dimensions may be of a great interest. Introduction of GbE interface into a stack, together with two SATA interfaces, 6 USB 2.0 ports, as well as LPC, SPI and FBUS buses, opens an area of processor and peripheral StackPC modules as COM-modules. To compare, COM-Express standard also contains GbE, SATA, USB and LPC interfaces, which are the minimum necessary set for functional carrier boards development.

    Video interface for COM-solution, that is absent in StackPC, can be obtained by placing one or more powerful PCIe video controllers on the carrier board, can be installed in the stack between the processing module. Display Port interface and PCIe x16 can be provided for carrier board if on StackPC-FPE COM-modules are used. If none of the above methods fits, the required video interface can be connected via a cable from the processing module onto the carrier board or case facade.

    An important difference of StackPC use as processing COM-modules is that enhancement boards may be installed not in separate connectors, but immediately between COM-module and carrier board. Furthermore, a carrier board can serve as an intermediate peripheral module in any stack position (see fig. 3).


    Thus, a compact and versatile platform can be developed based on StackPC modules and a carrier board with an option of further system upgrade and enhancement with StackPC modules. Any single processing module in this system can be replaced with another one without losing compatibility to the carrier board, as for traditional stacks where all interfaces are standard.



    The StackPC specification is aimed to increase unification of products and systems from various manufacturers. The existing standards for stack systems do not answer many questions becoming more acute in the recent years, namely: heat dissipation, IP development and connection to systems, development of cases for protected systems with heat dissipation from heat sources, reliable solutions search etc.

    Each manufacturer of built-in modules refers to this questions in his own way; as a result modules which are called standard but do not meet standard requirements in a number of parameters appear. As a result system developers have to adapt items existing on the market or use customized products.

    An important advantage of StackPC is a possibility of use the same items both for stack systems and for fully-functional COM-modules and from this point of for a number of tasks StackPC approach seems to be technological and prospective.


    About Fastwel

    Fastwel for more than 15 years has been one of the leading companies developing and manufacturing rugged Single Board Computers for mission-critical applications in transport, military and defense, security and telecom. To learn more, visit .