Home > Hardware, Processors > Overview and List of System-on-Module and Computer-on-Module Standards – Q7, SMARC, EDM, and More

Overview and List of System-on-Module and Computer-on-Module Standards – Q7, SMARC, EDM, and More

A System-on-Module (SoM), also known as a Computer-on-Module (CoM), is a small board with the key components of a computer such as SoC, memory, and possibly others components such as PMIC (Power Managment IC), and Ethernet PHY, as well as one or more connectors used to connected to a baseboard, also called carrier board, which features standard ports such as Ethernet (RJ45), USB ports, SATA, power jack and so on. The advantages of using of baseboard + SoM design compared to a single board are at least two fold:

  1. Most of the PCB design complexity is often around the CPU/SoC and high speed buses connected to the CPU/SoC. So you could buy a SoM, design your own baseboard and get a complete design relatively in a short amount of time, with reduced development resources and costs.
  2. The design is modular, so you could easily upgrade from one SoM to another one. For example, in order to provide a product with several option, you could use one baseboard with 3 SoMs featuring single, dual and quad core processors.
Qseven (Right) and SMARC (Left) Systems-on-Module - Roughly to scale

Qseven (Right) and SMARC (Left) Systems-on-Module – Roughly to scale

This all looks very nice, but many SoM solutions are proprietary often based on a 204-pin SO-DIMM connector, and in that case, albeit you may still have a wide range of different SoMs, you’d be stuck with the same vendor, unless you also change your baseboard design. To work around this problem, companies are started to launch SoM standards in order to be able to mix SoMs and baseboards from different vendors. The only problem is that in recent years, different companies have tried to launch their own standard, which in some cases appear to be only used by the company. Exception are SMARC and QSeven where I’ve seen ARM and x86 SoMs from several companies, and older x86 only standards such as COM Express and PC/104. AFAIK, All 4 standards are targeting industrial embedded applications, and not so much the consumer market.

So I’d like to list a non-exhaustive list of SoM / CoM standards, and possibly start a discussion as to why there needs to be so many standards, and companies do not come together behind a handful of standards instead. I’ll focus mostly on low power SoMs, but I’ll also mention “conventional” x86 only standards at the end of the list.

  • QSeven – The latest version of Qseven standard (2.00) was adopted by the Standardization Group for Embedded Technologies in September 2012.The standard is said to be low cost, low power consumption (12W max), Legacy Free (No support for PCI, ISA, RS-232 or EIDE), and providing acces to fast serial interfaces. The following interfaces are available: PCI Express, SATA, USB 2.0, 1000BaseT Ethernet, SDIO, LVDS, SDVO / HDMI / DisplayPort (shared), HDA (High Definition Audio), I²C Bus, LPC (Low Pin Count Bus), CAN Bus,Fan Control, Power Management Signals, Battery Management, and 5V Power. A unique API for I²C Bus, watchdog Timer and EPI (Embedded Panel Interface) is provided, and a Thermal Cooling Interface defined.
      • Connector – 230-pin MXM2 SMT edge connector
      • Dimensions
        • 70 mm x 70 mm
        • 70 mm x 40 mm (μQseven)
      • Architectures – ARM and x86
      • Specifications – Qseven-Spec_2.0.pdf

    I’ve already featured some SoMs based on the Qseven standard, but there are many more.

  • SMARC – Previously known as ULPCOM (Ultra Low Power COM), SMARC (Smart Mobility ARChitecture) is another SoM standard published by the Standardization Group for Embedded Technologies  (SGET). The more recent standard is also targeting low power ARM and x86 SoMs, but with a connector with more pins, and 2 board dimensions depending on requirements. It is somewhat similar to COM Express (see below) but reserved to low power applications.
      • Connector – 314-pin MXM 3.0
      • Dimensions
        • 82 mm × 50 mm for extremely compact low-power designs
        • 82 mm × 80 mm for SoCs with higher performance and with increased space and cooling requirement
      • Architectures – ARM and x86
      • Specifications – SMARC_Hardware_Specification_V1p0.pdf

    Here again, several companies have launched SMARC SoMs for x86 and ARM systems, but since it’s newer, maybe not quite as many as QSeven ones.

  • EDM – The EDM Standard is an open hardware and software standard for x86 and ARM Computer on Modules created by TechNexion. It defines three form factors for ARM and/or x86 SoMs.
      • Connector – 314-pin MXM 3.0
      • Dimensions
        • EDM Compact – 82 x 60 mm (ARM only)
        • EDM Standard – 82 x 95 mm (ARM and x86)
        • EDM Extended – 82 x 145 mm (x86 only)
      • Architectures – ARM and/or x86
      • Specifications – edm-specifications-090rc3.pdf

    Despite the standard being open, I could not find other companies apart from TechNexion making EDM modules, but I’ve been told at least another company may be working on one. One product featuring the standard is Wandboard development board. (Full disclosure: TechNexion is currently a sponsor of cnx-software.com).

  • Apalis – Toradex’s Apalis Module Architecture defines the interfaces (electrical characteristics, signal definitions and pin assignments), and the mechanical form factor, including key dimensions.

    Again all documentation is available online, but I believe Toradex is the only company providing Apalis SoMs. You can also check out my earlier Apalis article.

  • EOMA68 – This is a standard defined by Qimod/Rhombus Tech based on the PCMCIA, which gives EOMA68 compliant CoMs 68-pin to play with the following non-optional interfaces: 24-pin RGB/TTL, I2C, USB (Low Speed, Full Speed, optionally Hi Speed/480 Mbit/s and optionally USB3), 10/100 Ethernet (optionally 1,000 ethernet), SATA-II (optionally SATA-III), 8 GPIOs, SD/MMC, and TTL-compatible UART (Tx and Rx only).
      • Connector – 68-pin PCMCIA
      • Dimensions
        • Type II – 85.6mm x 54.0mm (TBC) x 5mm max
        • Type III – 85.6mm x 54.0mm (TBC) x 8mm max
      • Architectures – ARM and x86
      • Specifications – EOMA68 on Elinux.org

    At the time of writing, I only know of one product to feature an EOMA68 module: Improv, a development platform powered by AllWinner A20 dual core ARM Cortex A7 SoC.

  • Rabbit – This is a new standard designed by Radxa, and which made me decide to write this post, because I wondered why there should be so many standards, or why people run roll there own instead of using what’s there. It’s using a SO-DIMM connector, no products are available yet, but AllWinner A20, and AllWinner A80 SoMs are planned using the standard. You can see a picture of the SoM + baseboard on Google+.
  • COM Express – The next 4 standards are for x86 only, and may support high power pins (~100W). There are more x86 standards, but I believe these are the most commonly used. [Update: Some companies have made COM Express Modules with ARM SoCs].
  • PC/104 (Plus) – Another widely use SoM standard for x86
    • Connector – 104- to 156- pin depending on version
    • Dimensions – 96 x 90 mm
    • Architectures – x86
    • Specifications – http://www.pc104.org/pc104_plus_specs.php – Download free, but registration required.
  • ETX / XTX – Actually two standards but they are similar. XTX drops the ISA bus and adds PCI-Express, SATA, and LPC.
    • Connector – Four Hirose FX8-100P-SV connectos
    • Dimensions – 95 × 114 mm
    • Architectures – x86
    • Specifications – ETX and XTX
  • CoreExpress
    • Connector – 220-pin connector
    • Dimensions – 58 mm × 65 mm
    • Architectures – x86
    • Specifications – coreexpress_spec_v21.pdf

