FabGL
ESP32 VGA Controller and Graphics Library
|
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:
=== 8 colors, 1 bit per channel, 3 bit per pixel === Sample connection scheme: ----------- GPIO22 (red0) ------|R 270 Ohm|---- VGA_R ----------- ----------- GPIO21 (green0) ----|R 270 Ohm|---- VGA_G ----------- ----------- GPIO19 (blue0) -----|R 270 Ohm|---- VGA_B ----------- GPIO18 ---------------------------- VGA_HSYNC GPIO5 ---------------------------- VGA_VSYNC 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); === 64 colors, 2 bit per channel, 6 bit per pixel === One resistor for each R0, R1, G0, G1, B0 and B1. Low bit (LSB) should have twice resistance value than high bit (MSB), for example 800Ohm (LSB) and 400Ohm (MSB). ------------ GPIO22 (red1) ------|R 400 Ohm |------*---- VGA_R ------------ | ------------ | GPIO21 (red0) ------|R 800 Ohm |------* ------------ ------------ GPIO19 (green1) ----|R 400 Ohm |------*---- VGA_G ------------ | ------------ | GPIO18 (green0) ----|R 800 Ohm |------* ------------ ------------ GPIO5 (blue1) ------|R 400 Ohm |------*---- VGA_B ------------ | ------------ | GPIO4 (blue0) ------|R 800 Ohm |------* ------------ GPIO23 ------------------------------------ VGA_HSYNC GPIO15 ------------------------------------ VGA_VSYNC 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 connect GPIO_NUM_2 (led) to the VGA signals.