Product Description #

The RevPi Connect 4 is a 24 V industrial PC for IIoT and automation projects based on the Raspberry Pi Compute Module 4. RevPi is a basic module from the Revolution Pi family. All devices in the Revolution Pi family are developed in accordance with EN 61131-2.

Components #

revpi-connect4-aufbau
Position Component Application

1

X2 connector RS485

Serial Devices (RS485), Connecting the UPS

2

6 × status LED

LEDs

3

2 × RJ45 Ethernet

Ethernet Interfaces, Establishing a Network Connection

4

2 × USB A 3.2 Gen 1

USB Interfaces

5

RP-SMA[1]

WLAN and BT

6

Micro USB

Saving and Reinstalling the Image

7

X2 connector

Relay Output, Digital Input

8

X4 connector

Connecting the Power Supply

9

2 × locking clip

Mounting the Device on a DIN Rail

10

Ventilation Slots

Mounting the Device on a DIN Rail

11

2 × PiBridge

Connecting Expansion Modules

12

Micro HDMI

Setting up Desktop Mode

Compatible RevPi Images
  • RevPi Bookworm Image

  • RevPi Bullseye Image

Variants #

Item No.: RAM eMMC WLAN

100376

2 GB

8 GB

No

100377

2 GB

8 GB

Yes

100378

4 GB

32 GB

No

100379

4 GB

32 GB

Yes

100395

8 GB

32 GB

No

100380

8 GB

32 GB

Yes

For available variants see Revolution Pi Shop.

Expansion Modules #

The RevPi Connect 4 base module can be expanded by up to 10 expansion modules to create a Revolution Pi system:

Left side base module Right side

5 × RevPi I/O module

RevPi Connect 4

5 × RevPi I/O module

Virtual Devices #

The Virtual Devices are included as components in PiCtory when delivered with the RevPi image:

Scope of Delivery #

The scope of delivery includes

  • RevPi Connect 4 (base module)

  • X4 connector

  • 2 × X2 connector

  • 2 × blind plug for PiBridge

  • Product insert

Mounting and Connecting #

The RevPi was developed for use in a control cabinet. Observe the specifications for Intended Use and all Safety Instructions.

Warning
Danger to life due to electrical shock

There is a risk of fatal electrical shock when working on devices in the switch cabinet with 230 V mains voltage.

▷ Operations in the switch cabinet may only be carried out by qualified electricians.

▷ Before carrying out any operations in the switch cabinet, switch off the power supply properly.

Carry out mounting and connecting in the following order:

  1. Mount the RevPi base module and all expansion modules on a DIN Rail.

  2. Connect all expansion modules via the PiBridge plug connector.

  3. Connect all other devices such as sensors and actuators. The interfaces available to you for this can be found in the section Components.

  4. Connect a monitor and a keyboard if you want to operate the RevPi in the desktop mode. This is not necessary if you have a network connection to access the RevPi.

  5. Finally, connect the power supply.

Connecting the UPS #

A UPS (uninterruptible power supply) ensures that devices continue to function during a fault. Depending on the type of UPS, a UPS can protect against the following faults:

  • Power failure

  • Overvoltage

  • Undervoltage

  • Frequency changes

  • Harmonics

The RevPi has a digital input, to which the status output of a UPS can be connected.

▷ Check whether your UPS is suitable for connection to the RevPi.

▷ Connect the status output of the UPS to the digital input on the X2 connector (pin IN and pin ⫠).

▷ Observe the installation specifications of the UPS manufacturer.

▷ Test the UPS.

In the process image, bit 6 of the RevPiStatus variable is 0 or 1, depending on whether 0 V or 24 V is applied to the input. Your application must read this bit cyclically. If the UPS reports a problem, your application must initiate a corresponding measure. What exactly should be done depends on:

  • the size of the battery used,

  • the current consumption of the RevPi,

  • the current consumption of all components that are additionally connected to the UPS.

Typically, the system is brought into a safe state and the RevPi is shut down.

Access to the Device #

The RevPi is accessed in two steps:

Install all available Updates as soon as the RevPi is connected to the Internet, so that the system is always up to date with security-relevant features.

Alternatively, access is possible without a network, see Desktop Mode.

See also:

Configuration #

The RevPi is configured in two steps:

Note

Up to the RevPi Bullseye Image (04/2024), the RevPi base module is configured via the RevPi Status application.

  1. The basic configuration of the RevPi device is carried out via the Cockpit application:

    • Network configuration, user administration, status and log views can be managed via a browser.

    • In addition to the standard server configuration, the Revolution Pi and Node-RED plugins are also available. These allow you to configure your RevPi base module and easily activate or deactivate the installed services.

  2. The module configuration of a Revolution Pi system, i.e. a RevPi base module with expansion modules, is carried out via the PiCtory application or, if necessary, directly in the development environment, e.g. via CODESYS.

Note

CODESYS and PiCtory cannot be used in parallel for configuration. An existing configuration via PiCtory will be overwritten by a configuration via CODESYS.

