

SR CRT
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
2ADUM1200BR
SOIC-8-40℃~+125℃ 0 10Mbps 2 2 2.7V~5.5V 2.7V~5.5V 2500 25kV/us 50ns Bidirectional signal isolation、Multi-voltage domain interface SOIC-8 Digital Isolators ROHSAnalog DevicesDigital IsolatorsSN65LVDS2DBV
SOT-23-5-40℃~+85℃ 0 1 2.4V~3.6V 400Mbps LVDS Receiver SOT-23-5 LVDS ICs ROHSTexas InstrumentsLVDS ICs
README
readme.mdCRT 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.

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)

How it works
PC --HDMI--> Capture Card --USB--> Pi --SPI--> FPGA --LVDS--> Interface PCB --Serial--> CRTThe 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

Here is the CRT showing the languages section of this repo!

Setup
For the Raspberry Pi side, see INSTALL.txt. The short version:
- Flash Raspberry Pi OS Lite (64-bit) with WiFi and SSH preconfigured
scpthe contents ofRPi/to the Pi- Run
./setup_pi.shand 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.
Asteroids online
Firefox
A frame from the song "Hip to Be Square" by Huey Lewis and the News on youtube.
Parts
20| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | 100n | Capacitor_SMD:C_0603_1608Metric | C3, C4, C6, C8 |
| 2 | 100 | Resistor_SMD:R_0603_1608Metric | R3, R4 |
| 2 | 10u | Capacitor_THT:CP_Radial_D4.0mm_P2.00mm | C1, C2 |
| 2 | 1u | Capacitor_SMD:C_0603_1608Metric | C5, C7 |
| 2 | 33 | Resistor_SMD:R_0603_1608Metric | R1, R2 |
| 2 | MountingHole | MountingHole:MountingHole_2.2mm_M2_ISO7380_Pad_TopBottom | H1, H2 |
| 2 | SN65LVDS2DBV | Package_TO_SOT_SMD:SOT-23-5 | U1, U2 |
| 1 | ADuM1200BR | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U3 |
| 1 | Barrel_Jack_MountingPin | Connector_BarrelJack:BarrelJack_Horizontal | J2 |
| 1 | Conn_02x03_Odd_Even | Connector_IDC:IDC-Header_2x03_P2.54mm_Vertical | J1 |
| 1 | DIN-6 | CustomFootprints:6_PIN_DIN | J3 |
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 mm

- 6 layers90.2 × 95.9 mm

Cubesat rp2040
macnetic/rp2040-cubesat
A CubeSat Onboard Computer, using the RP2040 microcontroller.
215 parts4 - 2 layers80 × 70 mm

SFP breakout
hennichodernich/SFP-Breakout-SE
A breakout board for SFP modules, based on aewallin's work
56 parts2 - 2 layers48 × 70 mm

Sch
MarSik/hf-sampling-trx
Portable transceiver based on quadrature sampling detector/exciter
49 parts2 - 4 layers99.9 × 99.7 mm

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 mm

- 4 layers78 × 53 mm

- 4 layers44.8 × 55.9 mm

Main project
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
20 parts915