main page, file list (580), source, all in md+txt+html+pdf, report abuse, stats, random article, consoomer version

Open Console

{ Open consoles are how I got into suckless programming, they taught me about the low-level, optimizations and how to actually program efficiently on very limited hardware. I recommend you grab one of these. ~drummyfish }

Open consoles (also indie handhelds etc.) are tiny GameBoy-like gaming consoles mostly powered by free software and free hardware, which have relatively recently (some time after 2015) seen a small boom. Examples include Arduboy, Pokitto or Gamebuino. These are NOT to be confused with the Raspberry Pi (and similar) handhelds that run GameBoy/PS1/DOS emulators (though some open consoles may use e.g. the RP2040 Raspberry pi processor) but rather custom, mostly FOSS platforms running mostly their own community made homebrew games. Open consoles are also similar to the old consoles/computers such as NES, GameBoy etc., however again there is a difference in being more indie, released more recently and being "open", directly made for tinkering, so it's e.g. much easier to program them (old consoles/computers very often require some unofficial hacks, obscure libraries, gcc patches etc. to just get your code working).

In summary, open consoles are:

Recommended consoles for starters are Arduboy and Pokitto which are not only very well designed, but most importantly have actual friendly active communities.

These nice little toys are great because they are anti-modern, simple, out of the toxic mainstream, like the oldschool bullshit-free computers. This supports (and by the low specs kind of "forces") suckless programming and brings the programmer the joy of programming (no headaches of resizable windows, multithreading etc., just plain programming of simple things with direct access to hardware). They offer an alternative ISA, a non-x86 platform without botnet and bloat usable for any purpose, not just games. Besides that, this hobby teaches low level, efficiency-focused programming skills.

Watch out (2024 update): having been successful on the market, the world of open consoles is now flooded by corporations and SJWs bringing in the toxicity, they are going to go to shit very soon, get the old ones while you still can. New consoles already try to employ web-only IDEs in micropython, they're websites are full of suicide inducing diversity propaganda and unusable on computers with less than 1 TB of RAM.


Open consoles can typically be programmed without proprietary software (though officially they may promote something involving proprietary software), GNU/Linux mostly works just fine (sometimes it requires a bit of extra work but not much). Most of the consoles are Arduino-based so the Arduino IDE is the official development tool with C++ as a language (C being thankfully an option as well). The IDE is "open-source" but also bloat; thankfully CLI development workflow can be set up without greater issues (Arduino comes with CLI tools and for other platforms gcc cross-compiler can be used) so comfy programming with vim is nicely possible.

If normies can do it, you can do it too.

Some consoles (e.g. Arduboy, Pokitto and Gamebuino META) have their own emulators which make the development much easier... or rather bearable. Without an emulator you're forced to constantly reupload the program to the real hardware which is a pain, so you want to either use a nice LRS library such as SAF or write your game to be platform-independent and just make it run on your development PC as well as on the console (just abstract the I/O and use SDL for the PC and the console's library for the console -- see how Anarch does it).

Open Console List

Some notable open consoles (which fit the definition at least loosely) are listed here. Symbol meaning:

name CPU RAM (K) ROM (K) display year notes
Arduboy 8b 16 MHz 2.5 32 64x32 1b 2015 * A C +, tiny
Gamebuino 8b 16 MHz 2 32 84x48 1b 2014 + A -, SD
Pokitto 32b 48 MHz 36 256 220x176 2018 * C +, ext. hats, SD
ESPboy 32b 160 MHz 80 4000 128x128 2019 A
GB META 32b 48 MHz 32 256 168x120 2018 A + -, SD
Nibble 32b 160 MHz 80 4000 128x128 2021 A, AAA bat.
UzeBox 8b 28 MHz 4 64 360x240 2008 C, +
Tiny Arcade 32b A
Thumby 32b 133 MHz 264 2000 72x40 1b 2022 RPI (RP2040), mainly web editor :(
Pocket Arcade
Ringo/MakerPhone 32b 160 MHz 520 4000 160x128 2018 A -, phone, SD
Agon 8b 18 MHz 512 640x480

TODO: BBC micro:bit, Vircon32 (fantasy console implementable in HW, not sure about license), Retro Game Tiny, Adafruit PyGamer, ... see also https://github.com/ESPboy-edu/awesome-indie-handhelds

See Also

Powered by nothing. All content available under CC0 1.0 (public domain). Send comments and corrections to drummyfish at disroot dot org.