The official programmer from Zilog enables flashing and debugging of the eZ80, but at cost of over $100 USD is certainly not a cheap option.
An alternative solution, detailed here, is to use the low cost Raspberry Pi Pico (original V1) to flash your eZ80.
To make a Pi Pico Programmer, we need to do the following:
There are 2 downloads available. tagged Releases and general releases. The tagged releases will have more testing conducted compared to the general releases
programmer.uf2 file to the root of the mounted storage device.| Pi Pico | ZDI Interface |
|---|---|
| GPIO 15 | ZCL |
| GPIO 14 | ZDA |
| GPIO 16 | RESET |
| GPIO 17 | ZDI’s PWR (3V3) |
| GND * | GND * |
* Make sure you have short leads, and that the 2 ground pins are connected to ground pins of the Pi Pico.
The Revisions V1.7 has incorrect silkscreen naming for main signal pins - (TDI -> ZDA and TCK -> ZCL)
When looking at the front of the eZ80 CPU module, the pin layout is as follows:
| ZDA | GND |
| ZCK | GND |
| RESET | 3V3 |
You can use the images below, and follow the colours the ensure you have correct wiring:
| Yellow - ZDA - GPIO 14 | Orange - GND |
| Green - ZCK - GPIO 15 | Red - GND |
| Blue - RESET - GPIO 16 | Brown - 3V3 - GPIO 17 |
ZDI Connection ......: (PWR: FAIL, RST: FAIL, ZDA: FAIL, ZCL: FAIL)
ZDI Connection OK: (PWR: OK, RST: OK, ZDA: OK, ZCL: OK)
eZ80 Detected: ID 0007 Rev AAitialisation...
Available Firmware Version: 0.1.2.0 (2024-10-03)
ZDI>
FLASHREBOOT to start it.
To see your retro computer, you will need to have the UART serial connection of the Interface Module connected to a terminal application.
Within your serial connection to the Pi Pico Programmer, you can issue a number of commands.
help Will show the list of commands available
The current implemented commands are:
Commands:
help or h
Display this help message
status or s
Display the ZDI status register (ZDI_STAT)
flash [upload]
Flash the eZ80 with a new firmware image
default loads the firmware stored on Pi Pico
upload: expects an intel hex file to be streamed over stdin
verify [upload]
Read the current firmware version image
and compare to verify correctness
upload: expects an intel hex file to be streamed over stdin
break or b
break the ez80
continue or c
continue the ez80
reset
reset the ez80 (internal only reset line is not triggered)
mode or m [ADL|Z80]
Set the CPU mode to ADL or Z80
led [on|off]
Configure PC0 as output and turn led on or off
rd or read [ADDR]
Read bytes from memory
str [ADDR]
Read a null terminated string from memory
reboot
Reset and restart the eZ80 firmware
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.