SENSORS ONLINE MAGAZINE: Embedded Bits, Bytes & Sensors


BY: Dan Naughton, Director of Field Engineering at Contec DTx

The Linux interface for data acquisition is the Control and Measurement Device Interface (comedi). It is a combination of device drivers for data acquisition hardware, and a developer interface to these drivers called comedilib. Comedi also provides calibration and configuration utilities.

The comedi interface offers a few advantages that are worth mentioning:

  1. No Vendor Lock In
  2. Uniform API to interface with multiple hardware providers
  3. Linux data analysis tools such as the R Project for Statistical Computing
  4. Higher level language bindings such as Python
  5. Wide variety of libraries and tools to cloud connect your data.

Vendor lock-in is something you find everywhere in technology, and data acquisition is no exception. And while many of these hardware / software packages are offer some nice tools and support, a quick spot check of a popular controller for a rack IO system lists for $7500 that is based on an Intel E3845 processor that lists for $52. Therefore, the cost disparity between a proprietary system and an open computing platform is very significant. The Linux comedi approach is very different, offering the ability to mix and match hardware based on features, pricing and availability, but it does require more knowledge and effort than a propriety closed system.

Probably the biggest benefit of using the Linux and Comedi approach to data acquisition is the wide range of data analysis, plotting, and communications tools available. For data analysis, you’d be hard pressed to find a better package than the R Project for Statistical Computing. You can interface directly to your comedi devices, or use any one of the language binding such as Python to interface between R and comedi.

Scaling Your Data Acquisition System

A benefit of a traditional PC style Linux comedi measurement system is the flexibility in scaling your system. In this context, scaling means not only the IO, but the CPU, memory and other traditional computer IO such as USB ports, Ethernet, Serial, and Video capabilities. In its simplest form, a test and measurement system might look like the following.

For a more modest system, many prefer the expansion chassis approach if they use some of the more traditional ISA, PCI, or PCIe cards. A single PCIe[x1] link to an expansion chassis can allow up 13 ISA, PCI, or PCIe cards in the chassis.

And for the larger system, expanding the PCI express bus out to individual IO racks that support up to 32 modules per rack, you can expand up to thousands of individual channels all connected back to the same Linux system over PCI Express.

An important thing to remember for these large systems is that processing limitations are virtually non-existent. With the correct chassis and motherboard selection, the IO channels can all be brought back into a dual-socket Xeon workstation with up to 2 TB of memory with on board or network-attached storage for data.

Comedi device drivers and support

In terms of comedi support, CONTEC is one such provider of data acquisition and control electronics since 1975. The company is committed to providing open-source Linux comedi drivers for its products. All drivers are GPL licensed and submitted to the Linux-next tree for inclusion in the next Linux kernel merge.

CONTEC also helps maintain precompiled binaries for many popular distributions for comedi and comedilib and they are included in the traditional package repositories. It does regression testing on each driver release and kernel update to insure API compatibility. And maintaining the packages along with the rest of the Linux distribution, allows users to focus on their application development, and eliminates the task of maintaining kernel modules and making sure they load and configure correctly.

Overview Of Comedi Devices

Comedi organizes devices following the hierarchy of:

  • Channel: the lowest level hardware component, for example, a single analog input or digital output.
  • Subdevice: a set of functionally identical channels, for example, a set of 16 identical analog inputs.
  • Device: A set of subdevices on the same physical device – the interface cards itself. Many interface cards or modules have multiple subdevices like a combination analog IO / Digital IO card.

Data Acquisition Signal Types

Comedi supports the following signal types:

  • Digital: Typically the simplest type, digital I/O typically does not require configuration, simply knowing the address of the channel, and the input or output direction is sufficient.
  • Analog: Slightly more complex, typically the channel can generate or read a voltage or current between and upper and lower limit. Cards may also allow the automatic sampling or a set of channel.
  • Pulse based signals: These signals tend to be slightly more complex as they require timing specifications.


The Linux Control and Measurement Device Interface provides a consistent, vendor neutral API for accessing data acquisition and control products. Maintained with the Linux kernel, it allows tremendous flexibility in hardware selection, and provides the ability to seamlessly integrate data acquisition with world-class analysis tools, security and cloud connectivity. With hardware vendor support from suppliers readily available, it’s worth considering this approach for future measurement systems.

About Contec Americas Inc.

Contec Americas is a global technology design, manufacturing, and integration company with an extensive portfolio of solutions ranging from tier 1 computers to fully custom computing platforms, displays, and All-in Ones (AIO). Contec provides additional value to its customers through product design & innovation, life cycle management, logistics and post-production support. Our products and services are sold around the world to customers in many segments including industrial automation, IoT/M2M, medical and diagnostics, transportation, military simulation, and gaming. Contec Americas is a proud member of the Contec Co., Ltd. Group companies, founded on innovations in industrial computing and PC based technology since 1975.