The virtual devices OPC UA Server and MQTT Client can only be used via PiCtory.

Parameterization #

The following parameters, inputs (INP) and outputs (OUT) can be configured:

RevPiStatus (INP) #

Uses bits to represent different states of the piControl driver.

Bit Function

0

piControl driver is running.

1

At least one connected I/O module has not been configured.

2

At least one I/O module has been configured but not connected. The bit is also set if a RevPi Gateway has been configured.

3

An I/O module occupies more or fewer bytes in the process image than specified in the configuration.
This means that the version of the configuration file or the device description files used does not match the firmware in the I/O module. See also: Update firmware.

4

A RevPi Gateway is connected to the left side of the RevPi.

5

A RevPi Gateway is connected to the right side of the RevPi.

6

The limit value of the first error counter RS485ErrorLimit1 has been reached.

RevPiIOCycle (INP) #

Displays the cycle time of the piBridge communication between the base module and expansion modules in milliseconds (ms) as an integer value.

RS485ErrorCnt (INP) #

Counts the errors in the communication with the RevPi I/O modules and outputs their number as an integer value.

Core_Temperature (INP) #

Displays the CPU temperature as an integer value in degrees Celsius (°C).

Core_Frequency (INP) #

Displays the CPU frequency in MHz / 10, e.g. 2400 MHz = value 240.

RS485ErrorLimit1 (OUT) and RS485ErrorLimit2 (OUT) #

RS485ErrorLimit1 and RS485ErrorLimit2 serve as threshold values for error handling in the communication between the RevPi device and the I/O modules.

At the end of each communication cycle, the error counter [RS485ErrorCnt] is compared with these two limit values:

  • RS485ErrorLimit1: When this value is reached, a message is generated in the log file kern.log. In future piControl versions, the default values defined in PiCtory will also be written to the process image.

  • RS485ErrorLimit2: If the error counter reaches this value, piBridge communication is terminated completely.

Note

The communication via the serial interface RS485 to the outside is not affected, only the internal piBridge data traffic.

The respective check is deactivated by setting the corresponding value to 0. If, for example, RS485ErrorLimit1 is set to 0, no warning messages are generated in kern.log.

The default values are:

  • RS485ErrorLimit1: 10

  • RS485ErrorLimit2: 1000

These values offer a good balance between fault tolerance and system stability for most applications.

RevPiLED (OUT) #

The freely programmable LEDs can be controlled via RevPiLED, see Configuring LEDs.

Bit Component Status information

2:0
5:3 8:6 11:9 15:12

LED A1
LED A2 LED A3 LED A4 LED A5

000 = off
001 = red 010 = green 100 = blue 011 = orange 110 = cyan 101 = magenta 111 = white

RevPiOutput (OUT) #

The relay contact is controlled via RevPiOutput, bit 0.

RS485 Serial Interface #

The RevPi has an RS485 interface on the upper X2 connector to connect serial devices such as sensors.

The socket has differential data line terminals P/N and reference terminals (internal GND and functional earth via 1 MOhm RC network).

revpi-connect-4-rs485-pinout

Under Linux, the interface can be addressed via the device driver node with /dev/ttyRS485 .

How you use this connection optimally depends on your project environment. The network you are working with or the EMC load are individual factors that influence how you assign this connector.

We therefore cannot show you the best solution for your individual project, but we have compiled a list of the problems that can occur and tips on how you can solve them.

RS485 is a fully differential line and does not normally require a third GND line. However, due to the limits of the input receivers (maximum common mode voltage), there may be problems with the signal quality if no potential reference is used between the transmitter and receiver. However, connecting the internal GND to a line that is subject to EMC can lead to EMC problems within the RevPi Connect.

We therefore recommend that you use a common functional earth between all RS485 network participants. This gives you a good, common reference potential for the differential bus signal.

If this does not work either, you can connect the FE terminal of the RS485 connector to the third (GND) line of the bus.

You can also try to solve signal problems with the GND terminal.

Activating Termination Resistor

✓ The integrated 120 Ω terminating resistor of the RS485 interface is switched off after a restart.

▷ Check out the Git repository of the command line tool rs485_config from GitLab with the command:

git clone git@gitlab.com:revolutionpi/rs485_config.git

▷ Build the tool with the command:

cd rs485_config; make

▷ Activate the resistor with the command:

./rs485_config <SERDEV> --set-bus-term

Replace <SERDEV> with the name of the interface, e.g. /dev/ttyRS485.

▷ Check whether the resistor has been activated and display the settings of the RS485 interface with the command:

./rs485_config <SERDEV>

❯❯ If the resistor is activated, Bus termination: Yes is output.

Ethernet Interfaces RJ45 #

The RevPi can be connected to a network via the RJ45 interface.

10/ 100 Ethernet connections are available on the RevPi, which are independent of each other. This allows the RevPi to be integrated into two different networks. The MAC addresses are printed on the front of the housing. Under Linux, the interfaces can be addressed with:

  • Socket A: eth0

  • Socket B: eth1

