pico RGB2HDMI

A microprocessed on the fly  RBG to HDMI and USB converter 

"A simple board where the main component is the raspberry pico microcontroller and a triple S&H ADC that allows capturing RGB into HDMI or USB"

About

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.

You can also check the documentation for details.

Additionally I made a full article in spanish if you like to get details and a lot of nostalgia.

Functionality

The System allows the capture of RGB video and its representation in HDMI (Video) and USB (Photo)

It has a keyboard for basic control, on-screen menus and a USB console.

Specifications

HDMI modes: 640x480, 800x600, 960x540, 1280x720(HD) all 60 hertz

Capture modes: 320x240@16bits,  640x240@8bits

4 keys: reset, select, up, down

Usb: CDC serial port with console terminal support

Input: Red,Green, Blue, HSYNC, VSYNC, GND



Schematics




Use Mode


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:

Firmware Update

Firmware updates for the device will be shared in uf2 format files, the update steps are as follows:

The pico device enters uf2 mode, which accepts updates from the computer as if it were a pendrive, just drag the uf2 file from the computer to the device

This will generate an automatic reset
If there is any doubt about this process check the Pico SDK on how to deploy the firmware 

Hardware Access

Hardware is available through pcbway service as a shared project, you'll be able to see the schematic there too for reference.

Hardware design required a lot of work from people collaborating to the project, if you can donate (argentina / us) it would be really appreciated.


Firmware Access

Firmware source is now public! you can access it here, so if you want it you can contact me  to get a built copy of the  firmware specific for your raspberry pico but I encourage you to build it yourself!
The solution is under the MIT license that allows comercial terms, if you plan to use it for your own there are no actions to be made, if you plan to sell it please email me to get written permission.

3D Case

The case was a collaboration from
You can get it from here as is or from tinkercad to make your own modifications here


Additional tools

A series of python application are shared to allow the ease of use:

Gui Application

The Gui application summarizes all command line options that the device supports into a friendly interface.

Autodetects the port of the device and connects


Licenses

This solution uses Wren6991 implementation of DVI for Raspberry pico microcontrollers, license can be checked here https://github.com/Wren6991/PicoDVI/blob/master/LICENSE

Known Bugs

Care of the device

The device works at high frequencies to capture and generate HDMI, which makes it extremely sensitive to contamination by fluids or dust, which affect its frequency profile.

The capture system uses an electrostatically sensitive device, you should avoid touching it

Possible list of failures

More details at: rgb2hdmi Q&A 

Disclaimers

This solution (HW / FW /SW)  is provided as is without any express or implied warranties.

While every effort has been taken to ensure the solution will work as is, the authors & contributors assume no responsibility for errors or omissions, or for damages resulting from the use of the solution of the information contained herein.

There is no guarantee as to the suitability of said source code, executable scripts, circuits and other information, for any purpose whatsoever other than as a self-training aid.

I.E. If it blows your equipments, trashes your hard disc, wipes your backup, burns your building down or just plain don't work, IT ISN'T MY FAULT

I will not be held responsible for any damages or costs which might occur as a result of the usage of the beforementioned solution, USE IT AT YOUR OWN RISK

You are NOT  allowed to use any part or complete part of the solution for commercial purposes without my written authorisation 

Collaborations

Collaborations can come in different ways, the best is by donating (cafecito / paypal) coffes (I'm an engineer, I drink high dosis of black mana)

Other ways to collaborate is to spread the word, the videos or to share experiences of your usage of the solution, even to propose HW and FW improvements (code & PCB improvements over wish lists)


Collaborators

Espacio Tec: Francisco Manera,  Sebastian Rho, Juan Pablo Chucair
Retro computacion: Jorge Castillo
Otto
Francisco Maqueira
Alejandro Perez
Jose Gumersindo
Leandro Galvano
Ernesto Uriburu
Carlos Masciarelli
Marcelo Barbalace
Fernando Bugallo
Gabriel Garcia
Gaston Ferreiros
Aldo Ibañez
Emiliano Escobar

Questions?

Fill the form!

Videos