Skip to main content

Revolution Pi (Connect 5, Flat S)

This article refers to Platform v3.3.0. The current Platform version is v3.4.0.

Beta
This platform is newly supported and the integration is currently in Beta. You can follow this guide from start to finish, but you may come across minor issues. If you do, contact our support team and we will resolve them as soon as possible.

Overview​

This guide details the installation process for KUNBUS Revolution Pi devices. These are DIN-rail industrial controllers built around Raspberry Pi Compute Modules, with PiBridge connectors for KUNBUS I/O expansion modules.

Revolution Pi devices have no SD card slot: Barbara OS is written directly to the internal eMMC, which the device exposes as a USB mass-storage device through Raspberry Pi's rpiboot utility.

Supported models​

ModelCompute ModuleeMMC requiredI/O expansion
RevPi Connect 5CM5 (BCM2712)32 GBPiBridge, up to 10 modules
RevPi Flat SCM4S (BCM2711)32 GBnone

A single Barbara OS image serves both supported models. Each one carries a HAT EEPROM on the carrier board: at boot the firmware reads the model from it and composes the matching device tree automatically. You do not need a different image per model or per variant, and nothing is configured by hand.

32 GB eMMC is a hard requirement

The Barbara OS partition layout needs 16.3 GB of eMMC. Variants shipping 8 GB of eMMC cannot be used.

The original RevPi Flat (without the "S") is also not supported: it is based on the Compute Module 3+ and ships 8 GB of eMMC. Only the Flat S (CM4S, 32 GB) is.

What you need​

  • The Revolution Pi device and a 24 V DC power supply (10.8 … 28.8 V DC).
  • A USB cable to the device's flashing port:
    • USB-C for the RevPi Connect 5,
    • micro-USB for the RevPi Flat S.
  • A Linux host to run rpiboot and write the image.
  • The Barbara OS image for Revolution Pi, downloaded from the OS Images view in Barbara Panel (see OS Images view).
Barbara Supported Hardware

See the Supported Hardware section for the full list of compatible devices.

Connect the power supply (X4)​

Power reaches the device through the X4 screw terminal. The poles are silk-screened on the housing next to the connector — read the labels rather than counting pin positions, because the pinout differs between Revolution Pi generations.

On a RevPi Connect 5, X4 is labeled as follows:

PinLabelConnect
124V+24 V DC (positive)
20V0 V (return)
3NCleave unconnected
4NCleave unconnected

Follow this order:

  1. De-energize the power supply.
  2. Wire 24V and 0V according to the labels on your unit.
  3. Check the polarity before switching anything on.
  4. Switch on the power supply.
Electrical requirements

Keep every connection referred to the same system ground and never exceed 28.8 V DC. Per the manufacturer's UL note, the device may only be supplied from circuits complying with Class 2 or SELV (UL 61010-1). Never feed voltage into a pole marked NC.

The USB port is data only — it does not power the device — so X4 must be wired before flashing.

Prepare the host​

Barbara OS is written to the eMMC while the device runs Raspberry Pi's rpiboot mass-storage gadget. Build it once on your Linux host:

sudo apt install git libusb-1.0-0-dev pkg-config build-essential
git clone --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot && make

Put the device into flashing mode​

The order of these steps matters — rpiboot must already be waiting on the host when the device receives power.

  1. If the hardware watchdog is armed, disable it so it cannot fire mid-write.

  2. Shut the device down and disconnect it from the power supply.

  3. Connect the USB cable between the host and the device's flashing port (USB-C on Connect 5, micro-USB on Flat S).

  4. On the host, start the mass-storage gadget from the usbboot directory you built above:

    cd usbboot
    sudo ./rpiboot -d mass-storage-gadget

    The -d path is relative to the current directory. Run from anywhere else, rpiboot stops with No 'bootcode' files found.

  5. Reconnect the power supply. rpiboot detects the device, uploads the gadget, and the internal eMMC appears on the host as a removable block device.

The cable is the mode switch

There is no jumper and no button to press on a Revolution Pi. As long as the USB cable is connected, the device stays in bootloader mode and cannot boot normally — the carrier board asserts nRPIBOOT whenever that port is in use. Cable connected means flashing mode; cable removed means normal boot.

Identify the new device before writing anything:

lsblk

The eMMC appears as a ~32 GB disk (for example /dev/sdb). Confirm the size and make sure it is not one of your own disks.

Write the image​

The file you downloaded from Panel is a compressed disk image named revpi-<environment>-<version>-<build>.wic.bz2.

Write it with Etcher. The eMMC behaves like a removable disk here, so the procedure is the usual one: select the compressed image, choose the ~32 GB target disk, and flash. Etcher reads the compressed file directly, so you do not need to decompress it first, and it verifies the write when it finishes.

warning

Check which disk you selected before you start. Etcher lists every removable disk, and the eMMC appears alongside your own drives.

