DI16ac I2C-HAT

43 Reviews

Raspberry Pi I/O Module / I2C / 16 Digital Inputs

  • 16 isolated digital input channels
  • Source and sink type for digital input channels
  • Interrupt request(IRQ)
  • Internal 32-bit counters for all digital input channels
  • 2000 VAC isolation voltage
  • Temperature operating range -25 ~ +75°C
  • Stackable, up to 16x
(Excl. tax)

The DI16ac I2C-HAT is a 16 digital input channels Raspberry Pi add-on board that uses the I2C bus for communication with Raspberry Pi. It offers 16 isolated source/sink digital input channels. The input channels can be used to count edges, every input channel has two internal 32-bit counter attached, one for counting rising edges and the other for counting falling edges. The DI16ac also has 16 LED indicators for digital inputs status monitoring.

The wide operating input voltage of the digital inputs is perfect for most applications. The isolation protects your Raspberry Pi from the harsh external environment. Users can stack up to 16x DI16ac I2C-HATs on one Raspberry Pi. Make sure every DI16ac from the stack has a unique I2C bus address. Setting the address value is accomplished using the on board I2C address jumpers.

Interrupt Requests - IRQs

Everyone of the Digital Input Channels has the capability of generating an Interrupt, on both rising and falling edges. The firmware determines the Digital Input Channels Interrupts and triggers the derived IRQ signal(open collector) that goes to a Raspberry Pi gpio(selectable using solder jumpers, but default is GPIO21). This IRQ signal will trigger an interrupt on Raspberry Pi thus informing that a change has occured on one or more of the Digital Input Channels and Raspberry PI should read the board DI_IRQ Capture Queue using the I2C bus commands. The Raspberry Pi GPIO21 pin should be configured with pullup resistor enabled and Falling Edge Interrupt enabled, please see python example


Interface I2C @ 100 kbs
Voltage Supply 5V
Power Consumption 0.25W(50mA@5V) max.
Operating Temperature -25 to 75°C
Watchdog Timer System and Communication
Digital Inputs
Digital Input Channels 16
Signal Type Sink, Source, isolated channels with common ground or power
On Voltage Level +3 to +30V
Off Voltage Level +1V max.
Counter Channels 32(16 rising, 16 falling), 32-bit, Max. Input Freq.: 100Hz, Min. Pulse Width : 5ms
Isolation Voltage 2000 VAC
Input Resistance 5.6K



The DI16ac I2C-HAT has 2 connectors(each has 10 pin, 3.81mm pitch, detachable screw terminal). Their pins are divided into 4 blocks, 2 blocks on each of the connectors. Every block has 5 pins, 4 Digital Input pins and 1 Common pin.

Every input channel uses 2 pins:

  1. Ix, where x is the channel index, range [0..15].
  2. COMy, where y is pin block index, range [0..3]

Input channels I0 to I3 use COM0, input channels I4 to I7 use COM1 and so on.

For details about wiring diagrams check the Digital Inputs Sink/Source Types in the Application Wiring post.