Z80 Single Board Computer

Introduction

This project is a Z80-based 8-bit home computer inspired by 1980's computer era. The goal is to recreate the look and feel of computers of that era using mostly modern components that are currently in production. The second goal is to make it as much DIY-friendly as possible — only through-hole components, single 5V power bus, 4-layer board with 2 inner power layers and 2 outer signal layers. Most of the ICs are in DIP packages, except two CPLD chips and dual port VRAM that are in PLCC packages mounted using trough-hole PLCC sockets. No sophisticated soldering and debugging skills needed to assemble, test, debug, and troubleshoot this computer.

Specifications

Hardware overview

Main and keyboard boards are the same size and have symmetrical M4 mounting holes, so can be stacked together for a comfortable operation without an enclosure. Rear connectors and switches are PCB-mounted. All main board components are mounted on the top. The keyboard has standard 61-key PC layout and Cherry MX mechanical switches, connected to main board using 16-wire ribbon cable and IDC connector. Keyboard signals are implemented as a standard 8 rows by 8 columns diode keyboard matrix. Row and column scanning is performed in the software.

The main board has a JTAG IDC connector for in-circuit programming of the chipset and video CPLD chips. Both chips are connected in daisy-chained JTAG configuration. ATDH1150USB JTAG programmer can be directly plugged in into the main board and power should be supplied to the board for it to work.

Computer is thoroughly tested. Various software and hardware tests were running for days without a single glitch. Schematics, gerbers and CAD files are available at GitHub: https://github.com/solisted/z80sbc

Bill of materials

Integrated circuits

Reference Qty Part Number Package Description
U6 1 Z84C0010PEG DIP-40 Zilog Z80 CPU, 10Mhz, processor
U11, U19 2 Z84C2010PEG DIP-40 Zilog Z80 PIO, 10Mhz, parallel I/O interface
U12 1 Z84C4010PEG DIP-40 Zilog Z80 SIO/0, 10Mhz, serial I/O interface
U17 1 Z84C3010PEG DIP-28 Zilog Z80 CTC, 10Mhz, programmable timer
U2 1 ATF1502AS PLCC-44 Atmel CPLD, 32MC, chipset
U18 1 ATF1508AS PLCC-84 Atmel CPLD, 128MC, VGA video generator
U1 1 AT28C64 DIP-28 Atmel EEPROM, 8Kb read-only memory
U4, U7 2 IDT7164S DIP-28 IDT/Renesas SRAM, 8Kb memory
U8 1 IDT71256SA DIP-28 IDT/Renesas SRAM, 32Kb memory
U14 1 IDT7005L15JG PLCC-68 IDT/Renesas dual-port SRAM, 8Kb video memory
U9 1 AY-3-8913 DIP-24 GI/Yamaha AY-3 PSG, 3-ch sound generator
U3, U5 2 MAX232A DIP-16 Analog Devices RS-232, 2-ch driver
U15, U16 2 SN74AHC14N DIP-14 Texas Instruments 74xx, 6-ch inverter
U10 1 DS1813 TO-92 Analog Devices reset circuit
U13 1 LM7805CV TO-220 STMicroelectronics linear voltage regulator

Clock oscillators

Reference Qty Part Number Package Description
QG1 1 ECS-2100AX-3.579545MHZ DIP-8 ECS, 3.579545MHz, PSG clock
QG2 1 MXO45HS-3C-7M3728 DIP-8 CTS, 7.3728MHz, SIO clock
QG3 1 ACH-10.000MHZ-EK DIP-8 Abracon, 10Mhz, CPU/system clock
QG4 1 MXO45HS-3C-25M1750 DIP-8 CTS, 25.175MHz, VGA clock

Connectors and switches

Reference Qty Part Number Type Function Description
J5 1 PRT-00119 Barrel Power In SparkFun, 5.5mm
J1, J7 2 615008143721 RJ45 Serial Wurth Elektronik, Horizontal
J3 1 SJ1-3525N Mini TRS Audio Out CUI Devices, 3.5mm Stereo
M2 1 618015330923 DB15-HD VGA Out Wurth Elektronik, D-Sub Female
J2, J4 2 618009231221 DB9 Joystick Wurth Elektronik, D-Sub Male
SW1 1 PN12SHNA03QE SPDT Power Sw C&K Switches, Locking
SW2 1 PN11SHNA03QE SPDT Reset Sw C&K Switches, Momentary
J6 1 61201021621 IDC 10p JTAG Wurth Elektronik, 2.54mm, Male
J8 1 61201621621 IDC 16p Keyboard Wurth Elektronik, 2.54mm, Male

Tools required

Project demo

Please, feel free to leave comments, suggestions and ask questions under this video. And of course, subscribe to my channel.