When the ESP8266 launched, no one could have anticipated the impact it would have on the maker community. It was intended to be a low-cost WiFi module for IoT applications, but the surprisingly robust module found its way into all kinds of projects. The more powerful ESP32 simply expanded on that, and introduced even more capability. Now, thanks to the FabGL library, you can take advantage of that to make a VGA gaming platform.

At its heart, Fabrizio Di Vittorio’s FabGL is a graphics library written specifically for the ESP32 module and the many development boards that utilize it. But, it also packs in a ton of other features beyond simple graphics in order to give you everything you need to build a gaming platform with a VGA display — or whatever else you can imagine with the tools provided. It has a VGA controller, a PS/2 keyboard controller, a comprehensive graphics library, a game engine, and even an ANSI/VT100 terminal.

The VGA output is capable of producing up to 64 colors, and FabGL has font sets for screen resolutions between 80x25 and 640x350. Sprites can have up to 64 colors, including transparency. Depending on your configuration and resolution, you can have two screen buffers. A number of classes are provided by the FabGL library so you can program all sorts of retro-style games. If you want to use your ESP32 as the base of a custom game console, the FabGL library is the perfect place to start.