Avionics System Design: Designing with PC104 Technology

By Walter Shawlee 2 | April 1, 2001
Send Feedback

As people try and port various kinds of intelligent displays and systems into aircraft, especially for special-purpose data applications, they feel considerable pressure to use popular technology from the embedded microprocessor world–in particular, PC104 technology. The PC104 cards’ small form factor and high density are especially tempting, as many functions are possible within the default 3.6-by-3.8-inch board size.

We used this format in a recent design, and perhaps others considering this route could benefit from our research and experimentation. Several PC104 systems already are deployed in civil aircraft and military systems. More certainly will come soon.

If you are unfamiliar with the PC104 standard, you can view the basic specs for compliant cards and techniques at this Website: This is the main site for the PC104 industry consortium, the "keeper of the keys" from a compatibility viewpoint. The architecture is much like the familiar PC-AT interface bus, but with relaxed drive for lower power consumption (only 6mA per line) and a different, stacking connector system to distribute data and power. A PCI (protocol control information) compliant version also exists as PC104-Plus.

In essence, anything done with a conventional personal computer (PC) can be done with PC104 cards, provided you find the right hardware or are willing make your own. Most PC104 suppliers are located at this site:, along with frequently asked questions and other data.

As you might expect, PC104 bus systems have significant electromagnetic and radio-frequency interference (EMI/RFI) issues to worry about in finished designs. And the distributed bus can have serious reflections and overshoot if made into a large stack, increasing higher frequency emissions. Assume you will need good case shielding integrity (don’t forget the display) and suppression on all external input/output (I/O) lines.

Another key issue with PC104 technology is the individual modules’ temperature range. We found very few vendors capable of supplying high-temperature (up to 85� C) parts. The common practice, even among those offering such hardware, is simply to take a regular board and temperature test it–a questionable technique, especially if the parts have ratings only to 70� C, and generate a 20�-to-30� C rise on their own. I can only pass along that this is a problematic area that should be very carefully investigated. Surcharges for extended-range parts are enormous, and you rarely, if ever, actually get anything different for the money. So be careful. You should consider that 70� C is likely to be the top ambient temperature possible with such a system.

Quality and support among board makers is (unfortunately) just like quality and support elsewhere in the PC industry: often lackluster. We encountered an astounding number of faults and misrepresentations in boards and firmware. We also ran headlong into the very short lifespan of all these systems, driven in part by the volatility of chip availability and the mindless race for more speed. Within only six months, we saw several new boards go out of production while we were designing with them–a sobering problem. While I think the use of commercial off-the-shelf (COTS) technology is laudable, keep in mind that those shelves get restocked pretty often with very different items while you are not looking. Our best results were obtained from Advantech, see, and an able technical support rep named Tom Lum. He went far beyond simple support to help us solve evil, basic I/O system (BIOS) problems and provide workable high-temperature hardware. In this design saga, he was the hero.

Should you be undeterred by these issues and attempt a design, you will immediately discover that software, and the storage of that software is critical to resolve before you can go forward.

The amount of space required to install any version of Windows is quite significant. If you expect your design to run reliably in real time, you may not want to accept the large footprint and the sometimes unexpected operation of a Windows derived operating system.

We did try it but found many formidable problems and cost issues, and had to quickly switch to a better operating system to continue our work. We did not consider WinCE, or whatever it’s called now, since its future and stability is uncertain. We tested both embedded Linux and the new release of QNX and found QNX worked well for us. It has amazingly small footprint and high powered graphical interface functions. Embedded Linux also worked well, but was significantly larger, which caused a storage problem. We could fit both the application and QNX software in less than 7Mb total, which made our target approach of solid-state storage feasible, inexpensive and very fast. If you are curious about QNX, visit this site: You can download the new QNX RTOS development suite for free.

A few bugs existed in massive new QNX development package, such as no format command for floppy disks and some solid-state memory types. But the QNX folks eventually solved our problems with replacement drivers, and they were able to create a working, robust application within a few weeks. A new release was just issued as I was writing this, so our problems may now be fully corrected.

If you must use a Windows-based operating system, be aware that solid-state storage is probably not physically or economically possible. Therefore, you must go to a mechanical disk-based system, which is not appealing or easily certified in an aircraft. However, if you don’t mind learning new software, you will find that the QNX environment is pretty compelling for this type of embedded application.

Predictably, we needed weird hardware interfaces that could not be accomplished with existing PC104 cards, so we added another PC104 layer with our own hardware using some PIC microcontrollers. We simply linked those to the host through existing ports. Very simple. The broad compatibility of the PC104 resources makes attaching many devices and data types easy, so it can solve quite a few thorny problems.

The final hurdle is strictly mechanical. The stacking design of PC104 cards is a bit of a problem for secure mounting, as well as for maintaining the electrical integrity between so many electrical contacts. Rigid spacers and long stacking screws or an external card cage is needed to prevent motion. Be aware that soldering the through pins in the stacking connectors is typically done with solder preforms in an oven and may result in a questionable pin every now and then. Physical inspection of every card under a microscope is strongly advised as part of incoming inspection.

The attachment of many memory sub-systems also is quite poor on some cards, and cannot be made vibration-resistant. You must conduct a detailed inspection of physical interconnects to find some that you find reliable. On the plus side, several vendors now offer stacking instrument enclosures for PC104 cards and even ATR racking and Dzus enclosures as stock products, to ease the transition to aircraft use. You may want to look at vendors like Parvus at and Real Time Devices USA at for solutions to your packaging problems.

We used low RF emission daylight readable field emission displays from Pixtech ( in our design and did run into awkward video interfacing problems due to the odd fractional VGA interface used by Pixtech. I will go into more detail on these displays types and other LCD displays in a future column.

Walter Shawlee 2 may be reached by e-mail at [email protected].

Receive the latest avionics news right to your inbox