Main Content

ESP32 VGA Tetris

In this Instructables I will show how to build a clone the classic game Tetris, using an ESP32 and generating the output for a VGA monitor. This game is made possible by the amazing ESP32Lib Arduino library done by bitluni.
You will need the ESP32 board support installed in the Arduino IDE (I am using the last version available now, i.e. the 1.8.9 IDE). You can find it in the Library Manager searching for bitluni. Since the last version has been published just a couple of weeks ago, it is still work in progress but it already provides some simple examples.
Compared to my previous projects where I wrote similar vintage game clones for the Arduino or ESP8266, the ESP32 is extremely more powerful, the VGA output with various resolutions (320x200, 320x240, 360x400, 460x480) and up to 14Bit colors. Furthermore you have orders of magnitude more memory.
In this Tetris clone I am just using a resolution of 320x200 with 8 colors. The code is a quick “conversion” of a previous version for the Arduino VGA, thus it is poorly designed and un-optimized. On the other hand, the ESP32 VGA potentiality are much higher, giving the possibility to write more and more sophisticated games comparable, I guess, to the ones from the DOS era. I wish that this project would be of use to other makers to write many other games in the future. “

Link to article