Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
FREEDOM251

Freedom251 › Blog › arcade machine

Building an ESP32 Handheld Arcade Emulator: Boards, Systems, and Parts

By Freedom251 Team · · 10 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Yes—an ESP32 can power a genuine handheld arcade and console emulator, but the result depends on the exact chip, memory configuration, display, and firmware. Current projects show the ESP32-S3 running NES, Game Boy, Sega, MSX, Doom-class software and selected MAME arcade games. It is not a universal arcade replacement: each firmware release supports a defined set of emulator cores, and demanding systems can be limited by RAM placement, rendering bandwidth, audio scheduling, or pin assignments.

For a new build, start with an ESP32-S3 board that has external PSRAM, pair it with a small SPI TFT and microSD card, then select firmware whose documented cores match the games you actually intend to play. Two useful reference designs are the ESP-BOX-EMU handheld and Adafruit’s Feather ESP32 V2 arcade build.

As an Amazon Associate I earn from qualifying purchases.

What an ESP32 handheld can emulate

“ESP32 emulator” describes a family of projects rather than one standard product. The processor, available flash and PSRAM, display driver, audio path and emulator cores all affect compatibility. A firmware image that runs Genesis may not include the same systems as an image aimed at arcade titles.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Reference firmware or build Systems documented by the project What that means for a builder
ESP-BOX-EMU NES; Game Boy and Game Boy Color; Sega Master System and Game Gear; Genesis/Mega Drive; MSX; Doom; Dark Forces; PICO-8 A broad console and home-computer set, with a custom handheld interface, microSD loading, save states, audio and haptics.
esp32-emu-turbo Several console systems plus an arcade MAME 0.37 port Targets an ESP32-S3 N16R8 configuration; check the project’s exact core list and build settings before assuming a game will run.
Adafruit Arcade Machines examples Space Invaders, Lunar Rescue, Galaga, Pac-Man, Ms. Pac-Man, Donkey Kong, Burger Time, Game Boy and NES A simpler Feather-based route with downloadable binaries for the listed examples rather than a general-purpose, all-arcade image.

The presence of a system in one table row does not make it available in every ESP32 emulator. Read the selected project’s release notes and source configuration for the board revision, emulator core, controller mapping and required assets.

#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter | 4Pack Type C Female to A Male Cable Converter for Apple Duo 17 16 15 14 Plus,iWatch Watch 12 11 10,iPad 9 8 Air,Airpods 5 4
  • 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.

Why the ESP32-S3 is the practical starting point

The ESP32-S3 is the strongest current target among the documented handheld designs because projects pair it with external PSRAM and use both processor cores when needed. The esp32-emu-turbo target identified as N16R8 has 16 MB of flash and 8 MB of octal PSRAM. ESP-BOX-EMU is built around the ESP32-S3-BOX or BOX-3 platform.

Flash and PSRAM

Flash stores the firmware and can hold application data, while PSRAM provides additional working memory for emulator state, graphics buffers and assets. A board advertised only as “ESP32” may have a different chip, flash size or no usable external PSRAM. Verify the exact part number and memory suffix before designing a PCB or ordering a shell. A practical marketplace search phrase is ESP32-S3 development board 16MB flash 8MB PSRAM; treat the search result as a starting point and confirm the seller’s pinout and memory specification.

Dual-core scheduling is not automatic

ESP-BOX-EMU documents a custom dual-core Genesis arrangement that separates the main CPU/video work from the sound unit. This is a firmware design choice, not a guarantee that every emulator will scale across both cores. Its documentation also warns that Genesis performance can fall when frequently used (“hot”) buffers spill into PSRAM instead of faster internal memory. Keep that constraint in mind when adding large frame buffers, overlays or background tasks.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Display selection: resolution, driver and transfer path

The display is part of the emulator’s performance budget. Adafruit’s reference build uses a 2.4-inch, 320×240 TFT. The ESP-BOX-EMU design uses the display and board combination defined by its custom hardware. Before buying a panel, confirm all three of these details:

Rank #2
Sale
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter | USB C Dongle with 90W Max Power Delivery, 3×5Gbps USB A Data Ports, for MacBook, Dell, and More (Charger Not Included)
  • 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.
  • Controller and interface: many small panels use SPI, but the exact controller, such as an ILI9341-class device, and the wiring expected by the firmware must match.
  • Resolution and orientation: the emulator’s rendering code may assume a particular width, height or rotation. A physically compatible screen can still show a blank or rotated image when those settings differ.
  • Pinout and transfer limits: SPI clock wiring, chip-select, data/command and reset pins must agree with the project. Full-screen transfers consume bus time, so a panel with a different interface or pin assignment can reduce responsiveness even when the resolution is correct.

For a fresh build, a 2.4-inch 320×240 SPI TFT is a defensible baseline because it is explicitly used in the Feather example. Verify the controller and pinout before purchasing; do not assume every panel sold at that size is interchangeable.

Storage, ROMs and save states