The list is not complete, and there are other standards, mainly, or only, used within the company that defined them, such as Phytec PhyFlex, and SolidRun μSOM found in Cubox-i and Hummingboard.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

  1. linuxium
    May 2nd, 2014 at 20:23 | #1

    Isn’t VITA arguably another standard rather than just an extention of COM Express? VITA 59 RCE (or Rugged COM Express) is based on PICMG’s COM Express and can be ARM based (http://www.men.de/products/15CC10C.html#t=overview) or Intel based (https://www.men.de/products/15CB70C.html#t=overview) for example.

  2. May 2nd, 2014 at 20:47 | #2

    @linuxium
    I never heard about it, but VITA 59 RCE (aka Rugged COM Express) looks like another standard. The boards linked seem to comply with both COM Express and VITA 59 RCE however: “VITA 59 in process, compliant with COM Express® Compact, type 6″. So both must be really similar.

  3. Ray Knight
    May 3rd, 2014 at 00:59 | #3

    Do any of these support MIPS architecture? At one point EOMA68 was considering an Ingenic processor.

  4. xxiao
    May 3rd, 2014 at 04:33 | #4

    The Overo/Gumstix, Beaglebone Capes, Arduino, Olimex modules are making their own de-facto standards to extend their system into various applications, while those are not industrial standards, they’re very popular and can be added in a non-standard list for practical reasons.

    Also a list for all open source hardware designs/projects(imx6, a20, etc such as wandboard, cubieboard, olimex etc) will be very helpful for quick reference.

  5. May 3rd, 2014 at 09:53 | #5

    @Ray Knight
    Actually I’m not quite sure why there are architecture limitations, because these standard just defined mechanical and electrical characteristics. The only reason to distinguish between x86 an ARM that I can think of is power requirement / dimensions. For example, you would not be able to put an Intel Core i7 processor on a microQSeven module for example. So mu guess is that anything that works for ARM, would probably work for MIPS as well. I haven’t gone into the specifications details, so there may be another reason that I missed.

    Somethign else… Someone, who works with SoMs, told me privately that Qseven may be be compatible between versions, For example v1.20 and v2.00 may not the compatible due to the addition of USB 3 for example, and it’s apparently done in a way that your Q7 v1.20 baseboard may not be compatible with a Q7 v2.00 SoM.

  6. Curmudgeon
    May 3rd, 2014 at 13:43 | #6

    The Raspberry Pi Foundation’s recently announced (7 April 2014) Compute Module and IO Board seem likely to find plenty of support for embedded industrial/bussiness applications. A 200-way DDR2 SODIMM connector is used.

  7. May 12th, 2014 at 22:22 | #7
  1. May 3rd, 2014 at 04:02 | #1
  2. May 6th, 2014 at 16:25 | #2