Computers-on-Module Bring the Power of Embedded Linux in an Incredibly Small Package
With the flexibility to be morphed into virtually any application, computers-on-module are a technology that every developer who works with embedded Linux should seriously consider.
Linux has, without a doubt, taken the world of embedded systems by storm. From satellites to smartphones, Linux can and has powered at least one of each, thanks to its flexibility, stability and performance. Even with its flexibility, however, the ability to run Linux depends on hardware requirements that can substantially increase the complexity of an embedded design (e.g., an ARM processor, which is naturally more complicated than a microcontroller). This is almost always a favorable trade-off as embedded solutions begin to rely increasingly on more sophisticated software combined with Internet connectivity.
Computers-on-module (COMs) solve the problem of keeping embedded designs small, flexible and relatively inexpensive, while allowing for a full implementation of Linux. COMs essentialize the most complicated features of electronic design—the processor, RAM, flash memory and wireless networking—onto a single circuit board with standardized connectors. These can then be used with expansion boards to break out the functionality of the computer into whatever a design requires, such as Ethernet, DVI output, USB connectivity and even GPIO pins. As long as the connector remains the same, COMs and expansion boards can be swapped with relative ease. This allows users to do things like use the same processor (on the COM) with a new revision of an expansion board, perhaps with an added feature; or conversely, to upgrade the processor (by using a different COM) that powers a highly specialized expansion board. This has the added advantage of allowing embedded Linux, deployed on the COM, to reuse the same software solutions with minimal code updates.
The capabilities for expansion, swapping and upgrading, coupled with the economy of scale achieved in purchasing the COM from a manufacturer (as compared to trying to implement the processor oneself) saves not only time and frustration for developers, but lowers development cost substantially as well. Users are able to create expansion boards for any applications, power it with a COM and drive it with Linux, opening up possibilities for everything from palm-sized web servers to supercomputers that fit in a suitcase all running a standard, familiar development environment. With some open-source hardware expansion boards, such as those made by Gumstix, Inc. for use with their COMs, developers not only have the advantage of open-source software in Linux, but also the advantage of open, modifiable electronic designs with an active community supporting them.
Finally, COMs have the advantage of being reliable, professional hardware designed for industrial and serious hobbyist applications. Just as the Linux kernel began as Linus Torvalds’ personal project in 1991 and grew to have the backing of industry giants like IBM, HP and Intel, COMs have grown from a hobbyist’s dream into a hardware platform used by organizations like the US Army, the International Space Station and research institutions around the globe. COMs are particularly well suited to robotics applications, where, for quite some time, Intel x86-based netbooks were the standard platform for hobbyists and researchers. COMs are not only smaller than netbooks, their power requirements are so low that they can use the same power source as the robot itself, and with Linux-based robotics solutions like ROS, COMs have a lot to offer roboticists.
There are many small form-factor computers that can run Linux, but none that come close to offering the performance, expandability and professional value delivered by the computer-on-module with expansion board model. COMs make things easier for hardware developers by reducing the investments in time and funding needed for an electronic design, as well as for software developers by providing access to a standard development environment and well-supported, rock-solid operating system in Linux. With the flexibility to be morphed into virtually any application (as evidenced by many hobbyist and commercial users creating so many successful and diverse projects), computers-on-module are a technology that every developer who works with embedded Linux should seriously consider.
Dr. W. Gordon Kruberg, president and CEO of Gumstix, founded the company in 2003. Prior to founding Gumstix, he was CEO of Deersoft, acquired by Network Associates in 2002. He holds an AB degree in human biology, an MS degree in industrial engineering from Stanford University, and an MD degree from Northwestern University.
Andrew Simpson is a content developer and writer at Gumstix. He holds a bachelor’s degree in English from the University of British Columbia.