SC403 – I2C Digital I/O Module

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

This module houses a MCP23018 and provides 16 quasi-bidirectional input/output lines. Each I/O line can be driven low by the MCP23018 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 set by a voltage normally generated with two resistors. The default address only requires a single wire link instead of the resistors.

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

The recommended (default) slave address (7-bit) for SC403 is: 0b0100000, 0x20 (R3 = not fitted, R4 = wire link)
The address bytes are: 0x40 write, 0x41 read

Downloads

Suppliers

Parts List

ReferenceQtyComponent
PCB1SC403, v1.0, PCB
Design at OSHWLab
C11Capacitor, ceramic, 100 nF
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
R1 and R22Resistor, 10k, 0.25W
Optional
S11Header, female, 1 row x 6 pin, angled
P3 and P42Header, female, 1 row x 10 pin, straight
P51Header, female, 1 row x 3 pin, straight
R30Not required for default address
R41Wire link (eg. resistor leg)
R51Resistor, 10k, 0.25W
U11MCP23018
U1 socket128-pin DIL socket, narrow (0.3″)

Assembly

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.

The I2C device address is set by a voltage normally generated with two resistors. The default address only requires a single wire link instead of the resistors. Fit a wire link, such as the offcut of a resistor leg, in position R4 and do not fit anything in position R3.

Notes

  • 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