Revolution Pi digital I/O Module

To transform Revolution Pi into an industrial control unit, various digital I/O modules can be connected to the base module RevPi Core. The I/O modules come
in three versions. All have the same 28-pin I/O connector at the front (connector with two rows of 14 pins each – two suitable 14-pin socket connectors with spring clamp contacts for the connection of up to 1.5 mm² stranded hookup wires are supplied). Apart from the standard version with 14 digital inputs and 14 digital outputs, there are also two special versions that exclusively
have either 16 digital inputs or 16 digital outputs.

Available digital I/O Modules

RevPi DIO picture


Standard version RevPi DIO has 14 digital inputs and 14 digital outputs

RevPi DI picture

RevPi DI

Special version RevPi DI has 16 digital inputs but no outputs

RevPi DO picture

RevPi DO

Special version RevPi DI has 16 digital outputs but no inputs

All versions have galvanic separation between PiBridge logic circuit and inputs resp. outputs (600 VRMS isolation voltage). The RevPi DIO version has additionally galvanic separation between inputs and outputs. All versions are protected against interference according to EN61131-2 requirements and may be operated between -40°C to 55°C ambient temperature with up to 80% rel. humidity.*

Overall cycle time is around 5 ms for a system having 1 DIO and 2 RevPi Gate modules or 10 ms for a system having 3 DIO and 2 RevPi Gate modules.

* Temperature range depends on total output current.

IO-plug for IO-Module


The DC inputs have a voltage threshold which for 24 V supply voltage is compliant to EN61131-2 Type 1 and Type 3 input definitions. Input current is clamped at a maximum of 2.4 mA. This norm is not defined for 12 V inputs therefore we cannot test for any compliance. But thresholds are reasonably reduced with supply voltage. If voltage supply drops under 9 V, an alarm is sent to RevPi Core. This can be used as indication of unreliable input values which are no longer compliant to norm for a 24 V digital input.

There is an adjustable low-pass filtering to prevent input signal bouncing. This filter can only be applied to all inputs or none. The filter only propagates input values which are stable for at least 25 µs, 750µs or 3 ms (value is part of configuration). All inputs are protected against ESD, bursts and surges according to demands of EN61131-2.


Each output can be configured separately as high side switch with max. 500 mA current load or push-pull output with a maximum load of 100 mA. Independently from their output mode each single channel is protected against over current and is short circuit safe. A hardware watchdog circuit is monitoring the SPI data exchange between MPU and output circuit. If there is no SPI traffic, outputs are forced to 0 (safe state). Outputs are also forced to their safe state if output power supply drops low or the output circuit reached an over-temperature condition. Such error conditions as well as short circuit state of each channel is cyclically transmitted to RevPi Core.

Each output can additionally be configured to detect open load conditions when in high side switch mode and send an alarm to RevPi Core. Just like the inputs all outputs are protected against ESD, bursts and surges according to demands of EN61131-2.

Power supply

As a result of galvanic separation of the PiBridge logic circuit it needs its own power supply connector which is also providing a mandatory functional earth connection (4 pin connector with screw terminals). This power supply section works with 10.2 V up to 28.8 V input voltage and draws a maximum of 50 mA current (at 24 V – 100 mA at 12 V) used for an STM32F205 MPU. This MPU is controlling the data exchange over the PiBridge and exchanges data with input and output lines using galvanic separated SPI lines. This power supply circuit does bypass a loss of power at its input of up to 77 ms (at 24 V; reduced to 8 ms at 12 V).

For a perfect galvanic separation the input and output circuits should get their own supply voltages using an additional 4 pin connector with screw terminals. These input and output power supplies should reference to the according GND level of sensors (contacts, switches, etc.) and actuators (relays etc.). Their voltage has to be between 10.2 V and 28.8 V. Inputs only have norm compliant thresholds for 24 V supply voltage. Current consumption for input supply is about 10 mA maximum. For the outputs the power consumption depends heavily on connected loads which can be up to 500 mA per channel (which adds up to a maximum of 8 A current consumption for the DO version).

All power supply inputs are protected against reverse polarity, over voltages and transient voltage or current interference according to requirements of EN61131-2.


Switching status of inputs and outputs are cyclically exchanged via PiBridge with the RevPi Core’s central processing image using the PiControl driver. Additionally to switching status the possible error conditions (diagnostic data) and configuration data is also cyclically transmitted.

During startup a module detection identifies all modules and their physical position left or right of RevPi Core. After this detection phase the modules get their non-cyclic configuration data. Then the system changes into process data transfer phase in which the RS485 channel of PiBridge and a time optimized protocol is used for data exchange.

The I/O module RevPi DIO is also equipped with PWM (puls width modulation) and counter inputs. PWM functionality can be activated separately for each of the 14 outputs. That means, that instead of transferring just 1 bit per channel, a complete byte value containing the puls-width from 0 to 100 (percentage value) is transferred. Although our output driver ICs are able to handle high frequency PWM, RevPi DIO is limited to low frequencies because PWM is realized by using software switching. One of the following PWM-frequencies can be chosen by configuration (find corresponding resolution of smallest percentage steps in brackets): 40 Hz (1%), 80 Hz (2%), 160 Hz (4%), 200 Hz(5%) und 400 Hz (10%)

Counter functionality can be activated for each of the 14 input channels. This results in a 32 bit count value per counter which is accessible in the central process image.