Yes—you can play a real PC Doom port on a Raspberry Pi Pico. Graham Sanderson’s RP2040 port, derived from Chocolate Doom, runs the original WAD data format and was demonstrated with VGA video, a USB keyboard, and audio. On the original 2MB Pico, the executable and a compressed shareware DOOM1.WAD fit together in flash.
The board is not a complete console, however. You must match a firmware build to its display interface, pinout, flash capacity and input hardware. The standard Pico route is different from community projects that use a tiny OLED, and both differ again from RP2350 projects that output HDMI-style video.
As an Amazon Associate I earn from qualifying purchases.
What you need to know before starting
A microcontroller running Doom is a demonstration of careful optimization, not proof that every Pico board can run every Doom release. The implementation, board memory and peripherals determine what works.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
- The original RP2040 port targets a Raspberry Pi Pico-style board and a VGA-compatible display setup.
- Its documented input is a USB keyboard, and the original demonstration also produced audio.
- The 2MB Pico demonstration is designed around the compressed shareware DOOM1.WAD.
- RP2040 boards with 8MB of flash are documented as supporting larger game data, including Ultimate Doom and Doom II.
- A 72×40 OLED project for an RP2040 Zero and an HDMI/HSTX project for RP2350 boards are separate builds. Their firmware and wiring are not interchangeable with the VGA port.
Raspberry Pi co-founder and CEO Eben Upton described the result this way: “Doom might seem like a frivolous application, but it demonstrates just how powerful RP2040 can be in the hands of an experienced user.”
#1 Best Overall
- Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
- Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
- Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
- Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
- 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
Which tiny-Doom project should you choose?
Choose the display and board first. Buying a Pico and then trying to adapt an unrelated UF2 file is the most common way to end up with a blank screen or incorrect signals.
| Implementation | Board target | Display route | Documented game-data scope | Firmware situation |
|---|---|---|---|---|
| Original RP2040 Doom port | RP2040/Pico-class boards | VGA-compatible output using the project’s documented demo pin mapping | Compressed shareware DOOM1.WAD on the 2MB Pico demonstration; Ultimate Doom and Doom II on RP2040 boards with 8MB flash | Release UF2 files are provided by the project; source builds are also documented |
| Small OLED community build | RP2040 Zero | 72×40-pixel, 0.42-inch OLED | The project documents its own small-screen configuration | Use that project’s firmware and wiring instructions |
| HDMI/HSTX community build | RP2350 boards listed by that project | HDMI-style output through RP2350 HSTX hardware | The project’s own supported data and release instructions | Use the RP2350-specific build; RP2040 UF2 files are not a substitute |
The original VGA port is the most directly documented route if your goal is “Doom on a Raspberry Pi Pico.” The OLED route is attractive when physical size matters more than readability. The RP2350 route is for a newer chip and compatible HSTX hardware, not a drop-in upgrade for an RP2040 Pico.
Why an RP2040 can run Doom
The RP2040 is a dual-core Arm Cortex-M0+ microcontroller rated up to 133MHz, with 264kB of SRAM, USB 1.1 host/device support and eight programmable I/O (PIO) state machines. Those resources are modest beside a PC, but they are sufficient for a purpose-built port that stores the game executable and data in flash and generates video and input through tightly controlled hardware paths.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsFlash is separate from SRAM and is especially important here. The original demonstration was built around a 2MB Pico, so the compressed shareware WAD had to fit alongside the executable. A board with 8MB of flash gives the RP2040 port room for the larger Ultimate Doom and Doom II data sets documented by the project. More flash does not automatically make a board compatible: the firmware still has to support its pins, display and storage layout.
Raspberry Pi’s live RP2040 specification lists an expected production horizon of at least January 2041. That is a manufacturer expectation for the chip, not a promise that every Pico board or accessory will remain available locally.
Rank #2
- 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
- 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
- Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
- 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
- What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
Hardware checklist for the original Pico VGA build
Board and firmware
- An RP2040-based Pico or compatible board matching the release build you intend to flash.
- The project’s release UF2 for that board and display configuration, or the documented embedded build environment if you are compiling from source.
- Enough onboard flash for the WAD edition you intend to use: the demonstrated 2MB arrangement is aimed at shareware DOOM1.WAD, while the project documents 8MB RP2040 boards for Ultimate Doom and Doom II.
Display hardware
The original route generates VGA-compatible output. You need a VGA display path wired exactly as the selected build expects. That can be a Pico VGA expansion board or an equivalent circuit, but the connector alone is not the specification: resistor values, sync lines and GPIO assignments must follow the project’s documented pin map.
Keyboard and audio
The Raspberry Pi demonstration used a USB keyboard. Provide the USB host connection, adapter or hub arrangement required by your chosen board and firmware. Audio was part of the original demonstration, but the speaker, amplifier and pin assignment depend on the build; do not assume that a random audio accessory uses the same GPIO.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Game data
Use a WAD that you are authorized to use and that the firmware supports. The shareware DOOM1.WAD is the documented starting point for the 2MB example. Commercial Doom editions have their own data files and licensing terms; having a file is not the same as having permission to redistribute it.
Step-by-step: running the original RP2040 port
1. Select the exact board and release
Open the RP2040 Doom project documentation and identify the release that matches your board generation, flash size and display configuration. Do not select a UF2 merely because its filename contains “Pico.” A Pico VGA demo build can assume a particular GPIO map that another RP2040 board does not expose.
Check the project’s current README for supported WAD editions. An older README recorded Evilution and Plutonia as unsupported at that time; live project status can change, so verify before preparing those files.
Rank #3
- Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
- Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
- Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
- Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
- What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
2. Confirm the pin map before wiring
Use the documented VGA demo base pin mapping as the wiring reference for the original route. Mark each video, sync, ground, keyboard and audio connection before powering the board. If your expansion board has a different layout, use a build explicitly configured for it or change the source configuration and compile a matching image. Never infer a pin from the physical position of a header.
3. Assemble the display and input path
- Connect the Pico to the VGA-compatible circuit or expansion board using the selected build’s GPIO map.
- Connect the display and confirm that its input accepts the generated VGA timing.
- Attach the USB keyboard through the host arrangement supported by the board and firmware.
- Add the documented audio output hardware if you want sound, observing the project’s specified pin and electrical limits.
Keep the first boot simple. Test with only the required display and keyboard path before adding cases, hubs or extra peripherals.
4. Put the board into UF2 bootloader mode
Disconnect power, hold the board’s BOOTSEL control while reconnecting it, and wait for the removable bootloader drive to appear. The exact button label and drive name vary by board, so follow the board documentation if it is not identified as a Pico.
5. Install the prebuilt firmware
Copy the project’s matching UF2 file to the bootloader drive. The board normally reboots when the copy completes and the bootloader drive disappears. If it stays in bootloader mode, disconnect it, repeat the BOOTSEL procedure and verify that the UF2 is for the correct chip and board.
Source compilation is an alternative for developers who need a custom pin map or a board without a matching release. Use the embedded build environment and configuration described by the project rather than substituting a generic desktop Chocolate Doom build; the Pico image must include the microcontroller-specific video, input and storage code.
Rank #4
- Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
- Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
- Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
- Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
- Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
6. Install or select the WAD
Follow the release’s instructions for supplying the WAD. Some builds package a compressed shareware WAD with the image; others require you to copy or embed a compatible file. Use the exact filename and location the current documentation specifies. For the documented 2MB demonstration, that file is the shareware DOOM1.WAD; do not replace it with a larger IWAD and assume the flash layout will still fit.
7. Boot and test in a controlled order
- Power the board with the display already connected.
- Check for a stable video signal before pressing keyboard keys.
- Confirm that movement and fire keys register.
- Test audio only after video and input work, because an incorrectly wired audio circuit can introduce power or signal problems.
There is no universal frame-rate figure for these projects. Published material establishes that the port runs, not a controlled performance comparison between display routes.
Using the 72×40 OLED RP2040 Zero build
A community project demonstrates how far the display can be reduced: an RP2040 Zero paired with a 72×40-pixel, 0.42-inch OLED. This is a different hardware design from the VGA port. The tiny panel has a fixed, very low resolution, so text and enemies are necessarily difficult to read compared with a monitor.
Follow that project’s own wiring, display driver, input method and firmware instructions. Do not flash the original VGA UF2 and expect it to discover the OLED. The OLED project may use different GPIOs, a different screen controller and a different way to provide controls. Its compact size is the point; it is not a general-purpose replacement for the VGA setup.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Using an RP2350 HDMI/HSTX build
Another community implementation targets RP2350 boards and uses the chip’s HSTX hardware for HDMI-style output. RP2350 is a different microcontroller generation, and the project names the boards it supports. This route can be appropriate when you want a digital display connection, but it requires the listed RP2350 board, compatible HSTX wiring and the project’s own firmware.
Best Value
- 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
- Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
- Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
- HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
- What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
Do not mix assumptions between generations. An RP2040 VGA UF2 cannot be treated as an RP2350 HDMI image, and an RP2350 HSTX design does not tell you how to wire an RP2040. Match the chip, board, connector and release as a set.
WAD editions, flash capacity and legal use
Shareware DOOM1.WAD
The original 2MB Pico demonstration used a compressed shareware WAD alongside the executable. That is the least demanding documented starting point and the sensible first test for a standard Pico arrangement.
Ultimate Doom and Doom II
The RP2040 Doom documentation states that RP2040 boards with 8MB of flash can play Ultimate Doom and Doom II. This is a capacity and project-support statement, not a guarantee for every 8MB board: the board still needs a compatible build, pinout and storage arrangement.
Recommended Free Tools
Evilution and Plutonia
An earlier project README recorded Evilution and Plutonia as not yet supported. Because repository support can change, check the current documentation and release notes before buying hardware or preparing those WADs.
Use game data obtained under an applicable license. The microcontroller port does not grant permission to copy or redistribute commercial WADs.
Troubleshooting by symptom
Nothing appears on the display
- Confirm that the UF2 matches the board and the selected display route.
- Recheck every GPIO against the project’s pin map; one shifted wire can remove sync or color.
- Verify that the monitor accepts the generated VGA signal.
- Disconnect optional audio and USB accessories, then test the minimum display circuit.
The board keeps showing as a bootloader drive
- Make sure the copy completed and that the UF2 was not interrupted.
- Check that you used a firmware image for the correct RP2040 or RP2350 family.
- Try the board’s BOOTSEL sequence again and use the release artifact supplied for that exact configuration.
The game starts but the WAD is rejected
- Check the filename, path and edition required by the current project instructions.
- Verify that the WAD is compatible with the port and not larger than the board’s available flash layout.
- For a 2MB Pico, return to the documented compressed shareware DOOM1.WAD arrangement before testing larger editions.
The keyboard does not respond
- Confirm that the build supports USB keyboard input and that the keyboard is connected through a supported host arrangement.
- Test a simple wired keyboard before adding a hub or wireless adapter.
- Check that the display and board share a stable power source; USB peripherals increase current demand.
Audio is missing or noisy
- Verify that the selected firmware includes audio and that your build exposes the documented audio pin.
- Use the specified speaker or amplifier circuit rather than connecting a low-impedance speaker directly to an arbitrary GPIO.
- Boot without audio hardware to determine whether the problem is wiring or firmware.
What this project proves—and what it does not
The RP2040 Doom port proves that a carefully optimized microcontroller can execute a genuine Doom engine and render the original game data. It also demonstrates why embedded projects spend so much effort on memory layout, timing and peripheral control: 264kB of SRAM and a small flash budget leave little room for waste.
It does not mean that a Pico is a miniature PC, that every Doom WAD is supported, or that every RP2040 board can use the same UF2. Display drivers, GPIO assignments, USB host arrangements, audio circuits and flash capacities are all build-specific. Treat the board as the compute core of a small console and choose the rest of the system around the firmware you intend to run.
A practical buying and build decision
- Choose the original Pico VGA route if you want the clearest, most directly documented Raspberry Pi Pico demonstration with a monitor, USB keyboard and optional audio.
- Choose an 8MB RP2040 board if your target is Ultimate Doom or Doom II and the project lists a compatible build for that board.
- Choose the RP2040 Zero OLED route if the 72×40-pixel screen and extreme compactness are more important than comfortable play.
- Choose the RP2350 HSTX route only when you have one of the project’s listed RP2350 boards and want its HDMI-style output.
In every case, download the current release artifact, verify its board and pinout, use a supported WAD, and keep the project’s README beside you while wiring. That discipline matters more than the nominal clock speed printed on the chip.
Quick Recap
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.

