Skip to the content
4 layers98.7 × 99.9 mmNtscv2, the printed circuit board in 3D

ntsc sync with 74xx logic gates

Size
98.7 × 99.9 mm
Copper layers
4
Thickness
1.6 mm
Parts
225
Nets
352
Pads
1,045
Tracks, vias
5,150, 624
Pours
6
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
4 Oct 2024
Updated
23 Jul 2025

Overview

Ntscv2 is an open-source printed circuit board by xp5-org, from the xp5-org/ntsc-framebuffer repository on GitHub, published under the MIT licence. It is a 4-layer board of 98.7 × 99.9 mm with 225 parts on 352 nets, routed with 5,150 tracks and 624 vias.

It is built around the 74HC244D, 74HC245D and 74AHC08D, with the 74HCT74D, 74HC02 and 74HC04D among its other parts. Its parts include 68 resistors, 49 capacitors, 41 diodes, 38 ICs and 4 transistors.

Main components

8

README

README.md

NTSC framebuffer built around 74x cmos logic gates and an 128k x 8bit sram module

** this is incomplete and not yet built, in-progress **

  • 8 bits for color + brightness
  • 17 bits address
  • transfer data in during vblank period

Tasks remaining:

  • complete memory addressing circuitry
  • check gate timings for brightness & color control paths
  • place adjustment potentiometers for setting PNP transistor bias
  • distribute ceramic capacitors
  • add debug testpads onto pcb

Table of Contents

Current PCB Layout

pcb_infographic
pcb_infographic_3d







hvcounter

This is the core of the circuit, its two 4040 counters, one driving the other. the first counts out 454 which is the number of inactive + active horizontal pixels per row. the output is binary, and with enough AND gates alongside numerous D type flipflops, specific events can be timed out and set to form the sync timings needed

hv_counter_schematicblock









HRESET

Screenshot 2025-03-30 at 7 25 06 PM 256 + 128 + 64 + 4 + 2 counts out 454 horizontal & sets HRESET flag to high 5V and on the next clock pulse from not the timer we are resetting but the actual clock source









VRESET

Screenshot 2025-03-30 at 7 37 49 PM vreset is 1V + 4V + 256V for 261 vertical lines before resetting the counter

vertical reset is checked at the end of the horizontal scanline, so we use _HRESET as the clock for vreset - the condition of 261V lines is set only when _HRESET is ready

HBLANK-HSYNC

Screenshot 2025-03-30 at 7 38 18 PM Screenshot 2025-03-30 at 7 38 24 PM

the circuit starts off with some DC bias to give a sync tip from the "previous" scanline, and then at H2 + H8 HBLANK-ENABLE flop is cycled on. When this is on, elsewhere in the circuit the bias is cut off and gives us the horizontal sync tip

When H2 + H8 + H32 is seen (H42) , HBLANK_DISABLE is turned on, which is a 2nd flop "HSYNC B" Screenshot 2025-03-30 at 8 22 18 PM

this lets me chain the hsync events together with explicit start and stop events, block them from re-triggering









VBLANK-VSYNC

Screenshot 2025-03-30 at 7 39 06 PM









COLORBURST

Screenshot 2025-03-30 at 7 39 46 PM Screenshot 2025-03-30 at 7 39 58 PM









COLORSELECT

Screenshot 2025-03-30 at 7 41 10 PM Screenshot 2025-03-30 at 7 41 23 PM Screenshot 2025-03-30 at 7 41 27 PM

the 4-16 mux is often used for memory addressing and is only available in active-low, so in this case im using NOR gates to invert the signal . the MUX outputs are always high-inactive, so all NOR gates except for the active one are getting a positive voltage which turns them all off, exxcept for the active-low received from the MUX, this NOR gate switches on and provides a color clock at specific delays introduced by the 74AHC451's 4-5ns gate propigation delay







BRIGHTNESS

Screenshot 2025-03-30 at 7 42 30 PM Screenshot 2025-03-30 at 7 42 13 PM









MEMORYANDBUS

Screenshot 2025-03-30 at 7 43 53 PM Screenshot 2025-03-30 at 7 43 57 PM







outputamp

The output-amplifier interfaces the low-current, low impedience CMOS or TTL logic with the 1.4v, 75-ohm composite.