Storage is not an accessory. ESP-BOX-EMU loads ROM files, box art and save states from microSD, and it can expose the card over USB-C for file management. This lets the firmware remain in flash while games and artwork are replaceable.

Prepare the card correctly

Adafruit’s arcade workflow specifies a FAT32 card with an MBR partition table. Format the card to those requirements, copy only the directory and file structure expected by the selected firmware, then eject it cleanly before inserting it into the handheld. A card formatted as exFAT or using a different partition scheme may not mount even though a computer can read it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Plan the file workflow

  • Keep ROM filenames and folders consistent with the emulator’s documented scanner or menu.
  • Store box art in the naming and directory pattern expected by the frontend; artwork is optional, but incorrectly named files can make a library appear incomplete.
  • Use the firmware’s save-state slots rather than editing state files on a computer while the device is running.
  • If USB-C card mounting is supported by your build, unmount the card in software before disconnecting it to avoid corrupting saves.

Do not treat a microSD card as a performance upgrade. It supplies capacity and convenient swapping; the emulator still depends on the board’s RAM and rendering path while a game is running.

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter | 85W Max PD, 2 USB 3.0 & 1 USBC Data Ports, SD/TF Card Reader, for Laptops/Mac and Other Type C Devices (Charger Not Included)
  • 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.

Controls and enclosure choices

A usable handheld needs a reliable directional pad, face buttons, start/select controls and, where the firmware supports them, shoulder or menu buttons. ESP-BOX-EMU combines a custom PCB with Game Boy Color-style controls, a 3D-printed shell, haptics and a 1000 mAh LiPo battery. That reference is valuable because it solves mechanical alignment, switch travel and wiring as one system.

Membrane controls versus discrete switches

Replacement Game Boy Color buttons and silicone membranes can provide a familiar feel when the shell and PCB are designed for them. Discrete tactile switches are easier to prototype on a development board but require careful placement, debounce settings and a panel that will not flex under repeated presses. Whichever approach you choose, map every input in firmware before closing the shell; reversing a left/right or A/B mapping after assembly is unnecessarily difficult.

Custom PCB or hand wiring

A custom PCB shortens the wiring between the ESP32-S3, display, microSD, buttons, audio and haptic motor, but it commits you to a fixed pinout. Hand-wired prototypes are easier to change and are useful for proving the emulator and display first. Record the GPIO assignment as you go, because firmware built for the reference board may assume pins that are unavailable on your chosen module.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Audio, haptics and power

Adafruit’s parts list uses a MAX98357A I2S amplifier, a speaker, a LiPo battery and headers alongside the Feather ESP32 V2, TFT and microSD hardware. ESP-BOX-EMU adds haptic feedback and a 1000 mAh LiPo to its integrated design.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray | Data transfer & Fast charging for MacBook, iPhone 17/16/15, iPad, Samsung Galaxy, Apple Watch
  • 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
  • Audio: choose an amplifier and speaker that match the firmware’s audio interface. I2S wiring, power and ground must be correct; a silent emulator is often a configuration or pin problem rather than a missing core.
  • Battery: use a protected LiPo and a charging circuit designed for that cell. Include a physical power switch or controlled shutdown path so the card can be unmounted safely.
  • Haptics: a vibration motor needs a suitable driver stage; do not connect a motor directly to an ESP32 GPIO. Provide firmware controls to disable it when battery life or noise matters.
  • Noise and resets: amplifier current peaks and motor startup can disturb a marginal supply. Keep power and ground wiring short, and test audio and vibration separately before adding both to the final enclosure.

Comparing the two main reference approaches

Design axis ESP-BOX-EMU esp32-emu-turbo Adafruit Feather route
ESP32 hardware ESP32-S3-BOX or BOX-3; custom handheld PCB in the reference design ESP32-S3 N16R8 target with 16 MB flash and 8 MB octal PSRAM Feather ESP32 V2
Documented software coverage NES, Game Boy/Color, Master System/Game Gear, Genesis/Mega Drive, MSX, Doom, Dark Forces and PICO-8 Additional systems and an arcade MAME 0.37 port are reported; exact coverage is firmware-specific Named arcade examples plus Game Boy and NES
Display and transfer considerations Use the panel and pinout defined by the BOX/custom-board design; project-specific limits apply Verify the target board’s display wiring and rendering configuration 2.4-inch 320×240 TFT in the documented parts set
Storage and saves microSD ROMs, box art and save states; USB-C card mounting supported Depends on the selected build; confirm its storage implementation microSD hardware is part of the arcade workflow; FAT32/MBR preparation is specified
Controls and enclosure GBC-style controls, custom PCB, 3D-printed shell and haptics not stated Headers and discrete parts; enclosure and controls are left to the builder
Build complexity Highest: custom hardware, shell fabrication and firmware integration Software-focused target, but board revision and pin configuration must match Lowest of the three when using the downloadable example binaries and documented parts

