Product Description #

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

Components #

Note

RevPi Connect S and RevPi Connect SE have the same structure.

revpi-connect-s-aufbau
Position Component Application

1

X2 connector

Relay output, Digital input

2

6 × status LED

RevPiLEDs

3

2 × RJ45 Ethernet

RJ45 Ethernet Interfaces, Establishing a Network Connection

4

Micro-USB

Saving and Reinstalling the Image

5

2× USB A

USB Interfaces

6

RS485 socket

RS485 Serial Interface

7

X4 connector

Connecting the Power Supply, Watchdog

8

2 × locking clip

Mounting the Device on a DIN Rail

9

Ventilation Slots

Mounting the Device on a DIN Rail

10

PiBridge

Connecting Expansion Modules

11

ConBridge

Connecting Expansion Modules

12

Micro HDMI

Setting up Desktop Mode

Compatible RevPi Image
  • RevPi Bookworm Image

  • RevPi Bullseye Image

  • RevPi Buster Image

See: RevPi Images.

Variants #

RevPi Connect S #

Item No. RAM eMMC Compatible with RevPi Gateways

100362

1 GB

8 GB

Yes

100363

1 GB

16 GB

Yes

100364

1 GB

32 GB

Yes

RevPi Connect SE #

Item No.: RAM eMMC Compatible with RevPi Gateways

100368

1 GB

8 GB

No

100369

1 GB

16 GB

No

100370

1 GB

32 GB

No

For available variants see Revolution Pi Shop.

Expansion Modules #

The RevPi Connect S or RevPi Connect SE base module can be expanded by up to 6 expansion modules to form a Revolution Pi system:

Left side base module Right side

5 × RevPi I/O module,
of which 1 × RevPi Gateway

RevPi Connect S

1× RevPi Con CAN,
1× RevPi Con M-Bus

5 × RevPi I/O module

RevPi Connect SE

1× RevPi Con CAN,
1× RevPi Con M-Bus

Compatible RevPi Gateways #

RevPi gateways can only be connected to the far left of the system via a PiBridge plug connector. The RevPi gateways are not supported by the SE models of the Revolution Pi product family.

  • RevPi Gate PROFINET

  • RevPi Gate EtherNet/IP

  • RevPi Gate EtherCAT

  • RevPi Gate PROFIBUS

RevPi Virtual Devices #

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

Scope of Delivery #

The scope of delivery includes

  • RevPi Connect S / RevPi Connect SE (base module)

  • X4 connector with pre-wired Watchdog wire bridge

  • X2 connector

  • 2 × blind plug for PiBridge/ConBridge

  • Supplement

Mounting and Connecting #

The RevPi was developed for use in a control cabinet. Observe the specifications for the 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 the mounting and connection in the following order:

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

  2. Connect all expansion modules via PiBridge plug connectors.

  3. If necessary, connect the RevPi Con modules via ConBridge plug connectors.

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

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

  6. Finally, close the power supply.

Note

The RevPi Gateways are not supported by the RevPi SE models.

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 0V or 24V 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 Setting up Desktop Mode.

See also:

Configuration #

The RevPi is configured in two steps:

Note

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

  1. From the RevPi Bookworm Image (10/2024), the basic configuration of the RevPi devices is carried out via the Cockpit web 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

1:0
3:2
5:4

LED A1
LED A2
LED A3

0000 0000 = off
0000 0001 = green
0000 0010 = red
0000 0011 = orange
0000 0100 = green
0000 1000 = red
0000 1100 = orange
0001 0000 = green
0010 0000 = red
0011 0000 = orange

RS485 Serial Interface #

revpi-connect-rs485-pinout

The RevPi has an RS485 interface on the 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).

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.

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

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

git clone https://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.

RJ45 Ethernet Interfaces #

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

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.

Relay Output #

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 6.

Digital Input #

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.

Watchdog #

The RevPi is equipped with a hardware 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.

Activating Watchdog #

The RevPi is supplied with an X4 connector, which is already pre-wired. The wire bridge between pin 2 and pin 3 deactivates the watchdog.

The watchdog is active without this wire bridge and the watchdog timer must be restarted cyclically by your application software so that your system is not restarted. Until you have such software, it therefore makes sense to deactivate the watchdog. Otherwise it might disturb you during your development work.

▷ Remove the wire bridge between pin 2 and pin 3 to activate the watchdog.

Monitoring the Connected Device #

The relay output allows devices connected to the X2 connection to be monitored by the watchdog.

You can switch the relay output in the process image (RevPiLED, bit 6) bit by bit. You can also use this to set the relay to switch when the watchdog has reported an error, for example.

You can find an example script on the RevPi.

The file watchdog.sh can be found in the directory /etc/rc.local.

You can run the script by typing the following command in the command line:

/home/pi/connect/revpi-connect-watchdog.sh/>dev/null_&

This script is only an example and is not suitable for controlling watchdogs or relays. However, you can use it as a template to create your own command in an application program (e.g. logiRTS).

This is how you use the watchdog to restart the relay:

▷ Patch the FTDI EEPROM:

devnum=$(cat /sys/bus/usb/devices/1-1.5.2/devnum)sudo /home/pi/connect/patch_eeprom d:1/$devnum 0x14=0xaa 0x15=0x00

You no longer need to carry out this step if you have already used the watchdog to control the relay.

▷ Restart RevPi Connect:

sudo reboot

▷ Enter one of the following commands to switch the relay on or off when the watchdog responds:

Switch on:

sudo /home/pi/connect/enable_relay_watchdog.py

Switch off:

sudo /home/pi/connect/disable_relay_watchdog.py

You must call up the desired command again after each reboot.

If you have entered this command, it is possible that the interface /dev/ttyRS485 disappears for a short time.