For cheap, I'd suggest the Pocket Go, [1] but for my favourite I love the RG350P, [2] which is a little more expensive but has a community with a lot of homebrew behind it and it can run pretty much anything from PS1 downwards. There is also the RK2020 [3] with a little more oomph than the RG350P, the RK2020 is a pretty brazen Odroid-Go Advance clone, so if Odroid has the Go Advance in stock, get that instead, but they rarely do.
If you find these just a touch too expensive, they can be found on Banggood for small to hefty discounts. I got my RG350 (not RG350P, the RG350P is a minor improvement over the RG350 but at around the same price) for $60 on Banggood. Also, expect 1-2 month shipping on these consoles, but in my opinion it's so worth it.
[1] https://retromimi.com/collections/handhelds/products/pocketg... [2] https://retromimi.com/collections/handhelds/products/rg350p [3] https://retromimi.com/collections/handhelds/products/rk2020
There's a lot of OpenDingux devices- they have MIPS CPUs, so they don't run the same variety of software as the ARM-based ones. There's still a bunch of homebrew for OpenDingux, but it's not exactly organized, compared to Android and Linux devices. It involves hunting down poorly-documented executables, etc. Here's one list of software available:
https://github.com/retrogamehandheld/OpenDingux
There are two Pico-8 emulators that run on those things, tac08 and retro8. They both work on many games, but it's a bit hit-and-miss.
https://0xcafed00d.itch.io/tac08-rg350 / https://github.com/Jakz/retro8
However, it is apparently possible to get the official Raspberry Pi version of pico-8 running on the Odroid Go Advance, which is an ARM CPU running Linux, just like the RPi.
https://forum.odroid.com/viewtopic.php?f=193&t=37256&start=8...
Additionally to that, I dug up a version of TIC-80 ( https://tic80.com/ ), an open-source PICO-like environment, compiled for the OpenDingux which will run on the RG350:
https://github.com/retrogamehandheld/OpenDingux/raw/master/E...
The most difficult part, during the assembly process, was connecting the "ribbon" from the main board to the screen. Be careful as it is way too easy to lock the ribbon than to unlock it from the socket.
Not all games are working, but I managed to run both Mario and Wario (GBC) on it. Some games are not working, some you can play but the save feature is not working. The battery life is impressive, comparing to my smartphone.
For the same money you can get a powkiddy or something simillar, running linux and with support for GBA, (S)NES, etc.
https://www.youtube.com/watch?v=dNrpVhP8fDc
All the usual suspects (ebay, aliexpress,...) have it.
also firmware: https://github.com/TriForceX/MiyooCFW
The Go has good battery life, instant-on, and has a certain DIY spirit. I don't know if it's possible to run MakeCode programs directly on the Odroid Go but it would probably be doable for someone with more knowledge of these things.
Our beta backer tier have been godlike in their ability to make the STM32 do things I'd never thought we'd see... much less see before it's even launched. I mean it already has a Doom port.
I think, compared to the off-the-shelf Emu handhelds on which I cut my teeth (as far back as GP2X and Dingoo A320 days) it's underpowered and overpriced but you're dead on the money that they have a different charm and set of challenges.
MakeCode compiles down to native instructions, IIRC, so it should run on pretty much anything capable of running a screen that meets their - relatively forgiving - specs - https://arcade.makecode.com/hardware/adding
Edit: GP2X not GP32X!
It has a color screen and has quite a few tricks up its sleeve. I think I remember it even runs Wifi-Scanners and whatnot (ESP32). Here's some more background info: https://wiki.odroid.com/odroid_go/go_assembling
Just thought that could be an interesting platform to try this on.