Skip to the content
PCBKitNew board
2 layers99.1 × 50.8 mmVideoTrigger, the printed circuit board in 3D

My oscilloscope wouldn't trigger relibly on video signals, so I made this to help me work on my VDPtoTFT project.

Size
99.1 × 50.8 mm
Copper layers
2
Thickness
1.6 mm
Parts
40
Nets
42
Pads
142
Tracks, vias
341, 20
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
11 Sep 2022
Updated
4 Oct 2022

Overview

VideoTrigger is an open-source printed circuit board by ukmaker, from the ukmaker/VideoTrigger repository on GitHub, published under the Apache-2.0 licence. It is a 2-layer board of 99.1 × 50.8 mm with 40 parts on 42 nets, routed with 341 tracks and 20 vias.

It is built around the ATMEGA328P-PU, LM1881 and 74LS109PC. Its parts include 9 capacitors, 9 resistors, 4 ICs, 4 diodes and 4 connectors. It belongs with the sensors and measurement boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

3

README

README.md

VideoTrigger

My oscilloscope wouldn't trigger relibly on the video signal from my TMS9128 VDP, so I made this to help me work on my VDPtoTFT project.

Why?

Builders (and possessors) of retro-computers have many options for generating video. One of the chips used in computers in the early 80's was the TMS9918 family of Video Display Processors.

Because I had a semi-rational excuse for wanting to make my chip drive a small TFT display (the rabbit-hole starts here), I needed to be able to view the video outputs on my oscilloscope. My 'scope has a "Video Trigger" mode, which I gleefully enabled in anticipation of a nice, rock-solid display. No dice. No triggering of any sort was happening. This turns out not to be (totally) the fault of my 'scope - a Hantek DSO1502P. I think this is because the output from the chip isn't really a conformant video signal. I'm not entirely sure why, unless the scope expects "normal" voltage levels which take quite some work to produce from what the chip outputs.

So, in order to view the signals properly, I needed an external trigger signal. Hence this project. It uses the well known LM1881 sync separator IC to derive horizontal and vertical sync from the chip's "Y" output. These in turn feed an Atemga328P - programmed using the Arduino framework - which allows user selection of

  • which edge of hsync to trigger off
  • which line to trigger off These are selectable by pushing and turning a rotary encoder, and the setting is display on a small OLED display.

The output from the LM1881 is used to clock a pair of JK flip-flops - one for the positive and one for the negative edge of the sync signal - and the negative-edge clock is inverted using a transistor. The appropriate flip-flop is enabled by the Atmega328 for the duration of the chosen line. The outputs are ORed together using diode logic and a resistor.

Here is the circuit built on a bit of protoboard. It is powered from the scope's USB port. Input signal is on the left, trigger output is on the right. The Video Trigger

This picture shows the video signal and the trigger signal. Note that the trigger output from my circuit is the falling edge of the blue signal - the rising edge occurs an arbitrary time after the horizontal trigger signal, and is a very slow edge. Triggering on the falling edge

And in this image you can see the slow rising edge of the trigger signal Triggering on the rising edge

Is It Any Good?

Well, it's good enough for me :-)

The input buffer is tailored to the output of the VDP. If the signal you use as the input does not have a DC offset of 2V, you'll need to bias the transistor up and add an input decoupling capacitor.

Parts

40
QtyValueFootprintReferences
5100nCapacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mmC1, C3, C4, C7, C8
410KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR4, R6, R7, R8
31KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR3, R5, R9
31N914Diode_THT:D_DO-34_SOD68_P7.62mm_HorizontalD2, D3, D4
322pCapacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mmC5, C6, C9
22N3904Package_TO_SOT_THT:TO-92L_Inline_WideQ1, Q2
120MHzCrystal:Crystal_HC49-U_VerticalY1
1510pCapacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mmC2
15V PowerTerminalBlock:TerminalBlock_bornier-2_P5.08mmJ3
1620RResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1
1680KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR2
174LS109Package_DIP:DIP-16_W7.62mm_LongPadsU3
1ATmega328P-PPackage_DIP:DIP-28_W7.62mmU1
1DISPLAY_SSD1306_OLED_128x32Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalU4
1ICSPConnector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_VerticalJ2
1LEDLED_THT:LED_D3.0mmD1
1LM1881Package_DIP:DIP-8_W7.62mm_LongPadsU2
1RESETButton_Switch_THT:SW_TH_Tactile_Omron_B3F-10xxSW1
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW2
1Trigger OutConnector_Coaxial:SMA_Amphenol_901-144_VerticalJ5
1Video InConnector_Coaxial:SMA_Amphenol_901-144_VerticalJ1

The 35 most common of 40 parts.

Questions

How big is the VideoTrigger PCB?

It measures 99.1 × 50.8 mm and has 2 copper layers, 1.6 mm thick.

What parts does the VideoTrigger use?

40 parts, built around the ATMEGA328P-PU, LM1881 and 74LS109PC. 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 VideoTrigger KiCad files?

From the ukmaker/VideoTrigger repository on GitHub, at the commit this page was made from: the board is KiCAD/VideoTrigger/VideoTrigger.kicad_pcb and its schematic KiCAD/VideoTrigger/VideoTrigger.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the VideoTrigger design in my own project?

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

Similar boards

  • 2 layers137 × 140 mmX1 CZ VO20PX CPLD, the printed circuit board in 3D

    X1 CZ VO20PX CPLD

    popolonx/SharpX1

    Sharp X1 computer stuff

    112 parts5
  • 2 layers365.1 × 203.2 mmDIAG, the printed circuit board in 3D

    DIAG

    Nakazoto/CenturionComputer

    This is just a simple backup of all the files related to the Centurion that I have stored on my HD. The Wiki itself has far more in-depth information about the Centurion and it's individual cards.

    150 parts172
  • 2 layers135.3 × 106.7 mmAdlib, the printed circuit board in 3D

    Adlib

    schlae/adlib

    Reproduction AdLib Sound Card, OPL2, Circa 1990

    61 parts168
  • 2 layers58.4 × 61.7 mmOpenC64WarpSpeed, the printed circuit board in 3D

    OpenC64WarpSpeed

    SukkoPera/OpenC64WarpSpeed

    Open Hardware Fast Loader cartridge for the Commodore 64 and 128 - DO NOT USE!!!

    19 parts50
  • 2 layers79.8 × 129.5 mmTtt ttl, the printed circuit board in 3D

    Ttt ttl

    DoctorWkt/TTL_TicTacToe

    An implementation of Tic Tac Toe in TTL logic

    82 parts21GPL-3.0
  • 2 layers135.3 × 106.7 mmAdLib, the printed circuit board in 3D

    AdLib

    monotech/AdLib

    AdLib clone. Based on schlae's PCB, with some modifications.

    63 parts21
  • 2 layers163.9 × 88.3 mmPlaid bib, the printed circuit board in 3D

    Plaid bib

    schlae/plaid-bib

    A replica of the Ad Lib MCA sound card

    68 parts21
  • 2 layers81.3 × 45.7 mmSequencer, the printed circuit board in 3D

    Sequencer

    matiasmicheletto/openscad-oil-pumpjack

    3d models and electronics for a variable speed scale pumpjack

    6 parts9GPL-3.0