With a large number of embedded devices in a remote lab infrastructure , USB regularly proves unreliable: Embedded devices cannot be reached or they show strange error patterns that are hard to reproduce, leading to developer frustration. To minimize developer frustration we have developed the LXA IOBus line of products, that are based on the very reliable CAN protocol. IOBus is inspired by the CANOpen standard and allows hot-plugging and automatic discovery of devices.

One of our focuses for the design of our software and hardware is the integration of labgrid. The LXA IOBus is directly usable as a tool for automated tests of embedded devices and helps to improve embedded software quality.

LXA IOBus Server

  • Python 3
  • Linux (Kernel 4.* or higher)

The LXA IOBus Server is an interface between the devices on the IOBus and the developer. It provides an intuitive Web-interface, as well as an easy to use REST based API.

Our Commitment to Quality

This device is manufactured in Germany. Each device is put into operation and tested by hand by Linux Automation.


  • automated toggeling of jumpers
  • simulate button presses
  • supply voltage monitoring
  • remote working infrastructure
  • testautomation

The LXA IOBus 4DO-3DI-3AI extends an IOBus network by four digital outputs, three digital inputs and three analog inputs.

The digital outputs are implemented using solid state relais and allow the galvanically isolated switching of very small loads. Exemplary use cases are the simulation of button presses or the setting/resetting of jumper connections to trigger a system reset or select boot modes.

The digital inputs are also implemented using solid state relais and can for example be used to provide binary feedback to your test automation system to determine if a test was successful.

The analog inputs are non-isolated and may for example be used to monitor supply voltages. This can for example be used to ensure that the system has returned to a known good state after the previous test run.

Minimal Setup

For a minimal IOBus setup you will need:

  • A Linux-based system to run the iobus-server.
  • A CAN adapter that lets said system talk the CAN protocol. We like the open-hardware candleLight USB-CAN adapter.
  • A 120Ω resistor to terminate the CAN-bus.
  • A 12V power supply.
  • 9-wire ribbon cable.
  • Male and female D-Sub 9 connectors to crimp onto the ribbon cable
  • A female D-Sub 9 connectors to solder the power supply leads and termination resistor to.
  • A bit of patience to follow the hardware preparation instructions described in our manual .