FabGL
ESP32 Display Controller and Graphics Library
VGA output schema

VGA output can be configured such as 8 colors or 64 colors are displayed. Eight colors require 5 outputs (R, G, B, H and V), while sixty-four colors require 8 outputs (R0, R1, G0, G1, B0, B1, H and V).

Following is an example of outputs configuration and a simple digital to analog converter circuit, with 64 colors, 2 bit per channel and 6 bit per pixel:

Using above GPIOs the VGA Controller may be initialized in this way:

VGAController.begin(GPIO_NUM_22, GPIO_NUM_21, GPIO_NUM_19, GPIO_NUM_18, GPIO_NUM_5, GPIO_NUM_4, GPIO_NUM_23, GPIO_NUM_15);

Note: Do not use GPIO_NUM_2 (LED) for VGA signals.