

TK2000 VDPboard
Forked from https://codeberg.org/hkzlab/TK2000_VDPboard
- Size
- 124.3 × 82.4 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 44
- Nets
- 115
- Pads
- 320
- Tracks, vias
- 933, 134
- Pours
- 5
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 3 Aug 2026
- Updated
- 3 Aug 2026
Overview
TK2000 VDPboard is an open-source printed circuit board by frubem, from the frubem/TK2000_VDPboard repository on GitHub. It is a 2-layer board of 124.3 × 82.4 mm with 44 parts on 115 nets, routed with 933 tracks and 134 vias.
It is built around the 74HCT574D, 74HCT04D and 74LS00SC, with the 2N2222A and BAT46 among its other parts. Its parts include 14 capacitors, 8 ICs, 4 resistors, 4 connectors and 1 diode.
Main components
574HCT574D
SO-20-300mil-40℃~+125℃ 1 18ns@4.5V,50pF 3.5pF 3ns 4.5V~5.5V 5ns 69MHz 6mA 6mA 74HCT Series 8 8uA D-Type Rising Edge Tri-State SOIC-20-300mil Flip Flops ROHSNexperiaFlip Flops74HCT04D
SO-14-40℃~+125℃ 1 19ns@4.5V,50pF 2V 2uA 3.7V 4.5V~5.5V 400mV 4mA 4mA 6 74HCT 800mV SO-14 Inverters ROHSNexperiaInverters74LS00SC
-0℃~+70℃ 15ns@5V,50pF 2 2.7V 2V 4 4.75V~5.25V 400uA 500mV 74LS 800mV 8mA NAND Gate - Logic Gates ROHSTexas InstrumentsLogic Gates2N2222A
TO-92-55℃~+150℃ 1 NPN 100MHz 100nA 400 40V 5V 600mA 600mV 625mW NPN TO-92 Bipolar (BJT) ROHSSlkorBipolar (BJT)BAT46
DO-35Schottky DiodesSTMicroelectronics
README
README.mdTK2000 VDP Board

DISCLAIMER
Any use of this project is under your own responsibility. You will be responsible of checking the correct construction and functionality of your board. By using this project You will agree that I cannot be held responsible if it will destroy any of your devices, damage your computer, burn down your house or whatever.
Sponsorship

This project is kindly sponsored by PCBWay. PCBWay specializes in manufacturing high-quality PCBs and makes them affordable to hobbyist and professionals alike.
The range of services they offer include PCB prototyping, assembly, instant quotes for your order, a verification process by a team of experts and an easy to use, hassle-free order process.
I'm grateful to PCBWay for the help in evolving and testing this project. You can order the currently released revisions of the board from them, see the link below!
Introduction
The VDP board adds a TMS9918A Video Display Processor to the TK2000 computer, featuring colors, sprites and fascinatingly low resolution!