Step-by-step build plan

  1. Define the game list. Decide whether you need NES and Game Boy, 16-bit Sega systems, MSX, PICO-8, or an arcade MAME 0.37 core. Select firmware only after this list is written down.
  2. Select the exact board. For a new high-capability design, choose an ESP32-S3 module with external PSRAM; an N16R8-class 16 MB flash/8 MB PSRAM configuration is the documented esp32-emu-turbo target. Record the board revision and available GPIOs.
  3. Match the display. Confirm controller, resolution, orientation, voltage and every signal pin. A 2.4-inch 320×240 TFT is the documented Feather baseline, not a universal requirement.
  4. Add removable storage. Wire a microSD socket using the firmware’s expected bus and chip-select pin. Prepare the card as FAT32 with an MBR partition table when following the Adafruit workflow.
  5. Prototype input. Connect the directional pad and buttons on a breadboard or temporary panel. Verify debouncing, active-high/active-low logic and menu shortcuts before designing the shell.
  6. Integrate audio and power. Add the MAX98357A-class I2S amplifier and speaker when using the Feather parts approach, then add a protected LiPo charging and power path. Test charging, booting and audio independently.
  7. Choose the enclosure. A custom PCB and 3D-printed Game Boy Color-style shell follow the ESP-BOX-EMU pattern; a hand-wired prototype can use a simpler case. Leave access for the card and USB-C connector.
  8. Install firmware. Use a prebuilt binary when the project supplies one. Otherwise build with the project’s ESP-IDF or Arduino instructions, selecting the exact board, display pins, input map and enabled emulator cores.
  9. Load legally obtained software. Copy ROMs, artwork and save-state directories in the documented layout, eject the card, boot the handheld and test one system at a time.
  10. Stress-test the complete assembly. Run a game while drawing from the card, playing audio and activating controls. Watch for resets, dropped input, tearing or slow menus before sealing the enclosure.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Firmware flashing and configuration pitfalls

Prebuilt binaries reduce setup time, but they do not eliminate hardware matching. A binary compiled for one ESP32-S3 board can fail on another when flash mode, PSRAM type, display pins or button GPIOs differ. When building from source, use the versions and configuration files specified by the project, then review the generated pin definitions before flashing.

Common symptoms and fixes

  • Blank or white display: recheck controller type, reset/data-command pins, power voltage and screen rotation. Confirm that the firmware’s board profile matches the physical wiring.
  • Games start but controls are wrong: inspect the GPIO map and active-level settings, then remap buttons in the configuration rather than rewiring blindly.
  • Genesis audio or graphics slow down: verify that the build’s dual-core arrangement is enabled and that frequently accessed buffers are not being forced into PSRAM, a condition ESP-BOX-EMU identifies as a performance risk.
  • Card is not detected: verify FAT32 and MBR formatting, card insertion, chip-select wiring and the expected folder structure. Test with a second known-good card before changing firmware.
  • Random resets with sound or vibration: check battery voltage, regulator capacity, shared grounds and motor drive circuitry. Isolate the amplifier and haptic motor to identify which load triggers the reset.
  • Save states disappear: ensure the card is writable, the save directory matches the firmware’s naming rules and the card is unmounted cleanly before removal.

ROM legality and safe operation

Emulator software is not the same thing as copyrighted game data. The safest approach described in the Adafruit guide is to obtain ROM chips from an original arcade PCB and dump them yourself. Laws differ by country, and owning a cartridge or board does not automatically grant permission to download or redistribute its image. Do not use unauthorized ROM-download sites, and do not publish copied game files with your project.

Keep the firmware, configuration and your own legally created dumps backed up separately. That makes it possible to reformat a card, change emulator cores or replace a damaged display without losing personal save data.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Which path should you choose?

Choose ESP-BOX-EMU when

You want a cohesive handheld with a custom PCB, GBC-style controls, a 3D-printed shell, microSD library, save slots, audio and haptics, and you are comfortable following a board-specific build.

Best Value
Sale
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display | 85W Max PD, 1 Powered USB-C 5Gbps & 2 Powered USB-A 3.0 5Gbps Data Ports, for MacBook Pro, MacBook Air, Dell and More (Black)
  • 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.

Choose esp32-emu-turbo when

Your priority is experimenting with a PSRAM-equipped ESP32-S3 and a wider emulator set that includes the documented MAME 0.37 port. Expect to validate memory use, display wiring and core-specific limits yourself.

Choose the Feather example when

You prefer the shortest path to a working demonstrator using a Feather ESP32 V2, 2.4-inch 320×240 TFT, microSD, I2S amplifier, speaker and LiPo. Its downloadable examples are well suited to the named arcade games, Game Boy and NES rather than an open-ended arcade library.

An ESP32 handheld succeeds when the board, memory, display bus, storage format, controls, power system and firmware are selected as one design. Start with the target systems and the project’s documented hardware profile; only then finalize the enclosure and parts.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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.

arcade machineDIY electronicsESP32ESP32-S3handheld emulatorMAMEretro gaming

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.