

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
874HC244D
SO-20-300mil-40℃~+125℃ 160uA 2 2V~6V 4 6mA 6mA 74HC 9ns@5V,15pF Tri-State Unidirectional SOIC-20-300mil Buffers, Drivers, Receivers, Transceivers ROHSNexperiaBuffers, Drivers, Receivers, Transceivers74HC245D
SO-20-300mil-40℃~+125℃ 1 160uA 2V~6V 7.8mA 7.8mA 74HC 8 9ns@4.5V,50pF Bidirectional Tri-State SOIC-20-300mil Buffers, Drivers, Receivers, Transceivers ROHSNexperiaBuffers, Drivers, Receivers, Transceivers74AHC08D
SOIC-14-40℃~+125℃ 1.5V~3.85V 1.9V、2.9V、4.4V 2 2V~5.5V 2uA 4 500mV~1.65V 550mV 7.9ns@5V,50pF 74AHC Series 8mA 8mA AND Gate SOIC-14 Logic Gates ROHSNexperiaLogic Gates74HCT74D
SOIC-14-40℃~+125℃ 1 2 3.5pF 3ns 4.5V~5.5V 40uA 44ns@4.5V,50pF 4mA 4mA 59MHz 5ns 74HCT Series Asynchronous Complementary D-Type Rising Edge Set and Reset SO-14 Flip Flops ROHSNexperia74 Series74HC02
-- Logic Gates ROHSonsemiLogic Gates74HC04D
SOP-14-40℃~+125℃ 1 1.5V~4.2V 1.9V、3.7V、5.2V 100mV、400mV、400mV 14ns@6V,50pF 2V~6V 2uA 5.2mA 5.2mA 500mV~1.8V 6 74HC SOIC-14 Inverters ROHSNexperiaInverters74HC154PW
TSSOP-24-40℃~+125℃ 13ns@4.5V,50pF 2V~6V 4/16 5.2mA 5.2mA 74HC 8uA Decoder Single Supply TSSOP-24 Signal Switches, Multiplexers, Decoders ROHSNexperiaSignal Switches, Multiplexers, DecodersBC327
TO-921 PNP 100MHz 45V 5V 625mW 630 700mV 800mA PNP TO-92 Bipolar (BJT) ROHSDDFBipolar (BJT)
README
README.mdNTSC 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
- H&V Counter
- HRESET
- VRESET
- HBLANK
- VBLANK
- COLORBURST
- COLORSELECT
- BRIGHTNESS
- MEMORYANDBUS
- Output Amplifier
- Components selection
- Simulating
Current PCB Layout
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
HRESET
VRESET
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
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"
this lets me chain the hsync events together with explicit start and stop events, block them from re-triggering
VBLANK-VSYNC
COLORBURST
COLORSELECT
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
MEMORYANDBUS
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
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
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
Parts
225| Qty | Value | Footprint | References |
|---|---|---|---|
| 37 | C | Capacitor_SMD:C_0603_1608Metric | C10, C11, C12, C13, C14, C15, C17, C19, C20, C21, C22, C23, C24, C25, C26, C27 +21 |
| 36 | 10k | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R30, R33, R35, R36, R37, R38, R39, R40, R41, R42, R43, R44, R45, R46, R47, R48 +20 |
| 31 | 1N4148 | Diode_SMD:D_SOD-323 | D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23, D24, D25 +15 |
| 17 | R | Resistor_SMD:R_0603_1608Metric | R10, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24, R25, R26, R27, R28, R29 +1 |
| 10 | 1N4448 | Diode_SMD:D_SOD-323 | D1, D2, D3, D4, D5, D36, D37, D38, D41, D42 |
| 10 | R | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal | R2, R3, R4, R5, R6, R7, R11, R12, R13, R14 |
| 8 | 20uF 16v | Capacitor_SMD:C_1206_3216Metric | C42, C43, C44, C45, C46, C47, C48, C49 |
| 8 | 74HC244 | Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm | U5, U6, U7, U12, U13, U27, U29, U31 |
| 7 | 74AHC08D | Package_SO:SO-14_3.9x8.65mm_P1.27mm | U1, U2, U3, U4, U15, U16, U38 |
| 5 | 74HCT74 | Package_SO:SO-14_3.9x8.65mm_P1.27mm | U8, U9, U10, U11, U19 |
| 4 | 4040 | Package_SO:SOIC-16W_5.3x10.2mm_P1.27mm | U18, U21, U23, U24 |
| 4 | 74HC02 | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U32, U33, U36, U37 |
| 4 | MountingHole_Pad | MountingHole:MountingHole_2.7mm_M2.5_DIN965_Pad | H1, H2, H3, H4 |
| 3 | 10k | Resistor_SMD:R_0603_1608Metric | R31, R32, R34 |
| 3 | 2N7000 | Package_TO_SOT_THT:TO-92_Inline | Q1, Q2, Q4 |
| 3 | R_Potentiometer | mysymbols_footprint:TRIM_3362P-1-100LF | RV1, RV2, RV4 |
| 2 | 10uF 25V | Capacitor_SMD:C_1206_3216Metric | C50, C51 |
| 2 | 15pF | Capacitor_SMD:C_0603_1608Metric | C1, C2 |
| 2 | 74HC04 | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U22, U25 |
| 2 | 74HC154PW | Package_SO:TSSOP-24_4.4x7.8mm_P0.65mm | U26, U30 |
| 2 | 74HC540D_653 | Package_SO:SOIC-20W_7.5x12.8mm_P1.27mm | U34, U35 |
| 1 | 100R | mysymbols_footprint:TRIM_3362P-1-100LF | RV3 |
| 1 | 6k | Resistor_SMD:R_0603_1608Metric | R1 |
| 1 | 74HC244 | Package_SO:SSOP-20_4.4x6.5mm_P0.65mm | U14 |
| 1 | 74HC245D | Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm | U20 |
| 1 | BC327 | Package_TO_SOT_THT:TO-92_Inline | Q3 |
| 1 | CBEN | mysymbols_footprint:TestPoint_Pad_0.8x0.8mm | TP85 |
| 1 | CB_DIS | mysymbols_footprint:TestPoint_Pad_0.8x0.8mm | TP86 |
| 1 | CB_Source | mysymbols_footprint:TestPoint_Pad_0.8x0.8mm | TP5 |
| 1 | Conn_01x02 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J3 |
| 1 | Conn_02x20_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x20_P2.54mm_Vertical | J1 |
| 1 | Conn_Coaxial | Connector_Coaxial:BNC_TEConnectivity_1478035_Horizontal | J2 |
| 1 | Crystal | Crystal:Crystal_HC49-U_Vertical | Y1 |
| 1 | FIELD0 | mysymbols_footprint:TestPoint_Pad_0.8x0.8mm | TP88 |
| 1 | FIELD1 | mysymbols_footprint:TestPoint_Pad_0.8x0.8mm | TP87 |
| 1 | HM628128ALFP-5 | Package_DIP:DIP-32_W15.24mm | U17 |
| 1 | HRESET | mysymbols_footprint:TestPoint_Pad_0.8x0.8mm | TP82 |
| 1 | HSYNCA | mysymbols_footprint:TestPoint_Pad_0.8x0.8mm | TP80 |
| 1 | HSYNCB | mysymbols_footprint:TestPoint_Pad_0.8x0.8mm | TP79 |
| 1 | HSYNC_input | mysymbols_footprint:TestPoint_Pad_0.8x0.8mm | TP7 |
| 1 | LM7805_TO220 | Package_TO_SOT_THT:TO-220-3_Vertical | U28 |
| 1 | PIXELDRAWEN | mysymbols_footprint:TestPoint_Pad_0.8x0.8mm | TP84 |
| 1 | Pixeldrive_input | mysymbols_footprint:TestPoint_Pad_0.8x0.8mm | TP6 |
| 1 | VBLANK | mysymbols_footprint:TestPoint_Pad_0.8x0.8mm | TP81 |
| 1 | VRESET | mysymbols_footprint:TestPoint_Pad_0.8x0.8mm | TP83 |
| 1 | ~ | Resistor_SMD:R_0603_1608Metric | R8 |
More from xp5-org/ntsc-framebuffer
2- 2 layers189.8 × 130.6 mm

- 2 layers

Similar boards
- 2 layers

- 2 layers213.1 × 129 mm

- 4 layers306 × 244 mm

- 4 layers100 × 100 mm

- 2 layers284.9 × 96.5 mm

- 4 layers188 × 128.3 mm

- 2 layers259.7 × 80 mm

- 2 layers180 × 67.5 mm

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