|
RASPBERRYPI PICO |
x 1 | |
|
wm8213cirrus
|
x 1 | |
|
THS7316DRTexas Instruments
|
x 1 | |
|
RAHHD19TRSwitchcraft
|
x 1 | |
|
603-RC0805JR-07270RL |
x 8 | |
|
70-ILB1206ER601V |
x 2 | |
|
80-C1206C104K3HAUTO |
x 6 | |
|
652-CR0805FX-49R9ELF |
x 6 |
pico RGB 2 HDMI
Computers and consoles using RBG video standard depends on the availability and cost of CRTs (Cathode Ray Tube) or LCD monitors that support low horizontal sync (15Khz) which are scarce or the use of converters that are expensive or produces deformation of the image and response time.
Open source options are either invasive or complex, requiring to open the computer or use layers of SBC (single board computers) and CPLDs / FPGAs
With the appearance of the RP 2040 line of microcontrollers and the use of their capabilities, it was possible to consider a development that previously remained in the field of FPGA-based solutions such as OSSC or SCART converters, both of which have much higher final value and with limitations. in rendering fidelity (scaling) or in latency.
This project relies on the usage of the PIO (Programable IO) in order to delegate fast and cycle perfect processes that requires interaction with DMA and IRQs.
4 state machines are used, 3 for the TMDS and 1 for the ADC capture.
A detailed article about it plus some nostalgia: here in spanish
An article mention it: https://www.theregister.com/2024/03/02/hdmi_blocks_amd_foss/
Repository is NOW open: here on github
License: License is MIT without any additional disclaimer, just share your build and progress!
Features:
- HDMI modes: 640x480, 800x600, 960x540, 1280x720, all 60Hz
- Capture mode: 320x240 16 bit color, 640x240 8 bit color
- Simple USB drag and drop update
- Integration with companion app to control and capture images
- 3 key keyboard (previous, next, action) and a reset
- On Screen overlay menu system
- Max 24 bits color density, 18 bits on current HW
Tested on:
Commodore 128, Amiga 500, Amiga 1200, Atari ST 520, Sega Genesis
Use Mode
1.Connect retro computer through RGB video with its 2x5 , connectors can be provided
2.Power device through USB
3.Configure screen with buttons (alpha)
a.S2 Button : Alter between X and Y axis
b.S3 Button: Move left of up
c.S4 Button: Move right or down
d.Pushing S3+S3+S4: Activate USB
4.Console use:
a.Connect through USB with PC/Mac
b.Open a Serial port application (putty, arduino/monitor)
c.Configure 115000 8N1
d.Use comands with the following shape: <command> <space> <value> and hit enter
USB Commands
The USB commands allow you to speak directly with the microcontroller to command it, it is necessary (momentarily) to activate it by pressing the S2+S3+S4 buttons.
The USB mode affects the stability of the image, that is why it must be activated and is in test mode.
The list of commands may change in the future as needed, but at the moment the ones that are supported are:
- up: Move screen up, argument must be an integer (up 1)
- down: Move screen down, argument must be an integer (down 1)
- left: Move screen to the left, the argument must be an integer (left 1)
- right: Move screen to the right, the argument must be an integer (right 1)
- info: show info menu, argument must be true/false (info true)
- capture: capture the current screen in csv format. (capture)
- id: display the unique device id (id)
- version: show the version of the device (version)
pico RGB 2 HDMI
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.

Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW
ESP32-S3 4.3inch Capacitive Touch Display Development Board, 800×480, 5-point Touch, 32-bit LX7 Dual-core Processor
BUY NOW
Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW- Comments(27)
- Likes(52)
-
Flo M Mar 15,2025
-
Secco41 Feb 04,2025
-
Holger OnkelHolgi Jan 23,2025
-
Engineer Jan 02,2025
-
Juan VM Nov 23,2024
-
Engineer Nov 23,2024
-
Matthew Spence Sep 28,2024
-
Grzegorz Materny Aug 28,2024
-
Goran Nyko Aug 09,2024
-
Engineer Jun 03,2024
-
Engineer May 11,2024
-
Vittorio Rebecchi May 11,2024
-
Massimo Rosati May 07,2024
-
KADIR DOGAN Apr 22,2024
-
SuperTRN Mar 15,2024
-
bog_dan_ro Mar 12,2024
-
Engineer Mar 02,2024
-
Miles Feb 11,2024
-
Engineer Feb 04,2024
-
Job76 Jan 26,2024
-
DrkZ Jan 08,2024
-
Stefan Reinauer Jan 08,2024
-
James Johnston Jan 04,2024
-
Engineer Dec 12,2023
-
Engineer Dec 11,2023
-
ugur tezer Dec 08,2023
-
Silverio Manuel Rosales Santana Oct 05,2023
-
Engineer Sep 21,2023
-
Daniel Quinten Aug 28,2023
-
Mr Eddie Bannister Aug 26,2023
-
Laurentiu?Petre Jun 14,2023
-
Kifaru Jun 06,2023
-
Fernando Bugallo May 22,2023
-
IVCP May 16,2023
-
Youen C. May 14,2023
-
JOSE MARIA RODRIGUEZ MARTINEZ Apr 29,2023
-
Emre Demirkilic Apr 15,2023
-
Edoardo kinmami Mar 22,2023
-
Wendell Pyle Mar 14,2023
-
Karl Tanner Feb 07,2023
-
Alexander dimovfx Dec 27,2022
-
Simon SimonFD60 Dec 23,2022
-
Umut Kavaktan Dec 12,2022
-
David Hansen Dec 02,2022
-
Diamantino A Caseiro Nov 07,2022
-
Özay Turay Nov 05,2022
-
Marcelo mk77b Oct 25,2022
-
Paweł Barszczowski Oct 11,2022
-
Gary Dion Oct 07,2022
-
Engineer Oct 05,2022
-
(DIY) C64iSTANBUL Oct 03,2022
-
CHI PANG CHAN Oct 03,2022
- 4 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10