WLAN and BT #

Prerequisites
  • RevPi Connect 4 with WLAN interface, see variants

  • DHCP-capable WLAN router

  • Optional: external RP-SMA WLAN antenna

Under Linux, the WLAN interface can be addressed with wlan0 , provided no other WLAN devices are used.

Activating WLAN via Cockpit (since the RevPi Bookworm Image (10/2024))

See Cockpit.

Enabling PiCtory via RevPi Status (until the RevPi Bullseye Image(04/2024))

▷ Start RevPi Status.

▷ Activate In the CONFIG tab, the option Enable/Disable build-in WLAN .

Setting up WLAN Country Code via raspi-config (up to the RevPi Bullseye Image (04/2024))

  • Setting the correct country helps prevent connection issues and improves network reliability.

  • Different countries allow different WiFi channels and signal strengths.

▷ Log in to the RevPi via a terminal.

▷ Open raspi-config with the command:

sudo raspi-config

▷ Use the arrow buttons to navigate to the menu Localization Options.

▷ Select the option WLAN Country.

▷ Select the appropriate country from the country list and confirm with ENTER.

❯ The WLAN country code is active.

Setting up WLAN Connection via nmtui

The WLAN connection is set up via the NetworkManager nmtui. The NetworkManager is a terminal-based user interface for managing network connections under Linux.

▷ Start Cockpit and click on _Terminal_in the menu to open the integrated terminal. Or log in to the RevPi via a terminal.

▷ Start nmtui with the command

sudo nmtui

❯ The nmtui user interface opens.

Use the arrow and ENTER buttons to navigate within nmtui.

▷ Select Edit a connection.

▷ Select the appropriate Wi-Fi network (Wi-Fi).

▷ Enter the WLAN password at Password and configure other WLAN settings if necessary.

▷ Save the settings with OK and return to the home screen with Back.

▷ Select Activate a connection.

▷ Select the WLAN network (Wi-Fi) and activate the connection with the ENTER button.

❯ The status message Connecting …​ appears.

❯ The WLAN connection is established.

▷ If necessary, click on Networking in the Cockpit menu to check the connection.

Activating BT Interface

A BT interface of standard 5.0 is also available via the same SMA socket as for the WLAN interface.

From the RevPi Bookworm Image (10/2024): See Cockpit.

Until the RevPi Bullseye Image (04/2024):

▷ Log in to the RevPi via a terminal.

▷ Activate the HCI interface with the command:

sudo systemctl enable hciuart

▷ Start the hciuart service with the command:

sudo systemctl start hciuart

▷ Start the BT daemon with:

sudo systemctl start bluetooth

See also:

USB Interfaces #

The RevPi has two USB-A interfaces. The maximum output current of both USB interfaces together (not per interface) is 1 A and is only guaranteed if the RevPi is supplied with 24 V DC -15 % / 20 %.

If only one connection is used, up to 1 A is available. If both connections are used at the same time, the current is divided accordingly.

In case of overload, the power is cut off.

Trusted Platform Module (TPM) #

The RevPi is equipped with an Infineon OPTIGA™ TPM SLB 9670 Trusted Platform Module. It fulfills the requirements of TPM 2.0.

Under Linux you can address the module with /dev/tpm0.

Watchdog #

A watchdog is a timer that restarts the RevPi after 60 seconds. To prevent this from happening, the watchdog must be reset regularly as long as the system is running without errors. In the event of an error, such as a crash of the application process, there is no reset and the watchdog triggers a restart of the RevPi.

The RevPi has two independent watchdogs. There are various ways to use a watchdog under Linux. The RevPi Images and Raspbian Pi use the system manager systemd.

Integrated Watchdog

The watchdog integrated on the processor behaves like other watchdogs under Linux and can be addressed with:

  • /dev/watchdog0

  • /dev/watchdog (as standard watchdog)

External Watchdog

A second watchdog is available via the RTC module and can be addressed under Linux with:

  • /dev/watchdog1

See also:

Relay Output #

The RevPi has a relay output on the lower X2 connector.

This relay output can be used, for example, to interrupt the power supply to connected hardware.

  • The relay can switch a maximum of 30 V and 300 mA.

  • The relay contact is open after the start.

▷ Make sure that all devices are disconnected from their respective power supplies.

▷ Connect the load to be switched to the OUT pins on the X2 connector.

▷ Connect the power supply.

The relay output is controlled in the process image via the status byte RevPiOutput, bit 0.

Digital Input #

The RevPi has a digital input for a +24 V input signal on the lower X2 connector.

The input has an internal pull-down resistor.

The digital input can be used to connect a UPS.

▷ Make sure that all devices are disconnected from their respective power supplies.

▷ Connect the signal transmitter to the IN+ and IN- pins of the X2 connector.

▷ Connect the power supply.


1. only for the variants with WLAN