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

KitsWebsiteFromCurrency
Small Computers DirectSCDirectUKGBP
Stephen C CousinsTindieUKUSD
Small Computer CentralLectronzUKEuro/USD
PCBsWebsiteFromCurrency
Small Computers DirectSCDirectUKGBP
Stephen C CousinsTindieUKUSD
Small Computer CentralLectronzUKEuro/USD
Assembled and TestedWebsiteFromCurrency
Not available
Components
See parts list
Small Computers Direct does not collect VAT for EU countries
Tindie does not collect VAT for EU countries
Lectronz does collect EU VAT for orders up to 150 EUR

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
Component details and sourcing

Printed Circuit Board

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

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.

Compatibility

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

The RCBus specification includes RCBus-2014 (both RC2014 standard 40-pin bus and RC2014 enhanced 60-pin bus) and also the full 80-pin RCBus. The 80-pin RCBus provides support for advanced Z80 features, such as the interrupt daisy-chain, as well as support for other processor families.

The table below indicates electrical compatibility with each backplane type (40, 60 and 80 pin)

Backplane?Compatibility notes
RCBus 80-pinFully supported
RCBus 60-pin
(RC2014 enhanced)
Fully supported
RCBus 40-pin
(RC2014 standard)
Fully supported

The following table indicates electrical compatibility with SC704. Check firmware and software details for any required software support.

Product (80-pin)?Compatibility notes
SC126
Z180 motherboard
Adds Z180 SBC/
motherboard
SC701
Backplane 6+1
Adds 6 module sockets
RCBus 80-pin and PSU
SC702
Backplane 6+1
Adds 6 module sockets
RCBus 80-pin
SC703
Power from 12v
Adds power supply (8 to
12 volt input) and reset
SC704
I2C bus master
Can add more than one
I2C bus master
SC705
Serial ACIA
Adds one serial port
Typically set to 0x40
SC706
Z80 CPU
Adds Z80 CPU and
main bus clock
SC707
Memory 128k
Adds 128k RAM and
128k flash ROM
SC708
Z80 SBC
Adds CPU, ROM, RAM
clock and reset
SC709
Backplane 12+1
Adds 12 module sockets
RCBus 80-pin and PSU
SC710
Backplane 12+1
Adds 12 module sockets
RCBus 80-pin
SC711
Prototyping
Prototyping module
SC712
Power from 5v
Adds power supply (5
volt input) and reset
SC713
RCBus tool
n/aSimple reference tool
No electrical function
SC714
Memory 512k
Adds 512k RAM and
512k flash ROM
SC715
Compact flash
Adds Compact Flash
storage
SC716
Z80 SIO/2
Adds two serial ports
Typically set to 0x84
SC717
Z80 PIO
Adds parallel I/O
using Z80 PIO
SC718
Z80 CTC
Adds counter/timer
using Z80 CTC
SC719
Digital I/O
Adds digital I/O
Eight in, eight out
SC720
Z80 motherboard
Adds Z80 SBC/
motherboard
SC721
Memory 512k
Adds 512k RAM and
2 x 512k flash ROM
SC722
Z180 CPU
Adds Z180 CPU with
two serial ports
SC723
Backplane 3
Adds 3 module sockets
RCBus 80-pin
SC724
Breakout
Prototyping breakout
module
SC725
SIO+CTC
Adds two serial ports
and 4 counter/timers
SC726
Clock generator
Generates CLK and
CLK2 bus signals
SC727
Real time clock
Adds real time clock
for time and date
SC728
Module riser
Simple module riser
for RCBus 80-pin
SC791
Z80 system
Modular Z80 system
SC792
Z180 system
Modular Z180 system
Product (40 pin)?Compatibility notes
SC114
Z80 motherboard
Adds Z80 SBC/
motherboard
SC130
Z180 motherboard
Adds Z180 SBC/
motherboard
SC133
Backplane 11+1
Adds 11 module sockets
RCBus 40-pin and PSU
SC134
LED output port
Adds eight LED
outputs
SC135
Digital output port
Adds eight digital
outputs
SC136
Digital input port
Adds eight digital
inputs
SC137
I2C bus master
Can add more than one
I2C bus master
SC139
Serial ACIA
Adds one serial port
Typically set to 0x40
SC141
Backplane 12+1
Adds 12 module sockets
RCBus 40-pin
SC142
Power from 12v
Adds power supply (8 to
12 volt input) and reset
SC143
Flash ROM
Adds 128k flash ROM
SC145
Compact flash
Adds Compact Flash
storage
SC147
Backplane 6+1
Adds 6 module sockets
RCBus 40-pin
SC148
Power from 5v
Adds power supply (5
volt input) and reset
SC149
Z80 CPU
Adds Z80 CPU and
main bus clock
SC150
Paged RAM 128k
Adds 128k of paged
RAM
SC151
Paged ROM 128k
Adds 128k of paged
ROM
Other suppliers?Compatibility notes
RC2014
Mini system
Adds Z80 SBC/
motherboard
RC2014
Pro system
Modular Z80 system
RC2014
Zed system
Modular Z80 system
RC2014
Micro module
Adds CPU, ROM, RAM
serial, clock and reset
RC2014
Backplane 5
Adds 5 module sockets
RC2014 40-pin
RC2014
Backplane 8
Adds 12 module sockets
RC2014 40-pin
RC2014
Backplane Pro
Adds 12 module sockets
RC2014 40-pin / 60-pin
RC2014
Z80 CPU
Adds Z80 CPU
RC2014
SIO/2 dual serial
Adds two serial ports
at 0x80 to 0x87
RC2014
Compact flash
Adds Compact Flash
at 0x10 to 0x17
RC2014
Dual clock
Generates CLK and
CLK2 bus signals
RC2014
Pageable ROM
Adds 64k paged ROM
RC2014
64k RAM
Adds 64k paged RAM
RC2014
Memory 512k
Adds 512k RAM and
512k flash ROM
RC2014
Digital I/O
Adds eight LED outputs
and eight push buttons
RC2014
Real time clock
Adds real time clock
for time and date
RC2014
RP2040 VGA terminal
Connect VGA monitor
and USB keyboard
RC2014
Pi Pico terminal
Connect VGA monitor
and USB keyboard
RC2014
YM2149 sound card
Adds authentic retro
sound
Weird electronics
Flock v2
Adds floppy disk
and real time clock

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