16 Universal Inputs
8-Layer Stackable HAT
for Raspberry Pi

Regular price $45.00


  • Sixteen universal opto-isolated inputs 3V-24V AC/DC
  • Eight layer stackable to 128 inputs
  • Pluggable Connectors 26-16 AWG wires
  • RS485/MODBUS port
  • 8 LEDs showing status of groups of 8 inputs
  • General purpose push-button
  • Command Line Driver
  • Python Library
  • Node-Red nodes


Sixteen Universal Inputs for Raspberry Pi

Raspberry Pi can read 26 Input signals through the GPIO header, but sometimes you might need to read more. Since all GPIO pins are wired directly to the local processor, some hardware is required to connect them to the real world.

The card has 16 optically isolated digital inputs. Input ranges can be jumper-selected for each channel, from 3 volts to 24 volts. Inputs can read both DC and AC signals. The card communicates with Raspberry Pi using only the I2C port, leaving all the other 24 GPIO pins available for your use. It has also an RS-485 port, a power LED and a push button that can be used to shut down the Raspberry Pi.

Pluggable connectors make the 16-INPUTS card easy to use when multiple cards are stacked up.  


The card is compatible with all Raspberry Pi versions from Zero to 4. All stacked cards share the I2C bus using only two of the Raspberry Pi’s GPIO pins to manage all eight cards.  This feature leaves the remaining 24 GPIOs available for the user.


The card needs 5V to operate and can be powered from Raspberry Pi or from it's own 2 pin pluggable connector. The card draws 10mA.  If power is applied to the 2 pin pluggable connector, no other power supply is needed for the Raspberry Pi.


Up to eight cards can be stacked on your Raspberry Pi. Each card is identified by jumpers you install to indicate the level in the stack. Cards can be installed in any order. A three position jumper selects the stack level.

Stack Level Jumpers

For your convenience, two jumpers are provided with each card. 


The board is protected to accidental reverse power supply with a 5.8A, 39 mOhm MOSFET which breaks the ground line if reverse power is applied. 


Shutting down the Raspberry Pi by turning off the power can result in SD Card failure. To prevent this, a shutdown command needs to be used before power cut-off. But this requires a monitor, keyboard and mouse connected to the Pi. 

A momentary on push button installed at the edge of the board provides a convenient way to shut down the Raspberry Pi. The button is routed to pin 37 (GPIO 26). You need to write a script which monitors this pin, and if pressed for more than a desired time, issues the shut-down command.


The card has an RS485 transceiver which enables the Raspberry Pi to connect to other industrial sensors or actuators. In order to use the RS485 port, a jumper needs to be installed on the RXD line going to Raspberry Pi. The jumper is marked RS485 in the layout below. If the jumper is not installed, the RXD line from Raspberry Pi can be used as GPIO.


16-INPUTS Card Layout


  • Power Supply: 5V/8A pluggable connector with reverse polarity protection
  • On board resettable fuse: 3A
  • Opto-isolated Digital Inputs:
    • Input Forward Current: Typical 5 mA, maximum 50 mA
    • Low Voltage Input Series Resistor: 1.2K
    • High Voltage Input Series Resistor: 10K
    • Isolation Resistance: Minimum 1012 Ω


16-INPUTS Mechanical Specifications


Open Source Hardware Schematic

2D CAD drawing



You can write your own application using the Command Line or Python Library provided. No programming is required if you use the Node-Red nodes we supply. You can drag-and-drop the functional blocks to design your application. Examples are provided at GitHub.

RS485 port

A standard RS485 transceiver permits the Raspberry Pi to communicate using any protocol including MODBUS, PROFIBUS, camera PTZ control, etc. The transceiver is connected to the serial port of the Raspberry Pi from the GPIO connector, pins 8 (GPIO14, TxD0) and 10 (GPIO15, RxD0). The Rx line is routed through a 2 pin jumper. The jumper needs to be installed in order to use the RS485 port. If the jumper is not installed, both pins can be used as GPIO's



The card can be installed parallel on a DIN-Rail using the DIN-Rail Kit Type 1, or perpendicular using the DIN-Rail Kit Type 2. Shown here is a perpendicular installation which can be expanded to 8 cards.


When you purchase the 16 Universal Inputs Card you will receive the following items:

1. 16-INPUTS add-on card for Raspberry Pi

    16-Inputs for Raspberry Pi

    2. Mounting hardware

    • Four M2.5x18mm male-female brass standoffs
    • Four M2.5x5mm brass screws
    • Four M2.5 brass nuts
    Mounting Hardware

    3. Two jumpers

    Stack Level Jumpers

    4. Mating connector plugs

    16-Inputs Card pluggable connectors


    1. Plug your 16-INPUTS card on top of your Raspberry Pi and power up the system.
    2. Enable I2C communication on Raspberry Pi using raspi-config.
    3. Install the card software from github.com:
    • ~$ git clone https://github.com/SequentMicrosystems/16inputs-rpi.git
    • ~$ cd /home/pi/16inputs-rpi
    • ~/16inputs-rpi$ sudo make install
    • ~/16inputs-rpi$ 16inputs -h
    The program will respond with a list of available commands.