On Linux you can write it from the command line instead. Desktop environments often mount the eMMC's first partition as soon as it appears, so unmount everything on that disk first, then write the image (replace /dev/sdX with the disk you identified above):

sudo umount /dev/sdX?*
bunzip2 -c revpi-<environment>-<version>-<build>.wic.bz2 | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync

The write takes about five minutes. Most of the data reaches the eMMC during the final flush, so wait for dd to exit before you disconnect anything.

note

This procedure was validated with GNU dd (GNU coreutils). If your distribution ships a different dd implementation, install GNU coreutils and use its dd.

First boot​

  1. Wait for the write to complete and flush.
  2. Disconnect the USB cable. While it is connected the device will not boot.
  3. Power-cycle the device.

On the first boot Barbara OS prepares its storage and claims the rest of the eMMC, so this boot takes a little longer than the ones after it.

The node requests an address over DHCP on eth0 and connects to the platform on its own.

Retrieve the Barbara ID​

To register the node in Barbara Panel you need its Barbara ID, the unique hexadecimal string that identifies it. On a Revolution Pi it is revpi- followed by the Compute Module's serial number in hexadecimal (revpi-xxxxxxxxxxxxxxxx). A Revolution Pi is a headless DIN-rail controller with no monitor attached, so there are two practical ways to read it: over the network from the agent's API, or from a USB drive.

From the agent API​

Until the node is registered, the agent exposes a small HTTP API on TCP port 18100 that returns the Barbara ID as JSON. The node takes its address over DHCP, so look that address up in your DHCP server or router first:

curl -s http://<node-ip>:18100/device/barbaraId
# {"barbaraId":"revpi-xxxxxxxxxxxxxxxx"}

# just the value:
curl -s http://<node-ip>:18100/device/barbaraId | jq -r .barbaraId

GET /healthz reports whether the API is up ({"status":"ok","apiRunning":true,...}), and the agent serves GET /device/getConfig and GET /network/connectivityCheck on the same port.

Availability and access
  • This API is available only until the node is registered in Panel. Once you register it, the API shuts down and the port closes, so query it during onboarding.
  • It is unauthenticated. Query it from a trusted network and do not expose port 18100 beyond your operator workstation.

From a USB drive​

If you cannot reach the node over the network, the Barbara USB Assistant Tool writes the node's information onto a USB flash drive:

  1. Prepare a USB flash drive formatted as FAT32.
  2. Plug it into one of the node's USB-A ports. Keep the flashing cable disconnected, or the device stays in bootloader mode instead of booting.
  3. Wait a few seconds while the agent detects the drive and writes the data.
  4. Move the drive to your computer and open the barbara folder at its root.
  5. Open barbaraInfo.txt. The Barbara ID is on lines 4 and 5:
barbaraInfo.txt
Timestamp:
334673

Barbara ID:
revpi-xxxxxxxxxxxxxxxx

The same file also reports the Barbara OS version, the node's network interfaces with their addresses, and its connectivity status, which is useful if the node does not appear in Panel later.

Want to learn more?

The drive can carry commands as well as collect data. The full reference is in USB Assistant Tool.

Register and verify the node​

Register the node with the Barbara ID you just read, following Add a node to Panel. Once it is registered, the node reports itself as online in Barbara Panel and shows the version of Barbara OS it is running. That is the confirmation you need: it means the image booted, prepared its storage, and reached the platform.

If the node never comes online, see Troubleshooting.

I/O expansion modules​

The piControl driver and the extension-module firmware are installed and loaded automatically, so the base device's own process image is available as soon as the node boots.

Networking and radios​

FeatureConnect 5Flat S
Ethernet2 ports1 port + 3 switched ports (LAN1)
Wi-Fi✅✅

Wi-Fi is available on the variants that include the radio module.

The three LAN1 ports of the Flat S sit behind an internal switch and behave as an ordinary switch. They share one uplink to the system and are not exposed as separate network interfaces.

Troubleshooting​

The eMMC never appears on the host. rpiboot must be started before the device is powered. Repeat the sequence: power off, cable in, start rpiboot, then power on. Check you used -d mass-storage-gadget, run from the usbboot directory.

The device does not boot after flashing. Check that the USB cable is disconnected; while it is present the device stays in bootloader mode by design.

Wi-Fi does not come up. Confirm the variant actually includes the radio module. The Revolution Pi catalog offers otherwise identical article numbers with and without WLAN.

A serial port is missing. RS485 and CAN are variant-dependent options. Check your unit's article number against the manufacturer's variant table before assuming a port should exist.

Summary​

You wired the X4 terminal, put the device into rpiboot flashing mode, wrote Barbara OS to the internal eMMC, read the Barbara ID from a USB drive, and registered the node in Barbara Panel, where it now reports itself as online.

A single image covers both models, and the piControl driver exposes the industrial I/O to your containers, so the DIN-rail hardware you deploy in the field is managed from Barbara Panel alongside every other node.

The node is ready to run workloads. To deploy your first one, see Install your first application.