SC704 – RCBus I2C Bus Master

SC704 is an I2C bus master module for RCBus.

Downloads

Errata

PCB v1.0.0 has read and write address labels swapped so read should start at 0xA1 (not 0xA0) and write should start at 0xA0 (not 0xA1)

Suppliers

KitsWebsiteShips from
Stephen C CousinsTindieUK
PCBsWebsiteShips from
Stephen C CousinsTindieUK
Assembled and TestedWebsiteShips from
Not available
Components
See parts list

Parts List

ReferenceQtyComponent
PCB1SC704, v1.0, PCB
C1 to C55Capacitor, ceramic, 100 nF
JP11Header, male, 2 row x 8 pin, angled
JP2 to JP54Header, male, 1 row x 3 pin, straight
Jumper12Jumper shunt
LED1 and 22LED, green, 3mm, angled
P11Header, male, 2 row x 40 pin, angled
P2 and P32Header, male, 1 row x 6 pin, angled
R1 and R22Resistor, 10k, 0.25W
R3 and R42Resistor, 1k, 0.25W
RP11Resistor network, 8x100k, SIL, 9-pin
S1 and S22Header, female, 1 row x 6 pin, angled
Screw (for spacer)1Machine screw, 6mm, M3
Spacer1Spacer, 10mm, M3, nylon
U1174HCT688
U2174HCT74
U3174HCT125
U4174HCT32
U5124LC256
IC socket 20-pin
U1
1Socket, DIP, 20-pin
IC socket 14-pin
U2, 3, 4
3Socket, DIP, 14-pin
IC socket 8-pin
U5
1Socket, DIP, 8-pin

Printed Circuit Board

Note: The PCB is designed to allow a DIP switch to be fitted instead of the header pins JP1.

Compatibility

This module conforms to the RCBus specification v1.0 for RCBus-2014 and RCBus-Z80.

User Guide

An I2C bus master is a device that can control I2C slave devices on an I2C bus. This makes the module useful for interfacing with external electronics. In this case, the module generates the I2C bus signals using big-bang code.

The RCBus I/O port address for this module is set in binary with JP1. Fit a jumper shunt to each bit position where the address bit should be a logic ‘1’ (high voltage).

If, for example, you wish to set the module to address 12 decimal, which is hexadecimal 0C or binary 00001100, then fit a jumper shunts to bits 2 and 3, as illustrated below.

The default address is decimal 12 (hexadecimal 0C, binary 00001100)

Jumpers JP2 to JP4 set the address of the EEPROM (U5) on the I2C bus (not the address on the processor bus) and also it’s write protect option.

The jumper positions shown below set the EEPROM to I2C address 0xA0 (write) and 0xA1 (read), plus it is set to write enabled. Each I2C address bit is set to zero. The higher address bits are fixed by the EEPROM to 1010 xxxx.

As bit zero of the I2C device address indicates the Read/Write request, there can be a little confusion with address bit numbers. I2C address bit A0 is actually bit 1 of the control byte, so is the address 7-bits shifted right with bit zero as R/W or is the address 8-bits where each device has two addresses, one for read and one for write. Here we use the latter scheme.

Note: PCB v1.0.0 shows the read and write addresses swapped. For example, 0xA0 should be write and 0xA1 should be read.

Input/output port functions
RCBus I/O Address ReadWrite
Configurable *1Read
SCL (bit 0)
SDA (bit 7)
Write
SCL (bit 0)
SDA (bit 7)
  1. The RCBus I/O address should be set to match the software you are using. Typically, this is 0x0C or 0x20.
Jumper options
JumperFunction
JP 1Set SC704’s RCBus I/O address
JP 2 to JP4Set one of eight possible I2C bus addresses for the I2C EEPROM (U5)
JP5Set I2C EEPROM write protection

JP2 to JP4 set the I2C Bus address for the 25LC256 EEPROM (U5) as shown in the table below.

JP4
A2
JP3
A1
JP2
A0
I2C Write
Address
I2C Read
Address
0000xA00xA1
0010xA20xA3
0100xA40xA5
0110xA60xA7
1000xA80xA9
1010xAA0xAB
1100xAC0xAD
1110xAE0xAF

Assembly Guide

Below is the suggested order of assembly. A general guide to assembling circuit boards can be found here.

  1. Resistors R1 to R4
  2. Sockets S2 and S3.
  3. Decoupling capacitors C1 to C5
    These can be fitted either way around
  4. IC sockets for U1 to U5
    Ensure the notch in the socket matches the marking on the PCB
  5. Header pins P2 and P3
  6. Jumper pins JP1
  7. Bus header pins P1
  8. Resistor network RP1
  9. LED1 and LED2
    The angled LEDs in the kit only fit one way around, but standard LEDs need to have the short lead in the hole marked with a flat line
  10. Jumper pins JP2 to JP5
  11. Fit the IC’s in their sockets
    Ensure the notch in the IC matches the PCB and IC socket
  12. Fit jumper shunts in the default positions (see above)
  13. Fit the nylon spacer in the mounting hole

Fit jumper shunts in the positions shown below. All other jumpers are optional and should only be fitted if the feature is required.

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