Skip to the content
2 layers99.9 × 99.9 mmEasy z80, the printed circuit board in 3D

An easy to build Zilog Z80 based single board computer

Size
99.9 × 99.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
61
Nets
126
Pads
470
Tracks, vias
1,845, 87
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
7 Feb 2019
Updated
21 Jan 2026

Overview

Easy z80 is an open-source printed circuit board by skiselev, from the skiselev/easy_z80 repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 99.9 × 99.9 mm with 61 parts on 126 nets, routed with 1,845 tracks and 87 vias.

It is built around the MAX232ACSE+, 74HC670P-E and 74HC74D, with the MAX693CPE+ among its other parts. Its parts include 23 capacitors, 12 ICs, 7 connectors, 5 resistors and 1 diode. It belongs with the retro computing and games and computers and single-board computers boards and the FPGA and CPLD boards of this library.

Main components

4

README

README.md

Easy Z80

An easy to build Zilog Z80 based single board computer

Table of Contents

Introduction

My son Max asked me what it takes to build a computer, and whether or not he can design and build one himself. This project is our attempt to design and build a simple, easy to understand, yet capable single board computer. It reuses the same memory paging mechanism I've implemented in Zeta SBC V2. It uses the Zilog Z80 SIO/O, Z80 CTC peripheral ICs, and implements daisy chain mode 2 interrupt configuration.

Easy Z80 PCB Rendering

Specifications

  • Processor: Zilog Z80 CPU (CMOS version - Z84C00)
  • Memory: 512 KiB battery-backed SRAM, 512 KiB Flash ROM
  • I/O:
    • Zilog Z80 CTC - Programmable timer used for periodic interrupts and (optionally) for generating UART clock
    • Zilog Z80 SIO - Dual channel serial interface, used for console and for connecting to other peripheral devices
  • Bus: RC2014 compatible
  • Microprocessor Supervisor:
    • Reset generation
    • SRAM battery backup
    • Power failure NMI
    • Watchdog (optional)

Hardware Documentation

For the version 1.0 schematic, PCB layout, and bill of materials please refer to tag v1.0

Schematic and PCB Layout

Schematic - Version 1.1

PCB Layout - Version 1.1

Connectors and Jumpers

J1 - Power

Connect regulated +5V power supply to this connector.

PinSignal NameDescription
Tip (the inner contact)VCCPositive terminal - +5V
Barrel / sleeveGNDNegative terminal - ground
J2, J3 - Serial Channel A and Serial Channel B
PinSignal NameDescription
1DCDCarrier Detect; Not used - Not connected on the SBC
2RXA, RXBReceive Data; Input to SBC
3TXA, TXBTransmit Data; Output from SBC
4DTRData Terminal Ready; Not used - Not connected on the SBC
5GNDConnected to the SBC GND signal
6DSRData Set Ready; Not used - Not connected on the SBC
7RTSA, RTSBRequest to Send; Output from SBC
8CTSA, CTSBClear to Send; Input to SBC
9RIRing Indicator; Not used - Not connected on the SBC
ShieldDE9 ShieldConnected to the SBC GND signal
J4 - NVRAM Battery

Connect 3V battery for SRAM backup to this connector.

Important: If the SRAM battery backup is not desired, short J4 with a jumper. Do not leave this connector open.

