Skip to the content
PCBKitNew board
4 layers42.5 × 33.3 mmSR CRT, the printed circuit board in 3D

A HDMI-to-GT65 Adapter. Uses a USB Capture Card, Raspberry Pi, Tang Nano 9K and a custom interface PCB to bring your Amstrad GT65 40 years into the future.

Size
42.5 × 33.3 mm
Copper layers
4
Thickness
1.6 mm
Parts
20
Nets
17
Pads
65
Tracks, vias
188, 26
Pours
8
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
8 Nov 2025
Updated
13 May 2026

Overview

SR CRT is an open-source printed circuit board by SRB2149, from the SRB2149/SR-CRT repository on GitHub, published under the MIT licence. It is a 4-layer board of 42.5 × 33.3 mm with 20 parts on 17 nets, routed with 188 tracks and 26 vias.

It is built around the ADUM1200BR and SN65LVDS2DBV. Its parts include 8 capacitors, 4 resistors, 3 ICs and 3 connectors. It belongs with the interfaces and adapters boards of this library.

Main components

2

README

readme.md

CRT HDMI Bridge

Live HDMI video on a vintage monochrome CRT, via a Raspberry Pi, an FPGA and a custom interface PCB.

A desktop PC outputs HDMI to a USB capture card on a Raspberry Pi Zero 2 W. The Pi downscales the feed to 296x256, dithers it to 1 bit per pixel using Atkinson dither, and streams it over SPI to an FPGA. The FPGA then drives the Amstrad GT65 CRT monitor at 50 Hz.

Photo of a monochrome green CRT showing the windows 11 background.

Hardware

  • Raspberry Pi Zero 2 W
  • UVC-compliant HDMI capture card (MS2130-based works well)
  • Sipeed Tang Nano 9K (or any small FPGA with LVDS output and at least 16kiB Block SRAM)
  • Custom interface PCB (The files are provided if you wish to have it fabricated - or if you would rather I still have some spare which can be bought. Enquire for more info)
  • Amstrad GT65 monochrome CRT monitor
  • 5V power supply (Or you can use the CRT's own 5V output)

Photo of 4 PCBs connected with jumper wires connected to a CRT and a HDMI cable.

How it works

text
PC --HDMI--> Capture Card --USB--> Pi --SPI--> FPGA --LVDS--> Interface PCB --Serial--> CRT

The Pi does the heavy lifting in software (capture, scale, dither). The FPGA does the time-critical CRT signal generation in hardware. SPI between them runs at 50 MHz and carries one 9472-byte framebuffer per CRT frame. The interface PCB acts as a level shifter as well as (depending on the setup) an electrical isolator. In theory the CRT could be directly driven using a level shifter from the FPGA, but you are on your own if you wish to attempt that.

In Windows 11 itself the monitor is set to 640x480 at 60 Hz.

The custom interface PCB once assembled Photo of the interface PCB.

Here is the CRT showing the languages section of this repo! Photo of the CRT displaying the languages section of this repository.

Setup

For the Raspberry Pi side, see INSTALL.txt. The short version:

  1. Flash Raspberry Pi OS Lite (64-bit) with WiFi and SSH preconfigured
  2. scp the contents of RPi/ to the Pi
  3. Run ./setup_pi.sh and reboot

For the FPGA side, open the project in your toolchain of choice and flash to your board. Pin assignments are in the top-level constraints file. You can flash the SPI_to_CRT.fs binary file directly if you have a GW1NR-LV9C (Tang Nano 9K) FPGA. Otherwise you will need to resynthesise etc.

Acknowledgements

The Raspberry Pi software was written by Claude (Anthropic) under my supervision. The FPGA work and the rest is mine. For enquiries, contact contact@stanleybooth.uk.

License

This project is licensed under the MIT License — see LICENSE for details.

Gallery

Here are some more photos of the CRT in action. These photos do not capture the real feeling of the CRT particularly well. It looks much better in real life, especially when displaying videos or things that move as the ghosting leaves a very cool effect. The dithering also provides an incredible amount of information given the limited pixels. It really has to be seen in person to truly appreciate.

Photo of the CRT with the game asteroids on it. Asteroids online

Photo of the CRT with a Firefox window open. Firefox

Photo of the CRT with a frame from the song "Hip to Be Square" by Huey Lewis and the News A frame from the song "Hip to Be Square" by Huey Lewis and the News on youtube.

Parts

20
QtyValueFootprintReferences
4100nCapacitor_SMD:C_0603_1608MetricC3, C4, C6, C8
2100Resistor_SMD:R_0603_1608MetricR3, R4
210uCapacitor_THT:CP_Radial_D4.0mm_P2.00mmC1, C2
21uCapacitor_SMD:C_0603_1608MetricC5, C7
233Resistor_SMD:R_0603_1608MetricR1, R2
2MountingHoleMountingHole:MountingHole_2.2mm_M2_ISO7380_Pad_TopBottomH1, H2
2SN65LVDS2DBVPackage_TO_SOT_SMD:SOT-23-5U1, U2
1ADuM1200BRPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU3
1Barrel_Jack_MountingPinConnector_BarrelJack:BarrelJack_HorizontalJ2
1Conn_02x03_Odd_EvenConnector_IDC:IDC-Header_2x03_P2.54mm_VerticalJ1
1DIN-6CustomFootprints:6_PIN_DINJ3

Questions

How big is the SR CRT PCB?

It measures 42.5 × 33.3 mm and has 4 copper layers, 1.6 mm thick.

What parts does the SR CRT use?

20 parts, built around the ADUM1200BR and SN65LVDS2DBV. 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 SR CRT KiCad files?

From the SRB2149/SR-CRT repository on GitHub, at the commit this page was made from: the board is PCB/sr-crt.kicad_pcb and its schematic PCB/sr-crt.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the SR CRT 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).

Similar boards

  • 2 layers94 × 70 mmCore, the printed circuit board in 3D

    Core

    stanislavstarcha/powerbox

    Add paths to your bash/zsh rc for convenience

    77 parts
  • 6 layers90.2 × 95.9 mmCubesat rp2040, the printed circuit board in 3D

    Cubesat rp2040

    macnetic/rp2040-cubesat

    A CubeSat Onboard Computer, using the RP2040 microcontroller.

    215 parts4
  • 2 layers80 × 70 mmSFP breakout, the printed circuit board in 3D

    SFP breakout

    hennichodernich/SFP-Breakout-SE

    A breakout board for SFP modules, based on aewallin's work

    56 parts2
  • 2 layers48 × 70 mmSch, the printed circuit board in 3D

    Sch

    MarSik/hf-sampling-trx

    Portable transceiver based on quadrature sampling detector/exciter

    49 parts2
  • 4 layers99.9 × 99.7 mmML605 LPC Board wADC DAC, the printed circuit board in 3D

    ML605 LPC Board wADC DAC

    tcfh2003/Virtex-6-ML602-ADCDAC-PCB

    PCB for an ADCDAC FPGA Mezannine Card for the ML602 Virtex 6 Evaluation Board

    125 parts
  • 4 layers199.6 × 47 mmRI1000, the printed circuit board in 3D

    RI1000

    kc099/kicad

    108 parts
  • 4 layers78 × 53 mmAmplifier200, the printed circuit board in 3D

    Amplifier200

    MECSEM/electrical

    All the electrical designs for MECSEM.

    101 partsGPL-3.0
  • 4 layers44.8 × 55.9 mmMain project, the printed circuit board in 3D

    Main project

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    20 parts915