Recommended Free Tools
Adafruit adapted its QT Py ESP32 Pico development board into a compact handheld that runs Doom: its project ported the Retro-Go firmware to the board, then used Retro-Go’s PrBoom engine port to load the shareware DOOM1.WAD from a microSD card. The QT Py supplies the computing power; it is not a complete handheld console on its own.
What the project actually built
Adafruit’s January 2022 project presents Doom as a demonstration of a small ESP32-based device’s capabilities, not as a claim that the QT Py is a ready-to-use game console. The project ported Retro-Go to the QT Py ESP32 Pico. Retro-Go already included a PrBoom port for ESP32, which the build used to run the shareware DOOM1.WAD from microSD. Adafruit’s project post
The project’s “smallest playable” framing is a description, not a verified world record. Hackaday’s contemporaneous report described the game as playable at full speed with soundtrack, but did not provide a measured frame rate or test method. Hackaday’s coverage
The QT Py board behind the build
The QT Py ESP32 Pico is a development board based on the ESP32-Pico-V3-02. Adafruit’s official documentation specifies a dual-core processor running at 240 MHz, 8 MB of flash and 2 MB of PSRAM. The board itself measures 22.0 × 17.9 × 5.9 mm and weighs 2.3 g; those figures describe the bare board, not the finished handheld. Adafruit QT Py ESP32 Pico product page
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →#1 Best Overall
- Entering download mode: Press and hold the BOOT button of ESP32C3, then press the RESET button, release the RESET button, and then release the BOOT button, at this time, ESP32C3 will enter the download mode. (You need to re-enter the download mode every time you connect, sometimes you press it once, the port is unstable and will disconnect, you can judge it by the port recognition sound)
Its small footprint is only part of the engineering story: the board has to work alongside a screen, physical controls, storage for game data and a power arrangement. The official guide also documents Wi-Fi, Bluetooth Classic and BLE, STEMMA QT, a NeoPixel, reset and boot buttons, and battery input pads. Those are board features, not proof that the Doom build used any specific wireless feature or battery setup. Adafruit’s QT Py ESP32 Pico guide
Display, buttons and storage
Adafruit’s project post describes a 1.3-inch, 240 × 240 TFT IPS display. Hackaday reports six tactile buttons. Neither source identifies the exact display or button part numbers, so these are component descriptions rather than a complete, reproducible parts list. The project materials also do not establish the wiring details, finished enclosure or exact battery arrangement.
Rank #2
- 2.4GHz Dual Mode WiFi + Bluetooth Development Board
- Support LWIP protocol, Freertos
- SupportThree Modes: AP, STA, and AP+STA
- Ultra-Low power consumption, Compatible with Arduino IDE
- ESP32 is a safe, reliable, and scalable to a variety of applications
The microSD card stores the shareware game data used by the project. The sources do not specify a card capacity, brand or speed class. Adafruit’s account refers to DOOM1.WAD; it does not mean that the board includes a licensed copy of Doom, or that arbitrary commercial Doom files can be substituted interchangeably.
How Retro-Go and PrBoom fit together
Retro-Go is firmware for running retro games on ESP32-based devices. Its repository lists Doom among its supported systems and credits the Doom engine as a port of PrBoom 2.5.0. In this build, the QT Py is the hardware platform, Retro-Go is the firmware, and PrBoom provides the Doom engine used to run the game data. Retro-Go repository
Rank #3
- 【ESP32-C3 RISC-V Development Board】 Built with the ESP32-C3 32-bit RISC-V chip (160MHz), featuring Arduino/CircuitPython support and multiple development ports. Ideal for IoT and edge AI projects.
- 【Outstanding RF & Long-Range Connectivity】 Equipped with U.FL antenna for stable Wi-Fi/BLE5.0 communication over 100m. Complete RF performance ensures reliable IoT connectivity.
- 【Ultra-Low Power & Battery-Friendly】 4 working modes, including deep sleep at 44μA. Onboard battery charge IC supports Li-ion/LiPo, perfect for wearables and wireless IoT.
- 【Thumb-Sized & Production-Ready】 Compact 21x17.5mm design with SMD/Breadboard-friendly layout. Single-sided component mounting ensures sleek integration into wearables.
- 【Rich I/O & Edge Computing】 11 digital I/O (PWM) + 4 analog I/O (ADC), plus UART/IIC/SPI/IIS ports. Optimized for TinyML and edge AI applications.
That distinction matters if you want to understand or recreate the project: the development board does not arrive as a Doom console with the game included. The reported setup depends on the firmware port and separately supplied shareware WAD.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.What the board’s USB connection does—and does not—mean
The QT Py ESP32 Pico connects over USB through a USB-to-serial converter; it does not have native USB device support. Its USB connection therefore should not be mistaken for a direct wired USB keyboard or mouse interface. Adafruit’s board guide
Quick Recap
Best Value
- ESP32-P4-Pico multimedia development board based on ESP32-P4 module, it features rich Human-Machine interfaces, commonly used peripherals such as MIPI-CSI, MIPI-DSI, USB 2.0 OTG, SDIO 3.0 TF card slot, microphone, and speaker header, etc.
- High-performance MCU with RISC-V 32-bit dual-core and single-core processors. 128 KB HP ROM, 16 KB LP ROM, 768 KB HP L2MEM, 32 KB LP S-RAM, 8 KB TCM. 32MB PSRAM in the chip's package, with onboard 32MB Nor Flash
- Powerful image and voice processing capability. Provides image and voice processing interfaces including JPEG Codec, Pixel Processing Accelerator, Image Signal Processor, H.264 encoder
- Adapting 2*20 GPIO headers with 27 x remaining programmable GPIOs
- Security features: Secure Boot, Flash Encryption, cryptographic accelerators, and TRNG. Additionally, hardware access protection mechanisms help to enable Access Permission Management and Privilege Separation
Rank #4
- Dual-Core Performance Up to 240 MHz: Run sensor processing, wireless communication, automation logic and connected-device tasks on a 32-bit dual-core ESP32 platform designed for responsive embedded and IoT projects
- Built-in Wi-Fi and Bluetooth 4.2: Connect to 2.4 GHz Wi-Fi networks or use Bluetooth Classic and BLE for wireless sensors, smart devices, remote controls, home automation and other connected projects
- Flexible Power-Saving Modes: ESP32 power-management features support dynamic clock scaling and low-power operating modes, helping developers reduce energy use in compatible sensing, monitoring and connected-device applications, suitable for battery-powered Internet of Things (IoT) devices.
- USB-C Programming with CP2102: Connect through USB-C for power, sketch uploads and serial monitoring, while GPIO, UART, SPI and I2C interfaces support sensors, displays, motor drivers and other modules (USB-C cable not included)
- Over-the-Air Update Support: Configure OTA functionality through a compatible ESP-32 software framework to update deployed firmware over Wi-Fi without reconnecting the board by USB for every revision
What is known—and what remains unspecified
- Established: The project used the QT Py ESP32 Pico, a 1.3-inch 240 × 240 display, six tactile buttons as reported by Hackaday, microSD game data, and Retro-Go with its PrBoom port.
- Not established: A full bill of materials, exact display and button models, wiring diagram, finished device dimensions, battery configuration, battery life or measured performance benchmark.
- Practical implication: The QT Py is a useful reference point for the build, but the board alone is not a ready-made handheld or a confirmed drop-in kit. Choosing compatible peripherals and developing the firmware setup are part of making a similar device.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

