eZ80 for RC

Powerup your retro computer with Zilog's eZ80 CPU

eZ80 for RC

The eZ80 for RC is a CPU Module designed for the RCBus and RC2014 backplanes.

The eZ80 Zilog CPU is an updated version of Z80 CPU. It comes in a few variations with many on chip facilities in addition to the basic CPU, such as flash ROM, RAM, GPIO and other IO services.

eZ80 on RC2014

What is the eZ80 CPU

The eZ80 CPU is an enhanced version of the original Z80, largely maintaining compatibility with its predecessor while offering significant improvements. It can directly address up to 16MB of memory and achieves far greater performance per clock cycle due to increased instruction efficiency and pipelining. Additionally, it integrates various on-chip peripherals such as timers, UART, SPI, I2C, and GPIOs, reducing the need for external hardware components.

While the eZ80 might appear slow and limited by today’s standards, it represents, I think, an interesting evolution from the original 1970s Z80 to the modern day embedded microcontrollers.

See the Wikipedia page for basic overview of the CPU (https://en.wikipedia.org/wiki/Zilog_eZ80)

Key features

Demo Video

Here’s a video of the eZ80 for RC module running in the RC2014 backplane with a few retro modules:

Schematics

Kit Details

Coming soon to my Tindie Store, will be the eZ80 for RC kit. For you to assemble and expand your RC2014 or RCBus system.

What’s included in the kit

The full kits includes everything you need. Including the PCBs, capacitors, IC sockets, connectors, and the various ICs. The included Programmable Logic Device (PLD) will also be flashed with the required logic.

The eZ80 CPU module will come with all the surface mounted components soldered. You just need to solder the PCB pins and a standard 6 pin programming header.

A 20Mhz and an optional 25Mhz crystal to allow you to ‘overclock’ your eZ80.

Bill Of Materials

Quantity Component
2 Right Angle 20x2 Header
6 100nF
1 10uF Radial
2 1uF Radial
2 HDR M 2.54 1x40
5 Shunts 1x2
1 3mm Green LED
1 20MHz Crystal Oscillator
4 3.4mm 4.7kΩ resistor
2 3.4mm 1kΩ resistor
7 3.4mm 10kΩ resistor
1 3.4mm 47Ω resistor
1 3.4mm 470Ω resistor
5 74HCT245
1 ATF16V8C-7PU
1 TLV1117LV33DCYR**
1 BAT-HLD-012-SMT* **
1 MCP130-475DI/TO
6 20 POS IC DIP SOCKET
1 4 POS SOCKET FOR OSCILLATOR
1 Interface PCB for RC2014/RCBus Backplane
1 pre-assembled eZ80 CPU Module

* The batter holder BAT-HLD-012-SMT can support battery types of CR1225 or CR1216. Please note in the V1.7 of the PCB, the silkscreen incorrectly states a battery size of CR2016.

** The battery holder and 3.3V (TLV1117) DC converter are surface mounted components - but are not hard to solder with a conventional soldering iron.

What else is needed

This kit is designed for RCBus and RC2014

Flashing the internal ROM

Before you can boot your RCBus/RC2014 system, you will need to have written an image onto the eZ80’s internal ROM. For that you will need a ‘programmer’.

There are 2 options for the programmer. The Zilog’s official programmer (Zilog eZ80 Acclaim USB Smart Cable), available from many hardware suppliers such as digikey or mouse:

Pi Pico Programmer

An alternative and lower cost option is to use a Raspberry PI Pico. Click here for instructions of setting up a Pi Pico Programmer

Caveats

Images

Errata

For PCB version 1.7, please note the following corrections:

  1. Battery type is incorrectly stated as CR2016. It should state support for batteries of type CR1225 or CR1216.
  2. The main crystal oscillator (OSC1) is labelled with a frequency of 18.432MHz. It can actually support any frequency from 7.372MHz up to 20MHz. Overclocking is also possible; I have tested it up to 40MHz. For optimal performance, I recommend using a 25MHz crystal.
  3. The pinout for the SPI interface is incorrect. The correct pinout from Pin 1 (at the top) down is:
  1. GND
  2. SS
  3. SCK
  4. MISO
  5. MOSI

Jumpers/Headers

J1 - UART 5V Enable

J2 - Bus Isolation

Reserved for future use. Enable Bus Isolation.

J3 - Bus Clock Enable

The clock frequency will be the CPU Clock Frequency divided by 4.

J4 - I2C Voltage Selection

The voltage level for operating the I2C bus.

H1 - GPIO

H2 - UART

H3 - I2C

H4 - SPI

Assembly Guide

Here are my recommendation for how to approach assembling and soldering the eZ80 Interface PCB and the CPU Module.

First I start with the PCB pins on the CPU PCB and the associated Round Machine Sockets on the main Interface PCB. The PCB pins require careful attention, as they are quite small, and alignment is important otherwise you may have difficult inserting them into the sockets on the PCB.

  1. Cut the machine socket strips to the required lengths: 3 strips of 13 pins, 3 strips of 12 pins, and 2 strips of 9 pins. Be cautious when breaking the strips into the required lengths to avoid making a poor cut and losing or exposing the end pin. Using a sharp Stanley knife with some force can help achieve a clean break. Keep the knife straight.
  1. Place the sockets into the Interface PCB. Ensure the PCB is placed on foam or elevated so the sockets can sit fully in place. Do not solder them yet.
  2. Using precision tweezers, pick up one of the PCB pins and insert the shorter end into one of the sockets. Repeat this for all pins. Make sure each PCB pin is fully inserted; you should hear it click into place.

Handle the PCB pins with care, as they can easily slip from your tweezers and flick away in any direction, including towards your eyes.

  1. Confirm the PCB pins are gripped within the socket - they should not fall out if the socket is turned upside down.
  2. Once all the PCB pins are inserted, position the CPU module in place.
    In this video, you can see the CPU PCB and the main Interface PCB connected through the PCB pins and sockets, but they are not yet soldered.
  1. Solder the top of the CPU Module first. Then, flip it over and solder the sockets on the back of the main Interface PCB, ensuring the sockets are still fully inserted. Once both sides are soldered, remove the CPU module.
  2. Solder the 2x3 (6pin) programming header on the CPU Module. That will complete the CPU Module.
  3. Before soldering the (CR1216/CR1225) battery holder, you may want to place a small amount of solder on its ground pad. This will ensure a good contact when you insert a battery.
  4. Solder the SMD battery holder, then the SMD 3.3V (TLV1117LV33DCYR) DC converter. Pay attention to the orientation of the battery holder otherwise you will not be able to insert a battery.
  5. Next solder all the remaining passive through hole components, resistors, capacitors, then the sockets and headers.

If installing this module in a case, take into account the available space and select the appropriate type for the 6-pin UART header. You can choose either a right-angle or straight header based on your requirements and preferences.

Disclaimer

Please note that this is a kit, produced by a non-expert (me) for hackers, DIYers’ and retro lovers, to tinker with. Please exercise caution and follow good safety practices. You will be working with sharp knives, a hot soldering iron, and small metal components. Be mindful of the risks involved in the build process. I will do my best to answer any questions you may have.

This kit is provided as-is, with no guarantees or warranties. By assembling and using this kit, you acknowledge that you do so at your own risk. The creator cannot be held responsible for any damage, injury, or loss that may occur during the assembly or operation of this kit.