HSYNC, Colorburst, and Pixel Input are given to the amplifiers input. Its first passed through a 2n7000 N-channel mosfet which inverts the signal. This drives a PNP transistor to return it back to positive output, this allowed the GND of the composite-out to also be the same reference plane as the GND of this circuit (pnp could be omitted and use only mosfet with resistor network and floating Gnd)

This has two additional mosfets for saturation bias and output voltage reduction (brightness). The saturation mosfet biases the PNPs turnoff point "upwards" so that its off point rises above what hsync/hblank would have been . this serves the purpose of adding DC bias to reduce the modulation of the output without affecting the output peak (overall brightness). in summary, this is an amplifier which can control the height of the bottoms and tops of the wave output separately. its needed for color, but could dispose of half the mosfets if it were used for monochrome

Screenshot 2025-03-30 at 8 08 37 PM









Components

  • 74HC74 D-FLOP
  • 74HC08 AND
  • 74HC02 NOR
  • 74hc244 buffers
  • 74hc154 4-to-16 mux
  • 74ahc541 inv buffers (color delay line)
  • CD4040 12 bit counter
  • 14.318mhz crystal
  • 128x8 sram HM628128DLP-5
  • 2n5087 pnp or equivalent
  • 2n7000 mosfet
  • 7805 regulator









simtools

LTSpice Model of Output Amplifier

Digital Logic simulation

output amplifier in ltspice, showing peak brightness vs minimum brightness pixels , there is some distortion in the sim. Some gates are switching on/off before others and causing brief voltage spikes, this might be ignorable on the physical circuit ill have to go through the circuit flow to see what the issue is image

Parts

225
QtyValueFootprintReferences
37CCapacitor_SMD:C_0603_1608MetricC10, C11, C12, C13, C14, C15, C17, C19, C20, C21, C22, C23, C24, C25, C26, C27 +21
3610kResistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolderR30, R33, R35, R36, R37, R38, R39, R40, R41, R42, R43, R44, R45, R46, R47, R48 +20
311N4148Diode_SMD:D_SOD-323D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23, D24, D25 +15
17RResistor_SMD:R_0603_1608MetricR10, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24, R25, R26, R27, R28, R29 +1
101N4448Diode_SMD:D_SOD-323D1, D2, D3, D4, D5, D36, D37, D38, D41, D42
10RResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_HorizontalR2, R3, R4, R5, R6, R7, R11, R12, R13, R14
820uF 16vCapacitor_SMD:C_1206_3216MetricC42, C43, C44, C45, C46, C47, C48, C49
874HC244Package_SO:TSSOP-20_4.4x6.5mm_P0.65mmU5, U6, U7, U12, U13, U27, U29, U31
774AHC08DPackage_SO:SO-14_3.9x8.65mm_P1.27mmU1, U2, U3, U4, U15, U16, U38
574HCT74Package_SO:SO-14_3.9x8.65mm_P1.27mmU8, U9, U10, U11, U19
44040Package_SO:SOIC-16W_5.3x10.2mm_P1.27mmU18, U21, U23, U24
474HC02Package_SO:SOIC-14_3.9x8.7mm_P1.27mmU32, U33, U36, U37
4MountingHole_PadMountingHole:MountingHole_2.7mm_M2.5_DIN965_PadH1, H2, H3, H4
310kResistor_SMD:R_0603_1608MetricR31, R32, R34
32N7000Package_TO_SOT_THT:TO-92_InlineQ1, Q2, Q4
3R_Potentiometermysymbols_footprint:TRIM_3362P-1-100LFRV1, RV2, RV4
210uF 25VCapacitor_SMD:C_1206_3216MetricC50, C51
215pFCapacitor_SMD:C_0603_1608MetricC1, C2
274HC04Package_SO:SOIC-14_3.9x8.7mm_P1.27mmU22, U25
274HC154PWPackage_SO:TSSOP-24_4.4x7.8mm_P0.65mmU26, U30
274HC540D_653Package_SO:SOIC-20W_7.5x12.8mm_P1.27mmU34, U35
1100Rmysymbols_footprint:TRIM_3362P-1-100LFRV3
16kResistor_SMD:R_0603_1608MetricR1
174HC244Package_SO:SSOP-20_4.4x6.5mm_P0.65mmU14
174HC245DPackage_SO:TSSOP-20_4.4x6.5mm_P0.65mmU20
1BC327Package_TO_SOT_THT:TO-92_InlineQ3
1CBENmysymbols_footprint:TestPoint_Pad_0.8x0.8mmTP85
1CB_DISmysymbols_footprint:TestPoint_Pad_0.8x0.8mmTP86
1CB_Sourcemysymbols_footprint:TestPoint_Pad_0.8x0.8mmTP5
1Conn_01x02Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ3
1Conn_02x20_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x20_P2.54mm_VerticalJ1
1Conn_CoaxialConnector_Coaxial:BNC_TEConnectivity_1478035_HorizontalJ2
1CrystalCrystal:Crystal_HC49-U_VerticalY1
1FIELD0mysymbols_footprint:TestPoint_Pad_0.8x0.8mmTP88
1FIELD1mysymbols_footprint:TestPoint_Pad_0.8x0.8mmTP87
1HM628128ALFP-5Package_DIP:DIP-32_W15.24mmU17
1HRESETmysymbols_footprint:TestPoint_Pad_0.8x0.8mmTP82
1HSYNCAmysymbols_footprint:TestPoint_Pad_0.8x0.8mmTP80
1HSYNCBmysymbols_footprint:TestPoint_Pad_0.8x0.8mmTP79
1HSYNC_inputmysymbols_footprint:TestPoint_Pad_0.8x0.8mmTP7
1LM7805_TO220Package_TO_SOT_THT:TO-220-3_VerticalU28
1PIXELDRAWENmysymbols_footprint:TestPoint_Pad_0.8x0.8mmTP84
1Pixeldrive_inputmysymbols_footprint:TestPoint_Pad_0.8x0.8mmTP6
1VBLANKmysymbols_footprint:TestPoint_Pad_0.8x0.8mmTP81
1VRESETmysymbols_footprint:TestPoint_Pad_0.8x0.8mmTP83
1~Resistor_SMD:R_0603_1608MetricR8