PinSignal NameDescription
1VBATPositive terminal - +3V
2GNDNegative terminal - ground
J5, J6, J7 - RC2014 Bus
PinSignal NameDescriptionPinSignal NameDescription
J5-1A15Address A15; Output
J5-2A14Address A14; Output
J5-3A13Address A13; Output
J5-4A12Address A12; Output
J5-5A11Address A11; Output
J5-6A10Address A10; Output
J5-7A9Address A9; Output
J5-8A8Address A8; Output
J5-9A7Address A7; Output
J5-10A6Address A6; Output
J5-11A5Address A5; Output
J5-12A4Address A4; Output
J5-13A3Address A3; Output
J5-14A2Address A2; Output
J5-15A1Address A1; Output
J5-16A0Address A0; Output
J5-17GNDGroundJ6-1GNDGround
J5-18VCCPower Supply - +5VJ6-2VCCPower Supply - +5V
J5-19/M1Machine Cycle One; OutputJ6-3/RFSHDRAM refresh; Output
J5-20/RESETReset; OutputJ6-4N/CNot connected
J5-21CPU_CLKCPU Clock; OutputJ6-5UART_CLKUART Clock (1.8432 MHz); Output
J5-22/INTInterrupt; InputJ6-6/BUSACKDMA Bus Acknowledge; Output
J5-23/MREQMemory Request; OutputJ6-7/HALTHalt; Output
J5-24/WRWrite Request; OutputJ6-8/BUSREQDMA Bus Request; Input
J5-25/RDRead Request; OutputJ6-9/WAITWait; Input
J5-26/IORQInput/Output Request; OutputJ6-10/NMINon-maskable Interrupt; Input
J5-27D0Data D0; Input/Output
J5-28D1Data D1; Input/Output
J5-29D2Data D2; Input/Output
J5-30D3Data D3; Input/Output
J5-31D4Data D4; Input/Output
J5-32D5Data D5; Input/Output
J5-33D6Data D6; Input/Output
J5-34D7Data D7; Input/Output
J5-35TXDAChannel A, Transmit Data; OutputJ7-1TXDBChannel B, Transmit Data; Output
J5-36RXDAChannel A, Receive Data; InputJ7-2RXDBChannel B, Receive Data; Input
J5-37USR1User Pin 1, Not connectedJ7-3USR5User Pin 5, Not connected
J5-38IEIInterrupt Enable InputJ7-4USR6User Pin 6, Not connected
J5-39IEOInterrupt Enable OutputJ7-5USR7User Pin 7, Not connected
JP1 - Serial Channel A Clock Select
PositionDescription
1-2 (default)1.8432 MHz (115200 bps if using x16 mode)
2-3Programmable using CTC channel 0
JP2 - Serial Channel B Clock Select
PositionDescription
1-2 (default)1.8432 MHz (115200 bps if using x16 mode)
2-3Programmable using CTC channel 1

Bill of Materials

Version 1.1

Easy Z80 project on Mouser.com - View and order all components except of the PCB.

Easy Z80 project on OSH Park - View and order the PCB.

