

VideoTrigger
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
3ATMEGA328P-PU
DIP-28-300mil-40℃~+85℃ 1.8V~5.5V 10bit 1KB 20MHz 23 2KB 32KB 8 Bit AVR Built-in FLASH DIP-28-300mil Microcontrollers (MCU/MPU/SOC) ROHSMicrochip TechnologyMicrocontrollers (MCU/MPU/SOC)LM1881
SOP-80℃~+70℃@(Ta) 5V~12V Splitter SOP-8 Video Interface ICs ROHSSlkorVideo Interface ICs74LS109PC
-0ns 0℃~+70℃ 2 20ns、30ns 25MHz 25ns@5V,15pF、35ns@5V,50pF 4.75V~5.25V 400uA 74LS Series 8mA 8mA Asynchronous Complementary JK-Type Rising Edge Set and Reset - Flip FlopsTexas InstrumentsFlip Flops
README
README.mdVideoTrigger
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| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 100n | Capacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mm | C1, C3, C4, C7, C8 |
| 4 | 10K | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R4, R6, R7, R8 |
| 3 | 1K | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R3, R5, R9 |
| 3 | 1N914 | Diode_THT:D_DO-34_SOD68_P7.62mm_Horizontal | D2, D3, D4 |
| 3 | 22p | Capacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mm | C5, C6, C9 |
| 2 | 2N3904 | Package_TO_SOT_THT:TO-92L_Inline_Wide | Q1, Q2 |
| 1 | 20MHz | Crystal:Crystal_HC49-U_Vertical | Y1 |
| 1 | 510p | Capacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mm | C2 |
| 1 | 5V Power | TerminalBlock:TerminalBlock_bornier-2_P5.08mm | J3 |
| 1 | 620R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1 |
| 1 | 680K | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R2 |
| 1 | 74LS109 | Package_DIP:DIP-16_W7.62mm_LongPads | U3 |
| 1 | ATmega328P-P | Package_DIP:DIP-28_W7.62mm | U1 |
| 1 | DISPLAY_SSD1306_OLED_128x32 | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | U4 |
| 1 | ICSP | Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical | J2 |
| 1 | LED | LED_THT:LED_D3.0mm | D1 |
| 1 | LM1881 | Package_DIP:DIP-8_W7.62mm_LongPads | U2 |
| 1 | RESET | Button_Switch_THT:SW_TH_Tactile_Omron_B3F-10xx | SW1 |
| 1 | RotaryEncoder_Switch | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | SW2 |
| 1 | Trigger Out | Connector_Coaxial:SMA_Amphenol_901-144_Vertical | J5 |
| 1 | Video In | Connector_Coaxial:SMA_Amphenol_901-144_Vertical | J1 |
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 mm

- 2 layers365.1 × 203.2 mm

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 mm

- 2 layers58.4 × 61.7 mm

OpenC64WarpSpeed
SukkoPera/OpenC64WarpSpeed
Open Hardware Fast Loader cartridge for the Commodore 64 and 128 - DO NOT USE!!!
19 parts50 - 2 layers79.8 × 129.5 mm

- 2 layers135.3 × 106.7 mm

- 2 layers163.9 × 88.3 mm

- 2 layers81.3 × 45.7 mm

Sequencer
matiasmicheletto/openscad-oil-pumpjack
3d models and electronics for a variable speed scale pumpjack
6 parts9GPL-3.0