This file type includes high resolution graphics and schematics when applicable.
Designing an electronic device from the ground up can be complicated, even for the experienced engineer. Incorporating a microprocessor and other complex components, whether single-board or modular, may introduce major pitfalls that are easy and important to avoid.
1. Easy console access
It may be extraneous to the operation of the completed design, but including a serial communication port can save significant debugging effort and delay during board bring-up; arguably, as important as the JTAG port. Without direct console access, debugging can quickly become challenging and time-consuming. USB-to-UART converters, such as FTDI’s FT232R, are popular, inexpensive, and compact solutions that bring console access to a board. Their ubiquity in tiny digital electronic devices is a testament to their usefulness.
2. Power requirements
Power lies at the heart of any design, but it’s especially important when working with tiny, portable devices. To keep costs down and minimize power consumption, choosing the right combination of components with compatible or complementary voltage levels is a must. Optimizing components in this way saves on space and component costs by eliminating many unnecessary voltage regulators and power supplies.
3. Use the enable bus to protect against premature communications
Many power-management ICs and processors, such as TI’s OMAP3 and OMAP4 platforms, use an enable signal to indicate the processor’s readiness for communications with peripherals. If a peripheral on an unprotected line tries to communicate before the processor is ready, unexpected behavior—or damage—can result. For this reason, it’s very important to protect all broken-out pins using the processor’s enable bus, which avoids damage from premature communications.
4. Isolate high-speed signal lines
High-speed signal lines, and any other lines likely to have sharp edges, occasionally suffer from significant signal reflections. These can be limited by adding small-valued resistors in series. Using ready-made solutions like computers-on-module (COMs), which already protect and isolate many signal lines, allow board designers to avoid bringing the address lines out themselves. This comes with the caveat that any attempt to multiplex address lines for GPIO has to be checked against internal uses on the COM.
5. Board-level issues
While seemingly minor, many little issues with printed-circuit board (PCB) itself can make a big difference when it comes to complex designs. Elements such as EMI shielding, plane layers, and connector cutoffs all need to be consciously accounted for when laying out a PCB. Even easy-to-forget attributes like motherboard-to-daughterboard connector clearances, as well as the availability of appropriate mounting hardware (e.g., retaining spaces) for the intended operating environment, all need to be considered when creating a board.
Conclusion
These are just a few of the many requirements to keep in mind when designing an expansion board. There’s also the option of utilizing an automated design tool, such as Gumstix’s Geppetto, which can take care of many of these concerns behind the scenes. Completing a high-level design, using a standard library of verified components, abstracts away the nitty-gritty of electrical engineering.
This file type includes high resolution graphics and schematics when applicable.
A design tool like Geppetto incorporates components that work well together, and automatically handles electrical concerns like high-speed line performance and GPIO pin protection. Short of forgetting to add a USB-UART module to a design, or buying the right cable, an automated, high-level design tool can make engineering pitfalls a thing of the past.