Z80 Microprocessor Kit 

Wichit Sirichote, wichit.sirichote@gmail.com

Build a single board computer with a popular Z80 microprocessor. Best tool for self learning the basic of today's computer. 


The Z80 Microprocessor Kit is designed for self-learning how to build and how to program the Z80 microcomputer. The design concept uses a small number of chips, only CPU, ROM, RAM and cheap I/O ports using CMOS latch and buffer IC. The monitor commands are compatible with MPF-1 board plus additional HEX file upload/download commands. The 8-bit dot LED is designed for displaying 8-bit binary number directly. Under program testing, it will be used to display the content of accumulator register. The microcontroller, 89C2051 provides 10ms system tick. It can be used for time trigger event. The kit is suitable for self learning the basic of today's computer with low level programming by HEX code and c programming by sdcc, free c compiler for Z80. 

Hardware schematic of the Z80 Microprocessor Kit (click to enlarge) 

Hardware features:

  • Microprocessor: Z80, 40-pin DIP package
  • Memory: 4kB monitor ROM, 32KB user RAM
  • Memory& I/O Decoder logic: GAL16V8 
  • System tick: 10ms produced by AT89C2051 microcontroller 
  • GPIO: 8-bit LED display
  • DISPLAY: 6-digit 7-segment super bright display 
  • Keypad: 36-key
  • Serial port: 2400 Bit/s RS232 using software UART
  • Expansion slot: 40-pin header
  • LCD bus: 16x2 text display direct bus interface. 

  • The monitor software features:
  • MPF-1 compatible monitor commands and utilities subroutines
  • UPLOAD/DOWNLOAD Intel Hex file. 

Z80 kit with HD44780 compatible LCD

DIY kit

Building a computer is easy and fun. The kit includes PCB, IC chips with sockets, resistors, capacitors, LED, key switches and speaker. The preprogrammed chips are monitor rom, PLD, and microcontroller. The construction manual provides steps to assemble it. The lab book is for self-learning how to program the Z80 with machine language.

Bitcoin and PayPal are accepted, please contact: Wichit Sirichote, wichit.sirichote@gmail.com

Download:Monitor program object file with extra LCD drivers and sdcc compiled subroutines
PLD's JEDEC file
AT89C2051 HEX
SDCC sample c code for Z80 kit
Assembly program files for Lab book
Hardware Schematic
User's Manual
Programming Lab Book
Construction Manual
Keypad Drawing SVG file Draw Freely Inkscape Keypad label can be made easily with sticker paper. HD PIC file, High Definition picture file

Application Notes

AN001 Using sdcc with Z80 Trainer Kit 
AN002 Using PLD as a decoder logic for Z80 Trainer Kit
AN004 Calculator Program for Z80 Kit 

Example programs for Z80 kit

1. Display memory contents on LCD 

Recommended reading for Z80 hardware and instructions.

The Z80 Microcomputer Handook by William Barden Jr.

Write your own monitor program with sccc c compiler 

The new monitor program for Z80 microprocessor kit has been developed using c language and assembly code. The monitor ROM is now located at 0x0000 to 0x1FFF, 8kB. The user RAM is started at location 0x2000-0x9FFF. Most of hex key functions are similar to MPF1. The initial powerup also shows uPF--1. The PLD equations have been modified for the new memory layout. The I/O locations are the same as old version.The monitor source code is available for learning and modification at download section. 

Now with the pre-installed text LCD, the monitor will write the boot message to the LCD automatically.

The current location on power up will be 0x2000. 

Here is the new layout key. Click the image to get vector file. 

The new DUMP key will dump the memory contents to terminal.

Key TEST for #2 will be loopback test. Any typing on terminal will be echoed on screen. 

User may learn the source code and add more test functions easily. 

PLD equation has been modified for the new memory layout.
Name Z80Kit ;
PartNo 16V8 ;
Date 12/1/2014 ;
Revision 01 ;
Designer Engineer ;
Company Fangkhao ;
Assembly None ;
Location ;
Device g16v8a; 

/* *************** INPUT PINS *********************/
PIN 2 = MREQ; 
PIN 3 = IORQ; 
PIN 4 = A6; 
PIN 5 = A7; 
PIN 6 = A12; 
PIN 7 = A13; 
PIN 8 = A14; 
PIN 9 = A15; 
PIN 1 = A0; 
PIN 11 = A1; 

FIELD ADDRESS = [A15..A12]; 

/* *************** OUTPUT PINS *********************/
PIN 12 = ROMCE; 
PIN 13 = RAMCE; 
PIN 14 = GPIO1; 
PIN 15 = SCLK; 
PIN 16 = LCD_E; 
PIN 17 = PORT0; 
PIN 18 = PORT1; 
PIN 19 = PORT2; 

!ROMCE = !MREQ & ADDRESS:[0000..1FFF];

!RAMCE = !MREQ & ADDRESS:[2000..9FFF];

GPIO1 = IORQ # !A6 # A7 # A0 # A1;

SCLK = IORQ # !A6 # !A7 # A0 #A1;

!LCD_E = IORQ # A6 # !A7;

PORT0 = IORQ # A6 # A7 # A0 # A1;

PORT1 = IORQ # A6 # A7 # !A0 # A1;

PORT2 = IORQ # A6 # A7 # A0 # !A1;


16 September 2017, Source code, monitor hex file, PLD file.

Last update
16 September 2017
24 December 2016

<< More MicroProcessor kits