Microcontrollers these days are small enough, powerful enough, affordable enough, and efficient enough that it is entirely feasible to use one to build your very own video game console. We’ve already seen that with Arduino-compatible handheld consoles like the popular Arduboy. But Nicola Wrachien wanted to push the envelope, and so created a handheld console that runs on a Cortex-M0+ at 40 FPS, and he even made a platformer to showcase it.
While there are certainly more powerful microcontrollers on the market, Wrachien wanted the challenge of building a console around the Cortex M0+, which is the same microcontroller used in the Arduino Zero and some Adafruit development boards. To properly utilize the Cortex-M0+, Wrachien had to also create his own game engine, a game to demonstrate it, and the actual handheld console itself.
On the hardware side, Wrachien used a uChip development board that is essentially an Arduino Zero in a smaller package. That drives a 1.8″ 160×128 TFT LCD display via SPI. Those are mounted on a custom PCB designed in KiCAD, along with additional components like buttons and an op amp for audio output. Wrachien hasn’t designed a case for it yet, but the overall package is very compact and ideal for a portable console.
With that hardware and Wrachien’s custom game engine, the console is able to run at a capped 40 FPS (Frames Per Second) with a dual playfield, parallax scrolling, and 16bpp (65,536 colors). Sound hasn’t been implemented yet, but there are provisions in place for loading samples from an SD card. Wrachien created a game to demonstrate the performance, which is a platformer that runs very smoothly. He says that his engine could also perform equally well for all kinds of games.