SC405 – I2C Digital I/O Module

SC405 is an SC400 series digital I/O module for the I2C bus.

This module houses a PCF8574 or PCF8574A and provides 8 quasi-bidirectional input/output lines. Each I/O line can be driven low by the PCF8574/A or pulled low by an external signal. The state of the I/O lines can be written and read by an I2C bus master.

The I2C device address is selected with three jumpers.

There are two versions of the PCF8574 chip: PCF8574 and PCF8574A. It is assumed the ‘A’ part is used with SC405. The difference between the versions is the I2C slave addresses.

The PCF8574A slave address (7-bit) is: 0b0111AAA, where AAA = three address jumpers.

The recommended (default) slave address (7-bit) for SC405 is: 0b0111010, 0x3A (address jumpers: A2=0, A1=1, A0=0)
The address bytes are: 0x74 write, 0x75 read

The original PCF8574 slave address (7-bit) is: 0b0100AAA.



Parts List

PCB1SC405, v1.0, PCB
Design at OSHWLab
C11Capacitor, ceramic, 100 nF
JP1 to JP33Header, male , 1 row x 3 pin, straight
Jumper shunts3Jumper shunt
P11Header, male, 2 row x 6 pin, angled
The second row of pins needs to be removed.
P21Header, male, 1 row x 6 pin, straight
P31Header, male , 1 row x 10 pin, straight
P41Header, male , 1 row x 3 pin, straight
R1 and R22Resistor, 10k, 0.25W
S11Header, female, 1 row x 6 pin, angled
U11PCF8574 or PCF8574A
U1 socket116-pin DIL socket


This design is so simple it does not justify a detailed assembly guide. Just assemble according to the photo above.

In order for the daisy-chained PCBs to be a consistent level, header pins (P1) need to have a profile that matches the socket (S1). By far the most common angled header pins do not match. A suitable profile header can be created by removing the second row of pins from a double row header. The pins can easily be pulled out of the plastic guide with a small pair of pliers.

The two resistors, R1 and R2, are not normally required. These are pull up resistors for the I2C bus signals, serial clock and serial data. The pull up resistors typically found on I2C bus masters are usually all that is required. However, should you require additional resistors for any reason, they can be fitted here. The most likely reason to add resistors is to terminate a long bus with many devices connected.


  • This product is designed for hobby use and is not suitable for industrial, commercial or safety-critical applications.
  • The product contains small parts and is not suitable for young children.

Homebrew 8-bit retro computing