Free Trials

Download a free trial to find out which Altium software best suits your needs

How to Buy

Contact your local sales office to get started on improving your design environment

Downloads

Download the latest in PCB design and EDA software

  • PCB DESIGN SOFTWARE
  • Altium Designer

    Complete Environment for Schematic + Layout

  • CircuitStudio

    Entry Level, Professional PCB Design Tool

  • CircuitMaker

    Community Based PCB Design Tool

  • NEXUS

    Agile PCB Design For Teams

  • CLOUD PLATFORM
  • Altium 365

    Connecting PCB Design to the Manufacturing Floor

  • COMPONENT MANAGEMENT
  • Altium Concord Pro

    Complete Solution for Library Management

  • Octopart

    Extensive, Easy-to-Use Component Database

  • PRODUCT EXTENSIONS
  • PDN Analyzer

    Natural and Effortless Power Distribution Network Analysis

  • See All Extensions
  • EMBEDDED
  • TASKING

    World-Renowned Technology for Embedded Systems Development

  • TRAININGS
  • Live Courses

    Learn best practices with instructional training available worldwide

  • On-Demand Courses

    Gain comprehensive knowledge without leaving your home or office

  • ONLINE VIEWER
  • A365 Viewer

    View & Share electronic designs in your browser

  • Altium Designer 20

    The most powerful, modern and easy-to-use PCB design tool for professional use

    ALTIUMLIVE

    Annual PCB Design Summit

    • Forum

      Where Altium users and enthusiasts can interact with each other

    • Blog

      Our blog about things that interest us and hopefully you too

    • Ideas

      Submit ideas and vote for new features you want in Altium tools

    • Bug Crunch

      Help make the software better by submitting bugs and voting on what's important

    • Wall

      A stream of events on AltiumLive you follow by participating in or subscribing to

    • Beta Program

      Information about participating in our Beta program and getting early access to Altium tools

    All Resources

    Explore the latest content from blog posts to social media and technical white papers gathered together for your convenience

    Downloads

    Take a look at what download options are available to best suit your needs

    How to Buy

    Contact your local sales office to get started improving your design environment

    • Documentation

      The documentation area is where you can find extensive, versioned information about our software online, for free.

    • Training & Events

      View the schedule and register for training events all around the world and online

    • Design Content

      Browse our vast library of free design content including components, templates and reference designs

    • Webinars

      Attend a live webinar online or get instant access to our on demand series of webinars

    • Support

      Get your questions answered with our variety of direct support and self-service options

    • Technical Papers

      Stay up to date with the latest technology and industry trends with our complete collection of technical white papers.

    • Video Library

      Quick and to-the-point video tutorials to get you started with Altium Designer

    The Modular Single Board Computer Design Process

    Zachariah Peterson
    |  October 30, 2019

    PCB COM and electronics schematic

    Modular design is a design process that has been gaining momentum over the last decade, especially in the world of embedded computing. A good example is in single board computers, sensor boards for data streaming, and some evaluation boards. This design approach breaks down a generic system into several independent parts (modules) that can be linked together to increase the functionality of a device. They are independent in the sense that a module doesn’t depend on another module to function and will only depend on the base platform.

    Modules usually are linked together and to the base system according to some industry standards and with predefined electrical connections on a PCB. Modular designs in the hardware domain allow embedded boards to be customized, upgraded, and adapted to different applications. When you use the right design tools, your modular single board computer system will be easy to debug during the design phase, which reduces or eliminates prototyping runs that are normally required in PCB design.

    What is a Modular Single Board Computer?

    Simply put, a modular single board computer is built by connecting different modules together using standard physical and electrical connections. Two famous examples of modular single board computers are Arduino and Raspberry Pi. Arduino is a well-known electronics development platform that mostly targets makers and is popular for building proofs of concept.

    The modular part of the Arduino ecosystem consists of shield boards, which are modules that can be plugged into a base Arduino board to expand its range of functionality. For example, if you need an Internet connection for your project, you can build a WiFi or cellular shield. If you need data acquisition and recording capabilities, you can add a data logging shield. You can keep stacking shields until you run out resources for the baseboard.

    Just like Arduino, Raspberry Pi single-board computers and modules also have modularity embedded in their core. Raspberry Pi has what we called HATs (Hardware Attached on Top), which are physical hardware modules that can be attached to GPIO pins to increase its functionality, much like adding a sensor module or a motor controller.

    Shield board with GPS receiver on a Raspberry Pi modular single board computer

    GPS shield board for a Raspberry Pi single board computer

    Two unique benefits of going the modular single board computer design route are cost savings and shorter time to market. Your up-front development costs are reduced as much of the hardware development is already done for you. Your job is to focus on the software portion and connect your hardware modules together into a single ecosystem. This lets you focus on functionality and user experience, rather than getting mired in PCB design. The fact that modules are already built and are functional helps decrease your time to market. You can initially release a functional product and focus on improving its hardware-level functionality at a later time.

    Modular single board computer designs depend on standard interfaces between different components and modules. For example, Raspberry Pi HATs are designed to leverage GPIO connections using communication interfaces like UART, SPI, I2C, and even direct digital ports. Because the electrical connections between boards are highly standardized, hardware designers can focus on functionality and form factor and worry less about electrical design.

    Modular Single Board Computer Design Layers

    Getting started with modular single board computer design for a custom product requires defining your build specifications. You’ll need to consider features that are required now and what features may be needed in the future. All these parts can be combined and broken into two main portions:

    • Application-specific layer. Hardware modules in this layer should be chosen for a specific set of functions. Your software will need to be application-specific in order to interface with the desired modules in this layer.
    • Application-agnostic. This essentially constitutes everything on a modular single-board computer that is not application-specific. This includes processing speed, memory and storage capacity, I/Os, power units, connectivity options, and the operating system. This layer is the truly modular foundation for your system as it will provide connections for the modules in the application-specific layer.

    Traditionally, engineers embark on building everything from scratch, which unfortunately is not usually the best route. By using a COM or system-on-module (SoM) for the application-agnostic portion of your system, you’ve eliminated a significant portion of the traditional hardware design process. You can then take advantage of the standard electrical connections between your COM and modules to add application-specific hardware to your embedded system. This is a better approach to designing a modular single board computer from a system-on-chip (SoC) as this brings your system closer to application-specific and can limit your functionality.

    Raspberry Pi compute modular single board computer

    Raspberry Pi Compute module in a modular single board computer

    Modular Single Board Computer Design Tools in Geppetto

    A modular single board computer is easier to redesign for different use cases as you are effectively taking advantage of clearly defined electrical connections between your application-agnostic COM and supporting components. With this modular approach, embedded system developers can focus on building a compelling, functional application-specific layer on top of their application-agnostic layer.

    Modular design is only possible with the right design tools and predefined modules. Geppetto from Gumstix contains a huge library of standard modules and COMs with predefined electrical connections in a rules-driven design interface. The modular design tools in Geppetto are accessible from your browser and include features like rule violation flagging, automatic backup, and a design checklist that helps you build a fully-functional modular single board computer.

    In the ever-evolving embedded industry, new tools and resources are being released to help engineers and developers keep innovating. The modular design tools in Geppetto are unique in that they allow designers with any level of experience to create customized, modular single board computers from a number of standard COMs. All these tools are available in a browser-based design interface that allows you to create fully functional modular hardware systems and quickly plan for production.

    Take a look at some Gumstix customer success stories or contact us today to learn more about our products, design tools, and services.

    About Author

    About Author

    Zachariah Peterson has an extensive technical background in academia and industry. Prior to working in the PCB industry, he taught at Portland State University. He conducted his Physics M.S. research on chemisorptive gas sensors and his Applied Physics Ph.D. research on random laser theory and stability.His background in scientific research spans topics in nanoparticle lasers, electronic and optoelectronic semiconductor devices, environmental systems, and financial analytics. His work has been published in several peer-reviewed journals and conference proceedings, and he has written hundreds of technical blogs on PCB design for a number of companies.

    most recent articles

    Back to Home