Skip to the content
PCBKitNew board
2 layers124.3 × 82.4 mmTK2000 VDPboard, the printed circuit board in 3D

TK2000 VDPboard

frubem/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

5

README

README.md

TK2000 VDP Board

Rev. 0 assembled

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

PCBWay_logo

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!

Floppy drawing shown in multicolor mode on a Trinitron TV

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

ComponentQtyType / ValueNotes
C1-C4,C6,C9,C11-C139100nF/16V+ 5.0mm ceramic caps
C5110uF/16V+ 2.5mm electrolytic capacitor
C7,C8220pF/16V+ C0G 2.5mm ceramic caps
C141470pF/16V+ 5.0mm ceramic caps
C1015-50pF 5.0mm variable capacitorNon-critical. e.g. https://www.aliexpress.com/item/32863617722.html
D11BAT46 DO-35Any Schottky is probably going to work perfectly fine
FB11Ferrite bead, 10.0mm
J112x08 2.54mm pinheader
J21Yellow RCAhttps://www.aliexpress.com/item/1005006135848173.html
J311x04 2.54mm pinheaderOptional
JP111x03 2.54mm pinheader
JP211x02 2.54mm pinheader
JP311x02 2.54mm pinheaderOptional
Q112N2222A TO-92
R1110K 1/4W resistor, THT
R210-150 1/4W resistor, THTYou can control the brightness of the picture with this. A resistor between 120-150 ohm gives a signal in line with composite specs
R31470 1/4W resistor, THT
R4175 1/4W resistor, THT
Y1110.7386Mhz HC-49 crystalCrystal with p/n 774-MP107-E on Mouser works fine.
U1174LS138 DIP-16HCT variants work fine
U21TMS9918A DIP-40
U3174LS00 DIP-14HCT variants work fine
U4174HCT04 DIP-14Use an HCT variant
U5, U6, U7374HCT574 DIP-20Use an HCT variant
U8132K x 8 SRAM, DIP-28Rev. 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.

text
      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.

Negative spike on /CSR

470pF capacitor installed on underside

Rev. 1 has space for the capacitor directly on the PCB.

Parts

44
QtyValueFootprintReferences
9100nFCapacitor_THT:C_Disc_D6.0mm_W2.5mm_P5.00mmC1, C2, C3, C4, C6, C9, C11, C12, C13
374HCT574Package_DIP:DIP-20_W7.62mmU5, U6, U7
220pFCapacitor_THT:C_Disc_D3.0mm_W2.0mm_P2.50mmC7, C8
10Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR2
110.7386MhzCrystal:Crystal_HC49-U_Horizontal_1EP_style2Y1
110KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1
110uFCapacitor_THT:CP_Radial_D5.0mm_P2.50mmC5
12N2222APackage_TO_SOT_THT:TO-92Q1
132K x 8 SRAMTK2000:DIP-28_DoubleWU8
1470Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR3
1470pFCapacitor_THT:C_Disc_D6.0mm_W2.5mm_P5.00mmC14
15-50pFCustom_Components:Variable_Cap_P5.00mmC10
174HCT04Package_DIP:DIP-14_W7.62mmU4
174LS00Package_DIP:DIP-14_W7.62mmU3
174LS138Package_DIP:DIP-16_W7.62mmU1
175Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR4
1BAT46Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1
1COLTestPoint:TestPoint_Loop_D1.80mm_Drill1.0mm_BeadedTP2
1DEVSEL JumperConnector_PinHeader_2.54mm:PinHeader_2x08_P2.54mm_VerticalJ1
1EXT VDPConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ3
1Expansion EdgeTK2000:Conector EdgeP1
1FerriteBead_SmallInductor_THT:L_Axial_L5.0mm_D3.6mm_P10.00mm_Horizontal_Murata_BL01RN1A2A2FB1
1RAM A14Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJP3
1TMS9918APackage_DIP:DIP-40_W15.24mmU2
1VDP_R~{W}TestPoint:TestPoint_Loop_D1.80mm_Drill1.0mm_BeadedTP4
1VIDEO OUTCustom_Components:Merlin_RCAJ2
1~{CAS}TestPoint:TestPoint_Loop_D1.80mm_Drill1.0mm_BeadedTP1
1~{CSR}TestPoint:TestPoint_Loop_D1.80mm_Drill1.0mm_BeadedTP7
1~{CSW}TestPoint:TestPoint_Loop_D1.80mm_Drill1.0mm_BeadedTP8
1~{CS_VDP}TestPoint:TestPoint_Loop_D1.80mm_Drill1.0mm_BeadedTP6
1~{INT} SelectorConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJP1
1~{RAS}TestPoint:TestPoint_Loop_D1.80mm_Drill1.0mm_BeadedTP3
1~{RESET} EnableConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJP2

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 mmSg1000, the printed circuit board in 3D

    Sg1000

    barbeque/sg1000

    A homebrew Sega SG-1000, with an eye towards SC-3000 compatibility

    89 parts33
  • 2 layers99.1 × 49.9 mmTMS9918, the printed circuit board in 3D

    TMS9918

    jblang/TMS9918A

    TMS9918A video card for RC2014

    36 parts145
  • 2 layersLM80C R6, the printed circuit board in 3D

    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 mmCSCvon8, the printed circuit board in 3D

    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 mmTMS9918, the printed circuit board in 3D

    TMS9918

    michalin/TMS9918_Arduino

    8-bit retro graphic card with TMS9918 and Arduino library

    22 parts53GPL-3.0
  • 2 layers63.6 × 85.7 mmTMS9918, the printed circuit board in 3D

    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 mmRevision 4, the printed circuit board in 3D

    Revision 4

    FredericSegard/MH6502_v4

    This is my masterpiece MH6502, 4th revision.

    121 parts3
  • 2 layers100 × 75 mmKZ80-TMS9918A, the printed circuit board in 3D

    KZ80-TMS9918A

    kuninet/KZ80-TMS9918A

    KZ80シリーズ SBC8080バスにつながるTMS9918Aビデオボードプロジェクト

    43 parts2MIT