Skip to main content

General Purpose Inputs & Outputs (GPIO)

Both the Master & Expansion controller come equipped with 4 Inputs and 2 Outputs that can be used to create custom behaviours in the VOLO system.


There are 4 General Purpose Inputs, found along the top edge of the controller. The input pins are designed to be in one of two states:

  1. Low - connected to 0V
  2. High - floating (not connected)

When transitioning between these two states, the controller will generate an event along the lines of GPI0 1 Active or GPIO 1 Inactive.

These event descriptions can be customised at a Customer, Site or Controller level to allow you to provide a clear record of what happened and when.

For example - you could toggle an input on one of your controllers to record when the intruder alarm goes off - not only will this provide you with a timestamped event log of when this occurred, but you can also configure email alerts based on this specific alarm type to inform the relevant stakeholders.


Please note that Input 4 is required for the VOLO fire alarm integration feature. If you do not require the fire alarm integration, then this input can be used as normal.


The VOLO controllers also come equipped with 2 General Purpose Outputs. The output pins are designed to be in one of two states, much like the inputs:

  1. Low - pulled down to 0V
  2. High - floating

Triggers & Actions IO

The Triggers & Actions IO feature in Volo allows you to configure custom actions based on one of a set of pre-defined inputs or triggers occurring.


At this time, the triggers are limited to a change of state in one of the inputs (open to closed, closed to open, or toggle).


A trigger can result in up to 3 actions, which can be any of the following:

  • Unlock door 1
  • Unlock door 2
  • Unlock both doors
  • Set an output high
  • Set an output low
  • Toggle an output

Each action can optionally be delayed by a number of seconds after the trigger occurs.

For example, a trigger could occur (e.g. input 1 goes high) and you could have the first action to set output 1 high with no delay and the second action could be to set output low after 10 seconds. This could be used to create a temporary 'pulse' input into another system.