More from xp5-org/ntsc-framebuffer

2
  • 2 layers189.8 × 130.6 mmNtscv2, the printed circuit board in 3D

    Ntscv2

    xp5-org/ntsc-framebuffer

    ntsc sync with 74xx logic gates

    140 parts1MIT
  • 2 layersNtsc syncgen, the printed circuit board in 3D

    Ntsc syncgen

    xp5-org/ntsc-framebuffer

    ntsc sync with 74xx logic gates

    110 parts1MIT

Similar boards

  • 2 layersZ80 ATMEGA, the printed circuit board in 3D

    Z80 ATMEGA

    ozw1z5rd/home-computer-group

    Home Computer Group files

    37 parts3
  • 4 layers306 × 244 mmPg09-system, the printed circuit board in 3D

    Pg09-system

    thorpej/pg09-system

    6809 Playground - main system

    167 parts13BSD-2-Clause
  • 4 layers100 × 100 mm74HCT6526, the printed circuit board in 3D

    74HCT6526

    dmolinagarcia/74HCT6526

    74HCT6526

    66 parts14
  • 2 layers284.9 × 96.5 mmFella, the printed circuit board in 3D

    Fella

    agkaminski/FellaPC

    DIY 6502 all-in-keyboard personal computer

    115 parts2CC0-1.0
  • 4 layers188 × 128.3 mmZAK180, the printed circuit board in 3D

    ZAK180

    agkaminski/ZAK180

    DIY all-in-keyboard computer featuring Z180 and floppy drive

    140 parts
  • 2 layers259.7 × 80 mmSteuereinheit, the printed circuit board in 3D

    Steuereinheit

    stonedDiscord/Steuereinheit

    Steuereinheit 68000

    348 parts
  • 2 layers180 × 67.5 mmNEW KANJI ROM, the printed circuit board in 3D

    NEW KANJI ROM

    bml3mk5/S1KanjiRomJIS2

    JIS Level 2 Kanji ROM Card for HITACHI MB-S1

    61 parts

Questions

How big is the Ntscv2 PCB?

It measures 98.7 × 99.9 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Ntscv2 use?

225 parts, built around the 74HC244D, 74HC245D, 74AHC08D and 74HCT74D. 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 Ntscv2 KiCad files?

From the xp5-org/ntsc-framebuffer repository on GitHub, at the commit this page was made from: the board is ntscv2/ntscv2.kicad_pcb and its schematic ntscv2/ntscv2.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Ntscv2 design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).