This board is meant to be used in the TK2000 bus extender and is part of my project to build a set of cards for the TK2000 computer.
You can build yourself a TK2000 computer using files from this repo and following my build notes.
Support
If you wish to support me in building new hardware and software for old machines, throw a few euros in my direction via Ko-Fi ☕!
Hardware
The board was designed with KiCad EDA.
Bill of Materials
| Component | Qty | Type / Value | Notes |
|---|---|---|---|
| C1-C4,C6,C9,C11-C13 | 9 | 100nF/16V+ 5.0mm ceramic caps | |
| C5 | 1 | 10uF/16V+ 2.5mm electrolytic capacitor | |
| C7,C8 | 2 | 20pF/16V+ C0G 2.5mm ceramic caps | |
| C14 | 1 | 470pF/16V+ 5.0mm ceramic caps | |
| C10 | 1 | 5-50pF 5.0mm variable capacitor | Non-critical. e.g. https://www.aliexpress.com/item/32863617722.html |
| D1 | 1 | BAT46 DO-35 | Any Schottky is probably going to work perfectly fine |
| FB1 | 1 | Ferrite bead, 10.0mm | |
| J1 | 1 | 2x08 2.54mm pinheader | |
| J2 | 1 | Yellow RCA | https://www.aliexpress.com/item/1005006135848173.html |
| J3 | 1 | 1x04 2.54mm pinheader | Optional |
| JP1 | 1 | 1x03 2.54mm pinheader | |
| JP2 | 1 | 1x02 2.54mm pinheader | |
| JP3 | 1 | 1x02 2.54mm pinheader | Optional |
| Q1 | 1 | 2N2222A TO-92 | |
| R1 | 1 | 10K 1/4W resistor, THT | |
| R2 | 1 | 0-150 1/4W resistor, THT | You can control the brightness of the picture with this. A resistor between 120-150 ohm gives a signal in line with composite specs |
| R3 | 1 | 470 1/4W resistor, THT | |
| R4 | 1 | 75 1/4W resistor, THT | |
| Y1 | 1 | 10.7386Mhz HC-49 crystal | Crystal with p/n 774-MP107-E on Mouser works fine. |
| U1 | 1 | 74LS138 DIP-16 | HCT variants work fine |
| U2 | 1 | TMS9918A DIP-40 | |
| U3 | 1 | 74LS00 DIP-14 | HCT variants work fine |
| U4 | 1 | 74HCT04 DIP-14 | Use an HCT variant |
| U5, U6, U7 | 3 | 74HCT574 DIP-20 | Use an HCT variant |
| U8 | 1 | 32K x 8 SRAM, DIP-28 | Rev. 1 also supports skinny variants |
Notes
I found about this the hard way: the VDP internal state machine gets tripped by the dummy reads the 6502 generates while performing absolute + indexed access, so, unless you want to suffer, use absolute addressing to access the memory mapped ports on this board.
Configuring the address
The address for the I/O ports can be changed by jumpering the VIA 1/VIA 2 headers to the middle row.
C C C C C C C C
0 0 0 0 0 0 0 0
8 9 A B C D E F
x x x x x x x x
J1 . . . . | . . .
. . . . | . . .
^ default
JP1 is set by default with 1-2 closed (/IRQ)
JP2 is closed by default (/RES is connected) The port at 0xC0x0 will be the memory port (MODE pin set at 0), while the 0xC0x1 port will access the registers.
Ordering the boards
You can order the board for this project at PCBWay and support me or download the gerbers and have them printed wherever you like!!!
Fixes
Rev. 0
It is advisable to install a 470pF or similar capacitor between pins 7 and 9 of U3.
This adds a delay to the /CS from the '138 decoder, avoiding the generation of a spurious spike on the /CSR signal, caused by propagation delay in U3.


