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

PINGPIODescription
11GPIO8EGA TTL Red Bit 1
12GPIO9EGA TTL Red Bit 2
14GPIO10EGA TTL Green 1
15GPIO11EGA TTL Green Bit 2
16GPIO12EGA TTL Blue Bit 1
17GPIO13EGA TTL Blue Bit 2
19GPIO14EGA TTL HSYNC
20GPIO15EGA TTL VSYNC

All pins are inputs driven by the computer’s video card.

VGA Output Connections

PINGPIODescription
1GPIO0VGA HSYNC
2GPIO1VGA VSYNC
4GPIO2VGA Red Bit 1
5GPIO3VGA Red Bit 2
6GPIO4VGA Green Bit 1
7GPIO5VGA Green Bit 2
9GPIO6VGA Blue Bit 1
10GPIO7VGA Blue Bit 2

All pins are outputs driven with appropriate VGA timings.

Mode Switching Buttons

PINGPIODescription
24GPIO18Button 1
25GPIO19Button 2
26GPIO20Button 3
27GPIO21Button 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.