1608

Game Console on the ESP32 without extra components!

This project shows that the internal peripherals of the ESP32 are enough to implement a complete game console. One of the internal DACs are tweaked to run at 13.33 MSamples and the second is hacked to output audio at a much lower rate.
The video is calculated on the first core while the complete game logic and audio handling is done on the second. This way almost all ressources are utilized to master the high data rates.
The code is implemented in the Arduino IDE with ESP32 support.

B/W Video
The first step was to generate video that was accepted by all kinds of TVs this was done respecting the PAL and NTCS specs
https://github.com/bitluni/ESP32CompositeVideo​
https://youtu.be/5t1_XNc3vNw​

Game Controller
To be able to have interaction NES/SNES controller support was added. THis way old school game controllers can be used to play the games on the system.
https://github.com/bitluni/ArduinoGameController
https://youtu.be/Qpt14gJVpTk​

Audio Support
As third step an audio system was developed to mix and play music and sound on the second dac
https://github.com/bitluni/AudioVideoExample​
https://youtu.be/MOoKQnWF4OY​

Tetris Clone
At this point as proof of concept a Tetris clone was implemented with SpaceX rocket endscreens
https://github.com/bitluni/TetrisSpaceX​

COLOR
the latest addition is the color suport!
A demo project showing video and audio can be found here:
https://github.com/bitluni/DawnOfAV/tree/master/DawnOfAV​
and here is a recording of the code running
https://youtu.be/Xhiw5Utw6dE

Have fun!