Rev. 1 has space for the capacitor directly on the PCB.
Parts
44| Qty | Value | Footprint | References |
|---|---|---|---|
| 9 | 100nF | Capacitor_THT:C_Disc_D6.0mm_W2.5mm_P5.00mm | C1, C2, C3, C4, C6, C9, C11, C12, C13 |
| 3 | 74HCT574 | Package_DIP:DIP-20_W7.62mm | U5, U6, U7 |
| 2 | 20pF | Capacitor_THT:C_Disc_D3.0mm_W2.0mm_P2.50mm | C7, C8 |
| 1 | 0 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R2 |
| 1 | 10.7386Mhz | Crystal:Crystal_HC49-U_Horizontal_1EP_style2 | Y1 |
| 1 | 10K | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1 |
| 1 | 10uF | Capacitor_THT:CP_Radial_D5.0mm_P2.50mm | C5 |
| 1 | 2N2222A | Package_TO_SOT_THT:TO-92 | Q1 |
| 1 | 32K x 8 SRAM | TK2000:DIP-28_DoubleW | U8 |
| 1 | 470 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R3 |
| 1 | 470pF | Capacitor_THT:C_Disc_D6.0mm_W2.5mm_P5.00mm | C14 |
| 1 | 5-50pF | Custom_Components:Variable_Cap_P5.00mm | C10 |
| 1 | 74HCT04 | Package_DIP:DIP-14_W7.62mm | U4 |
| 1 | 74LS00 | Package_DIP:DIP-14_W7.62mm | U3 |
| 1 | 74LS138 | Package_DIP:DIP-16_W7.62mm | U1 |
| 1 | 75 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R4 |
| 1 | BAT46 | Diode_THT:D_DO-35_SOD27_P7.62mm_Horizontal | D1 |
| 1 | COL | TestPoint:TestPoint_Loop_D1.80mm_Drill1.0mm_Beaded | TP2 |
| 1 | DEVSEL Jumper | Connector_PinHeader_2.54mm:PinHeader_2x08_P2.54mm_Vertical | J1 |
| 1 | EXT VDP | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J3 |
| 1 | Expansion Edge | TK2000:Conector Edge | P1 |
| 1 | FerriteBead_Small | Inductor_THT:L_Axial_L5.0mm_D3.6mm_P10.00mm_Horizontal_Murata_BL01RN1A2A2 | FB1 |
| 1 | RAM A14 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | JP3 |
| 1 | TMS9918A | Package_DIP:DIP-40_W15.24mm | U2 |
| 1 | VDP_R~{W} | TestPoint:TestPoint_Loop_D1.80mm_Drill1.0mm_Beaded | TP4 |
| 1 | VIDEO OUT | Custom_Components:Merlin_RCA | J2 |
| 1 | ~{CAS} | TestPoint:TestPoint_Loop_D1.80mm_Drill1.0mm_Beaded | TP1 |
| 1 | ~{CSR} | TestPoint:TestPoint_Loop_D1.80mm_Drill1.0mm_Beaded | TP7 |
| 1 | ~{CSW} | TestPoint:TestPoint_Loop_D1.80mm_Drill1.0mm_Beaded | TP8 |
| 1 | ~{CS_VDP} | TestPoint:TestPoint_Loop_D1.80mm_Drill1.0mm_Beaded | TP6 |
| 1 | ~{INT} Selector | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | JP1 |
| 1 | ~{RAS} | TestPoint:TestPoint_Loop_D1.80mm_Drill1.0mm_Beaded | TP3 |
| 1 | ~{RESET} Enable | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | JP2 |
Questions
How big is the TK2000 VDPboard PCB?
It measures 124.3 × 82.4 mm and has 2 copper layers, 1.6 mm thick.
What parts does the TK2000 VDPboard use?
44 parts, built around the 74HCT574D, 74HCT04D, 74LS00SC and 2N2222A. 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 TK2000 VDPboard KiCad files?
From the frubem/TK2000_VDPboard repository on GitHub, at the commit this page was made from: the board is TK2000_VDPBoard.kicad_pcb and its schematic TK2000_VDPBoard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the TK2000 VDPboard design in my own project?
Its repository states no licence, so its author keeps all rights: ask frubem before reusing the design.
Similar boards
- 2 layers162.2 × 134.6 mm

- 2 layers99.1 × 49.9 mm

- 2 layers

LM80C R6
leomil72/LM80C
A Z80-based homebrew computer withTMS9918, AY-3-8910, Z80 CTC, Z80 PIO, and Z80 SIO
153 parts123GPL-3.0 - 2 layers249.9 × 89.4 mm

CSCvon8
DoctorWkt/CSCvon8
A crazy small 8-bit CPU built with only seventeen 7400-series chips.
55 parts112GPL-3.0 - 2 layers72.8 × 75.6 mm

TMS9918
michalin/TMS9918_Arduino
8-bit retro graphic card with TMS9918 and Arduino library
22 parts53GPL-3.0 - 2 layers63.6 × 85.7 mm

TMS9918
MarkJelic/TEC-1G
The new incarnation of the 40 year old Z80 trainer computer - Now with Fulisik LEDs!
31 parts45GPL-3.0 - 2 layers238 × 174 mm

- 2 layers100 × 75 mm
