|
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.