Adafruit's Qt Py ESP32 Pico Gets a Teeny-Tiny Doom Port for Pocket-Size Rip and Tear

Designed for ultra-violence and ultra-portability, this pocket-friendly console lets you rip and tear on the go.

Gareth Halfacree
3 years agoGaming / Retro Tech / HW101

Adafruit has shown off the gaming chops of a humble Espressif ESP32 microcontroller with a project to build what is among the smallest playable incarnations of id Software's classic first-person shooter Doom — based on a Qt Py ESP32 Pico.

"We’ve been working on a super-tiny, super-sharp/readable, Doom playing device," Adafruit's Phillip Torrone explains. "(It does more than Doom, but … Doom!). Doom is often the 'hello world' for what’s possible on hardware, particularly when there’s a screen and some button inputs. Is this one of the smallest playable Doom devices?"

This QT Py ESP32 Pico-based gadget is one of the smallest Doom devices around. (📹: Adafruit)

The compact handheld console, codename "Pinky" after the "Demon" enemy's nickname from the original Doom turned canonical nomenclature in later games, features an Espressif ESP32 Pico v2 microcontroller with two Tensilica LX7 processor cores running at 240MHz with 2MB of pseudo-static RAM (PSRAM) and 8MB of flash memory.

Those specifications may not sound like much, but the original Doom launched in 1993 with system requirements of an Intel 386 or compatible with 4MB of RAM, a VGA graphics card, and a hard drive for installation. 2MB of PSRAM, then, is perhaps a little tight — but shrinking the id Tech 1 engine, released by its creators under an open source license, to ever more modest hardware has become a hobby for many in the embedded community.

The project is based on the Retro-Go project, which in turn uses PrBoom for Doom compatibility. (📹: Adafruit)

To this, Adafruit has added a 240x240 1.3" IPS display panel, giving the graphics something of a vertical stretch compared to the 4:3 aspect ratio for which they were designed, a microSD storage card in place of a hard drive, and a general-purpose input/output (GPIO) expander to provide support for ten button inputs, a constant-current backlight, headphone amplifier with mute, and card detection.

On the software side, the gadget leans on an ESP32 port of Retro-Go — a retro gaming engine originally developed for the ODROID GO family of devices — and its version of the PrBoom Doom-compatible game engine.

More information on the project is available on the Adafruit website.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles