A few months ago, I met a little cheap ARM-based board called Arietta-G25 (available for 36euros in France @lextronic.fr), It has no HDMI ouput & no direct AUDIO output neither ; but the lack of pre-soldered GPIO HEADER allow it to be one of smallest & thinest board that I found.
It's recognized as an ethernet card/Linux Gadget as soon as you plug it to your PC USB (but no signed drivers for W10, so try with Win7 or better : a Linux box ;) )
It take me a couple of nights to have the wanted distro with good kernel headers, but now I have a stable system which run a Debian w/ a 4.4.13 kenel.
For a simple usage, you will find some pre-brewed SDcard image files here.
Another good point is the ~dynamic pin mapping for the GPIO pins
and the ability to wire USB Host connectors directly (#1 is linked to microUSB, #2 is linked to an optional wifi module (that I never be able to use...), #3 is free & full speed)
Now, any console need a screen !
The firm website sales an 'XTERM' called screen & offers a tutorial to add an Adafruit TFT 2.8 touchscreen (driven by the SPI interface) ( ili9341 240x320px )
I look for similar screen -but- built for Raspberry, & discovered that they uses SPI too, I just had to adapt pinout (/!\ 3.3v logical levels) and find the good compatible module/screen for my kernel
Here : an ili9488 480x320px (that's why I wanted to have the good kernel headers version)
BUT beware : the more the screen/resolution is high the slowest it runs ;(
(for example the Adafruit TFT 2.8 supports DOOM demo, the Kufmann 3.5 lags)
W/ my USBs & my screen, I start to make a circuit on a perfboard...
Now, any console need a pad !
Ok, it's not really a game console, but It can emulate (w/ some program of my own) CHIP-8, GB, play some Raycasters (poor DOOM-like).
So I needed pad for these usages & to navigate into system menus (that I made too)
In order to do this & save a maximum of GPIO pins, I deferred this work to a dedicated Arduino ProMini 3.3v 8MHz (AT328P) which samples the pad & returns result to the Arietta by an RX/TX line (/!\ 3.3v logical levels).
Then I was ready to test the whole ...
Now any console need a case !
well OK, I'm not the cleanest box builder, but it works...
If you want to know more about programming this box (ARM side or Arduino Side)
Please let me a comment or a message ...