I started my experiments with the WaveShare compute module IO board. It gives me access to all the board's ports in a quick and easy way. I was then able to validate the different modules I wanted to use (except for power supply).
The most important of them is the screen. It was clearly not easy to find the display that suited me. I had to spend a lot of time on Aliexpress to ask for information from the sellers in order to get reliable features. It was also necessary to study the documentation of these displays in order to fully understand how they work and adapt the configuration of the Raspberry accordingly.
Indeed, I use on this project the DPI interface of the Raspberry which is a simple parallel interface that sends the color data of each pixel at the same time on all the ports. The more ports we use, the more accurate the color will be.
The Raspberry can go up to 24 bits but I preferred to settle for 18 bits to keep enough GPIO available for the other features. The interface is controlled by the GPU and we use the config.txt file to adapt the output to the screen characteristics.
I tried several displays and ended up choosing a 3.5" 4/3 format which is easily found on the Internet : LQ035NC111.
I also made myself a small game controller to be able to carry out the first tests.