Z80Atmega128
46nori·Z80Atmega128·schematics/KiCad/Z80ATmega128.kicad_pcb
About the Z80Atmega128 PCB
Z80Atmega128 is an open source AVR/Arduino PCB design by 46nori, published on GitHub under the GPL-3.0 license. It is a 4-layer board measuring 170 × 130 mm, with 105 components from 46 distinct parts.
Its main chip is the ATmega128-16AU, from the AVR/Arduino family. Other key parts include the 74HC125, 74AC573, 74HCT574, 74HC04 and 74HC244. By type, the board carries 36 resistors, 24 capacitors, 19 ICs, 7 diodes, 6 connectors and 3 switches.
It belongs with the retro computing designs in this gallery.
From the project
Real Z80A system with I/O emulated by AVR(ATmega128)
This project aims to build a Z80A system and run CP/M-80 natively on it.
You might be wondering why I chose the Z80 today. Well, it happened to be discovered in my collection of electronic components after being tucked away for 30 years. Moreover, it's an original Zilog Z80A from the NMOS process era, likely manufactured around 1980!
However, rather than simply replicating a single-board microcontroller system from the 1980s, I've decided to take a different approach. Reproducing such a system lacks novelty and excitement, not to mention the difficulty of sourcing the necessary parts.

Main components on the Z80Atmega128
Z80Atmega128 bill of materials (BOM)
105 components, 46 distinct parts.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 2 | 74HC125 | DIP-14_W7.62mm_Socket | U1, U8 |
| 1 | 74AC573 | DIP-20_W7.62mm_Socket | U2 |
| 1 | 74HCT574 | DIP-20_W7.62mm_Socket | U3 |
| 1 | 74HC04 | DIP-14_W7.62mm_Socket | U4 |
| 1 | 74HC244 | DIP-20_W7.62mm_Socket | U5 |
| 1 | 74HCT245 | DIP-20_W7.62mm_Socket | U6 |
| 2 | 74HC08 | DIP-14_W7.62mm_Socket | U7, U11 |
| 3 | 74HC32 | DIP-14_W7.62mm_Socket | U9, U10, U13 |
| 1 | 74HC74 | DIP-14_W7.62mm_Socket | U12 |
| 2 | DS1232 | DIP-8_W7.62mm_Socket | U14, U15 |
| 1 | 74HC4050 | DIP-16_W7.62mm_Socket | U16 |
| 1 | LP2950-3.3 | TO-92_Inline_Wide | U17 |
| 2 | AE-CH340E-TYPEC | AE-CH340E-TYPECH | U18, U19 |
| 1 | 16MHz | Resonator_Murata_CSTLSxxxX-3Pin_W5.5mm_H3.0mm | Y1 |
| 1 | 8MHz | Crystal_HC18-U_Vertical | Y2 |
| 1 | AVR-ISP-6 | BoxHeader_2x03_2.54mm | J1 |
| 1 | Z80[1..20] | PinHeader_1x20_P2.54mm_Vertical | J2 |
| 1 | DC 5V | TerminalBlock_Altech_AK300-2_P5.00mm | J3 |
| 1 | Z80[21..40] | PinHeader_1x20_P2.54mm_Vertical | J4 |
| 1 | DC 5V | BarrelJack_Horizontal | J5 |
Show 26 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | Micro_SD_Card_Det_Hirose_DM3AT | microSD_HC_Hirose_DM3AT-SF-PEJM5 | J6 |
| 1 | Z80A | DIP-40_W15.24mm_Socket | CPU1 |
| 1 | ATmega128-16AU | TQFP-64_14x14mm_P0.8mm | CPU2 |
| 1 | Disable Z80 | PinHeader_1x03_P2.54mm_Vertical | JP1 |
| 1 | DC-IN SEL | PinHeader_1x03_P2.54mm_Vertical | JP2 |
| 2 | HM62256BLP | DIP-28_W15.24mm_Socket | SRAM1, SRAM2 |
| 1 | POWER | 2MD1-T1-B4-VS2-Q-E | SW1 |
| 1 | RESET | SW_PUSH_6mm_H7.3mm | SW2 |
| 1 | DIP SW | SW_DIP_SPSTx04_Slide_9.78x12.34mm_W7.62mm_P2.54mm | SW3 |
| 1 | 5V | TestPoint_Loop_D2.50mm_Drill1.0mm | TP1 |
| 1 | GND | TestPoint_Loop_D2.50mm_Drill1.0mm | TP2 |
| 1 | POWER | LED_D3.0mm | D1 |
| 1 | SD Access | LED_D3.0mm | D2 |
| 1 | LED1 | LED_D3.0mm | D3 |
| 1 | LED2 | LED_D3.0mm | D4 |
| 1 | LED3 | LED_D3.0mm | D5 |
| 1 | /BUSACK | LED_D3.0mm | D6 |
| 1 | HALT | LED_D3.0mm | D7 |
| 20 | 0.1u | C_Disc_D3.8mm_W2.6mm_P2.50mm | C1, C2, C3, C4, C5, C6, C7, C8 +12 |
| 1 | 100u | CP_Radial_D5.0mm_P2.50mm | C10 |
| 2 | 22p | C_Disc_D3.8mm_W2.6mm_P2.50mm | C20, C21 |
| 1 | 1u | CP_Radial_D5.0mm_P2.50mm | C24 |
| 27 | 10K | R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | R1, R2, R3, R4, R5, R6, R7, R8 +19 |
| 7 | 1K | R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | R14, R23, R24, R25, R26, R27, R28 |
| 1 | 1M | R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | R17 |
| 1 | 100 | R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | R18 |
Z80Atmega128 design files
The KiCad project lives in the 46nori/Z80Atmega128 repository on GitHub; these links point at the commit this page was built from.
Z80Atmega128: common questions
What microcontroller does the Z80Atmega128 use?
The Z80Atmega128 is built around the ATmega128-16AU, from the AVR/Arduino family.
How big is the Z80Atmega128 PCB?
The Z80Atmega128 measures 170 × 130 mm, has 4 copper layers and is 1.6 mm thick.
How many components are on the Z80Atmega128?
105 components, from 46 distinct parts. The full bill of materials is listed on this page.
Where can I download the Z80Atmega128 design files?
From the 46nori/Z80Atmega128 repository on GitHub, which has the KiCad layout and the schematic; the links under Design files point to each one.
Can I use the Z80Atmega128 design in my own project?
Yes, under the terms of its GPL-3.0 license, which 46nori chose for the repository.
Can I test firmware for the Z80Atmega128 without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug AVR/Arduino firmware against it before you order a PCB.
Similar boards
AVR/Arduino
Redox keyboard
mattdibi
162.2 × 126.5 mm77 parts2LMIT2.0kAVR/Arduino
ModuleV450
stuartpittaway
30 × 61.4 mm39 parts2LCC-BY-NC-4.01.1kAVR/Arduino
V4
stuartpittaway
30 × 50 mm38 parts2LCC-BY-NC-4.01.1kAVR/Arduino
Discipline
coseyfannitutti
304.9 × 122.8 mm170 parts2LCC-BY-NC-4.01.0kAVR/Arduino
Megadesk
gcormier
41.7 × 32.2 mm23 parts2LGPL-3.0818AVR/Arduino
Easyduino Atmega Nano
Hanqaqa
43.4 × 18 mm30 parts4LCERN-OHL-P-2.0746