Pico EGA/CGA to VGA Converter
Hardware Retro DIY Raspberry Pi
This firmware runs on a Raspberry Pi Pico connected to an EGA/CGA TTL video source, with a resistor DAC for VGA output and mode-switching buttons.
EGA Input Connections
| PIN | GPIO | Description |
|---|---|---|
| 11 | GPIO8 | EGA TTL Red Bit 1 |
| 12 | GPIO9 | EGA TTL Red Bit 2 |
| 14 | GPIO10 | EGA TTL Green 1 |
| 15 | GPIO11 | EGA TTL Green Bit 2 |
| 16 | GPIO12 | EGA TTL Blue Bit 1 |
| 17 | GPIO13 | EGA TTL Blue Bit 2 |
| 19 | GPIO14 | EGA TTL HSYNC |
| 20 | GPIO15 | EGA TTL VSYNC |
All pins are inputs driven by the computer’s video card.
VGA Output Connections
| PIN | GPIO | Description |
|---|---|---|
| 1 | GPIO0 | VGA HSYNC |
| 2 | GPIO1 | VGA VSYNC |
| 4 | GPIO2 | VGA Red Bit 1 |
| 5 | GPIO3 | VGA Red Bit 2 |
| 6 | GPIO4 | VGA Green Bit 1 |
| 7 | GPIO5 | VGA Green Bit 2 |
| 9 | GPIO6 | VGA Blue Bit 1 |
| 10 | GPIO7 | VGA Blue Bit 2 |
All pins are outputs driven with appropriate VGA timings.
Mode Switching Buttons
| PIN | GPIO | Description |
|---|---|---|
| 24 | GPIO18 | Button 1 |
| 25 | GPIO19 | Button 2 |
| 26 | GPIO20 | Button 3 |
| 27 | GPIO21 | Button 4 |
All buttons connect to ground with internal pullup enabled.
Inspiration
This project is inspired by PICO-TTL2VGA and PicoVGA, adapted for EGA/CGA input rather than generation.
Applications
- Use vintage EGA/CGA cards with modern VGA monitors
- Preserve retro computing hardware with accessible displays
- Convert industrial equipment video output
- Arcade game video conversion
Firmware, pin diagrams, and timing documentation available in the project repository.