Component typeReferenceDescriptionQuantityPossible sources and notes
PCBEasy Z80 PCB - Version 1.11Refer to the RetroBrew Computers Board Inventory page for ordering information, or order from a PCB manufacturer of your choice using provided Gerber or KiCad files
Integrated CircuitU1Z80 CPU, CMOS, 40 pin DIP - Z84C00xxPEG1Mouser 692-Z84C0010PEG
Integrated CircuitU2Z80 CTC, CMOS, 28 pin DIP - Z84C30xxPEG1Mouser 692-Z84C3010PEG
Integrated CircuitU3Z80 SIO/0, CMOS, 40 pin DIP - Z84C40xxPEG1Mouser 692-Z84C4010PEG
Integrated CircuitU4512 KiB SRAM, 32 pin DIP - AS6C40081Mouser 913-AS6C4008-55PCN
Integrated CircuitU5512 KiB Flash ROM, 32 pin DIP - SST39SF0401Mouser 804-39SF0407CPHE
Integrated CircuitU6Microprocessor Supervisory Circuit - MAX6931Mouser 584-ADM693ANZ; Possible alternatives: MAX693, LTC693, ADM691, MAX691, LTC691, ADM695, MAX695, LTC965, LTC1235
Integrated CircuitU7, U8Dual RS-232 Driver/Receiver - MAX232A2Mouser 595-TRS202EIN
Integrated CircuitU9Simple Programmable Logic Device - ATF16V8B1Mouser 556-AF16V8B15PU
Integrated CircuitU10, U114-by-4 Register File - 74HC6702Mouser 595-CD74HC670E
Integrated CircuitU12Dual Flip Flop - 74HC741Mouser 595-SN74HC74N
OscillatorQG110 MHz, CMOS oscillator, Half Can1Mouser 774-MXO45HS-3C-10.0
OscillatorQG21.8432 MHz, CMOS oscillator, Half Can1Mouser 774-MXO45HS-3C-1.8
LED              D1      3 mm, green LED indicator1      Mouser 859-LTL-4231N
Tactile ButtonSW16 mm tactile button, right angle1Mouser 653-B3F-3152
ConnectorJ1DC Power Jack, 2mm1Mouser 806-KLDX-0202-A
ConnectorJ2, J3Sub-D DE9M, Right Angle, PCB mount2Mouser 806-K22X-E9P-N-99
ConnectorJ42 Pin Header with Friction Lock1Mouser 571-6404562
Pin HeaderJ5 - J740x2 Pin Header, 2.54 mm Pitch, Right Angle1Mouser 571-9-103326-0
CapacitorC1 - C14, C16 - C230.1 uF, MLCC, 5 mm Pitch22Mouser 594-K104K15X7RF53H5
CapacitorC2447 uF, 25V, Aluminum Organic Polymer1Mouser 80-A750EK476M1EAAE40
Resistor ArrayRN1 - RN34.7 k, bussed, 5 pin SIP3Mouser 652-4605X-AP1-472LF
Resistor ArrayRN44.7 k, bussed, 9 pin SIP1Mouser 652-4609X-AP1-472LF
ResistorR1470 ohm, axial1Mouser 603-MFR-25FRF52-470R
ResistorR2 - R410 kohm, 1% tolerance, axial3Mouser 603-MFR-25FRF5210K
ResistorR529.4 kohm, 1% tolerance, axial1Mouser 603-MFR-25FBF52-29K4
Trimmer ResistorRV12 kohm, through hole1Mouser 652-3362P-1-202LF
IC SocketU1, U340 pin DIP2Mouser 517-4840-6000-CP
IC SocketU4, U532 pin DIP2Mouser 517-4832-6000-CP
IC SocketU228 pin DIP1Mouser 517-4828-6000-CP
IC SocketU920 pin DIP1Mouser 517-4820-3000-CP
IC SocketU6 - U8, U10, U1116 pin DIP5Mouser 517-4816-3000-CP
IC SocketU1214 pin DIP1Mouser 517-4814-3000-CP
Oscillator SocketQG1, QG24 pin DIP, Half Can2Mouser 535-1108800

Firmware Documentation

BIOS and OS

Easy Z80 is supported by RomWBW v2.9.1 and later. RomWBW includes BIOS, CP/M-80 2.2, Z-System, and a collection of utilities. It also should be possible to run FUZIX on this board.

SPLD Fuse Map

Easy Z80 uses an ATF16V8/GAL16V8 SPLD (U9) for address decode logic. The SPLD fuse map and the SPLD source code are provided in SPLD directory of this repository.

Release Notes

Changes

  • Version 1.1
    • Add pull-up resistors on the data bus (RN4 - 4.7k) to support Z80 interrupt mode 0
    • Use 74HC series instead of 74HCT
    • Remove C15
    • Use RN reference for resistor arrays instead of RR
    • Update silkscreen:
      • Make RN1 reference and value visible
      • Update silkscreen of headers footprints, so that JP1 and JP2 don't cover the traces
      • Add project URL to the bottom silkscreen
  • Version 1.0
    • Initial version

Known Issues

  • Version 1.0
    • Top silkscreen: RR1 reference and value are not visible. It should read "RR1, 4.7k"
    • Bottom silkscreen on JP1 and JP2 covers the trace connections, so they are not easily visible
    • Bottom silkscreen: No project URL. Should be github.com/skiselev/easy_z80
    • Board will not reset when C15 is populated. Workaround: Do not populate this capacitor
    • Schematic and top silkscreen: Use 74HC series instead of 74HCT

Wishlist

  • Version 1.0
    • Add pull-ups on the data bus to support extension boards that were not designed for Z80 interrupt mode 2

Parts

