Bosch Rexroth IndraControl XM22 PLC Runs Ubuntu Core IoT, Supports Industrial Apps

Canonical wants you to run Ubuntu apps (snaps) for everything and on all types of devices, not only on your computer or smartphone. For example, base station apps (4G LTE, Bluetooth, LoRa…) will soon be able to run on LimeSDR board, the company is pushing for branded app stores, like the one for Orange Pi Boards, and now they have introduced the concept of App Logic Controllers (ALC) which are PLC devices running apps, thus bringing the concept of apps to the industrial world. Bosch Rexroth demonstrated the solution at Embedded World 2017 on their IndraControl XM22 PLC running Ubuntu Core.

Let’s have a look at the hardware first with IndraControl XM22 specifications:

  • Processor – Intel Atom E620 one core / two threads processor @ 600 / 1300 MHz (3.3W TDP)
  • Memory – 512 MB RAM
  • Storage – likely some flash + SD card slot
  • Networking Connectivity – Gigabit Ethernet (RJ45) port
  • USB – 1x USB host port, 1x USB device port
  • I/Os
    • Function extension – Connection of IndraControl XM extension modules XFE01-1-FB-xx via controller bus socket module XA-BS02
    • I/O extension – Connection of IndraControl S20 modules via controller bus socket module XA-BS01 or XA-BS02
  • Fieldbus
    • PROFINET RT Controller/device via extension modules
    • Master/Slave Sercos
    • EtherNet/IP Scanner/adapter via extension modules
    • PROFIBUS DP Master/Slave via extension modules
  • Power Supply – 24 V DC; Umin … Umax = 18 V … 31.2 V (including all tolerances, including ripple)
  • Certifications – CE/UL/CSA
  • Weight – 380 grams
  • Temperature Range – -25 °C … +60 °C
  • Relative humidity – 5% to 95%, EN 61131-2
  • IP Rating – IP20
  • Fatigue limits according to EN 60068-2-6 – 5 g
  • Shock resistance (single shock) according to EN 60068-2-27 – 30 g

Normally, you’d connection a few IO boxes to the PLC, and run the software. The video below shows IndraControl XM22 in action with Ubuntu.

It’s pretty with all the LEDs blinking, but I could not find the exact details about the setup. Nevertheless one of the goals of apps to to reduce the cost of hardware and software, as it should work on any device that runs Ubuntu Core with the right interfaces, including Kunbus Revolution Pi industrial computer based on Raspberry Pi.

One example of industrial app is Induscover snap app which identifies and enumerates devices through various industrial standards such as  BACnet, CoDeSys V2, EtherNet/IP, etc.. and compatible for hardware platforms such as Schneider Electric Modicon PLCs, Omron PLCs, PC Worx Protocol enabled PLCs, ProConOS enabled PLCs and Siemens SIMATIC S7 PLCs.

Snaps are supposed to be easy to install and use, and Induscover is no exception:

Those two commands will install induscover, discover attached devices, and publish discover/plc/out MQTT topic with the information. The github link to Induscover above also explain how to use Node-RED to manage and control the devices.

Click to Enlarge

You’ll find more about Rexroth IndraControl XM22 PLC / ALC on the product page.

Thanks to Jian for the tip.

Support CNX Software - Donate via PayPal or become a Patron on Patreon
Notify of
newest most voted
3 years ago


The processor is Atom E620 @1300 MHz. The PLC program, which blinks LED’s, runs on CoDeSys V3.

Here is some more information on the setup:,g315480&PageID=p923658

Disclaimer: I did the linux porting.



3 years ago

Seems they mention ATOM CPUs on the product page:
“High control performance via Intel ATOM process architecture with 600 MHz or 1,300 MHz”

Should run pretty smooth

Ah, Jian beat me to the punch 🙂

3 years ago

I must plead the Fifth 🙂 Thanks for write up this in no time.

3 years ago

“base station apps (LTE, 4G, LoRa…) can now run on LimeSDR board”

You can’t yet actually do any of that.

3 years ago

@Jean-Luc Aufranc (CNXSoft) They do have a few snaps, the same since October: which haven’t been updates since. None of those will do any of the features you said. Some of that functionality (LTE, LoRa development is way behind and seems to have stopped) is available through open source packages but via the usual methods (websites, github) There was some discussion about snaps on the LimeSDR forum – -just a few days ago and the opinions varied from (“I forgot about them” to “What’s the benefit anyway”) I think snap system is still too confusing for non-technical inclined… Read more »