-
9design
-
9usability
-
9creativity
-
8content

-
10design
-
10usability
-
10creativity
-
10content

-
10design
-
9usability
-
9creativity
-
9content

-
9design
-
9usability
-
10creativity
-
10content
More by Marcelo Lorenzati
-
-
-
Modifying a Hotplate to a Reflow Solder Station
944 1 6 -
MPL3115A2 Barometric Pressure, Altitude, and Temperature Sensor
477 0 1 -
-
Nintendo 64DD Replacement Shell
410 0 2 -
V2 Commodore AMIGA USB-C Power Sink Delivery High Efficiency Supply Triple Output 5V ±12V OLED display ATARI compatible shark 100W
1182 4 2 -
How to measure weight with Load Cell and HX711
731 0 3
I achieved audio on my fork of picoDVI https://github.com/mlorenzati/picoDVi, I never added audio support to pico-rgb2hdmi but its completely doable, also de same hardware can be used with picoDVI demo to investigate.
My plan is to go at some point with pico2-rgb2hdmi and add more resolution and audio
Hola Leonardo, un gusto! Hay una respuesta rapida y una larga. La opcion rapida es separar con LM1881, otros spectrumeros lo hicieron asi con exito. La larga es que la pico-RGB2HDMI soporta CSYNC, tenes que mandar a masa VSYNC y mandar CSYNC en la de HSYNC. Pero el tema es que la spectrum no tiene CSYNC como otra computadoras, entiendo tiene invertido el VSYNC. Asi que tendrias que colaborar asi entendemos la señal y lo soportamos nativo en un release de firm nuevo. Saludos!
The thing is that Cirrus has eoled the IC (early due to bad sells) but manufacturing was up to 2025, so if you happen to ask to mouser or Digikey it might request Cirrus to build it.
Yes you can use wm8214 and it's even faster! (40MSPS) The wm8199 requires changes I still could not complete, it might work in the future but it depends if it supports 8bits mode data transfer instead of 16 bits multiplexed in 2 bytes
Looks like WM8213/WM8214 are both EOL. Any other substitutes that will work?
I was working to substitute it with WM8199 but I'm not there yet, I'll open the project so others can integrate other AFEs
Hello Marcelo, Thanks for the fantastic project! I want to build one but cannot find WM8213 nor WM8214. Is there any other alternative, or any update on your project using other AFEs?
For this pcb, only those two, in the future I will be investigating a TI AFE, which is more easily available
Thanks for your reply, OK, then I give it up for now...
No problem! btw wm8213 can be get on ebay/ali/etc
Yes, I also found some...though I bought a cheap LCD monitor capable of 15kHz at AliExpress instead ^^;
Waesome, spread the word! Let's make it better!
Typo: NOW OPEN!
If you refer to the source code and hardware design, it will be opened in april after I release it to open source with a paper. Nevertheless Above you can find all the information to build it and test it.
It does not care about refresh rates, it works either way.
The system "sees" 240 vertical lines of your choice from the input, it uses VSYNC to know when to start counting so refresh rate is just used for the calculation, what matters is HSYNC.
Sure, I've just uploaded it.