61
QtyValueFootprintReferences
22100nMy_Components:Cap_Cer_508C1, C2, C3, C10, C11, C12, C13, C14, C16, C17, C18, C19, C20, C21, C22, C23 +6
310kMy_Components:Res_762R2, R3, R4
34.7kMy_Components:Conn_SIL5RN1, RN2, RN3
274HC670My_Components:IC_DIP16_300U10, U11
2MAX232AMy_Components:IC_DIP16_300U7, U8
11.8432 MHzMy_Components:OSC_Half_Can_DIP8QG2
110MHzMy_Components:OSC_Half_Can_DIP8QG1
129.4kMy_Components:Res_762R5
12kMy_Components:Trimmer_Bourns_3362PRV1
14.7kMy_Components:Conn_SIL9RN4
1470My_Components:Res_762R1
147uMy_Components:Cap_Elec_Radial_6.3mmC24
174HC74My_Components:IC_DIP14_300U12
1AS6C4008My_Components:IC_DIP32_600U4
1ATF16V8BMy_Components:IC_DIP20_300U9
1CH_A_CLKMy_Components:Conn_Pin_Header_3x1_2.54mmJP1
1CH_B_CLKMy_Components:Conn_Pin_Header_3x1_2.54mmJP2
1MAX693My_Components:IC_DIP16_300U6
1POWERMy_Components:LED_3mmD1
1POWERMy_Components:Conn_Power_Jack_Circular_PadsJ1
1RC2014_BUSMy_Components:Conn_Pin_Header_39x1_2.54mmJ5
1RC2014_EXTMy_Components:Conn_Pin_Header_10x1_2.54mmJ6
1RC2014_SPAREMy_Components:Conn_Pin_Header_5x1_2.54mmJ7
1RESETMy_Components:Switch_Tactile_6mm_RightSW1
1SERIAL_AMy_Components:Conn_Dsub_DE9MJ2
1SERIAL_BMy_Components:Conn_Dsub_DE9MJ3
1SST39SF040My_Components:IC_DIP32_600U5
1VBATMy_Components:Conn_Friction_Lock_2P_2.54mmJ4
1Z84C00My_Components:IC_DIP40_600U1
1Z84C30My_Components:IC_DIP28_600U2
1Z84C40My_Components:IC_DIP40_600U3

The 58 most common of 61 parts.

Similar boards

  • 2 layers208 × 110 mm8 16 computer 2, the printed circuit board in 3D

    8 16 computer 2

    halfburnttoast/TCPU816-v1

    Version 1.1 of my 8-bit, TTL computer.

    120 parts21
  • 2 layers216 × 150 mmMotherboard-201, the printed circuit board in 3D

    Motherboard-201

    artemisamsx/artemisa

    Schematics, PCB designs and HDL simulations to build a 8-bits MSX computer

    106 parts67
  • 2 layers100 × 80 mmMini8085, the printed circuit board in 3D

    Mini8085

    skiselev/minimax8085

    Simple Intel 8085 based Single Board Computer (SBC)

    45 parts60GPL-3.0
  • 2 layers53.3 × 66 mmBulkyMIDI-32 Amiga, the printed circuit board in 3D

    BulkyMIDI-32 Amiga

    tebl/BulkyMIDI-32

    A HW build of the MT32-PI project, allowing you to emulate a Roland MT-32 using a Raspberry Pi. Includes enough additional modules to build a MIDI-mountain as well as adapters for connecting to most things retro.

    23 parts80CC-BY-SA-4.0
  • 2 layers36.8 × 44.5 mmPontag, the printed circuit board in 3D

    Pontag

    hkzlab/pontag

    PONTAG is an active adapter that converts a mouse using PS/2 protocol into an RS232 mouse (Microsoft protocol), commonly used on IBM XT/AT and compatibles.

    32 parts9
  • 2 layers100 × 63.5 mmESE2RAM Cartridge, the printed circuit board in 3D

    ESE2RAM Cartridge

    goriponsoft/ESE2RAM-Cartridge

    Implementation of ESE-RAM using only general-purpose logic ICs (naming: ESE-ESE-RAM/ESE2-RAM).

    29 parts8
  • 2 layers93 × 58.4 mmV0b, the printed circuit board in 3D

    V0b

    smaldragon/BNUY-ROM

    A famicom discrete logic mapper

    39 parts3Unlicense

Questions

How big is the Easy z80 PCB?

It measures 99.9 × 99.9 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Easy z80 use?

61 parts, built around the MAX232ACSE+, 74HC670P-E, 74HC74D and MAX693CPE+. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Easy z80 KiCad files?

From the skiselev/easy_z80 repository on GitHub, at the commit this page was made from: the board is KiCad/Easy_Z80.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Easy z80 design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).