Quantity   Component name
1 × M5Stack AtomS3R ESP32-S3R8, 0.85" 128x128 LCD, BMI270 IMU, WiFi. The whole computer on the device side. Stock UIFlow2 MicroPython v1.27, no custom firmware, no GPIO used.
1 × USB-C cable Power. That is the only wire.
1 × 3D printed cabinet shell Retromaker's arcade cabinet from Printables, modified to fit the Atom. Prusa M4S, sides in wood-toned PLA, the rest black.
1 × PC or Raspberry Pi Runs the Python service and the games. A Pi can serve DOOM today; the DOS library lives on the PC because that is where the eXoDOS collection is.
1 × Python 3, numpy, Pillow The streaming service. OpenCV only if you want video titles.
1 × doomgeneric DOOM as a compiled binary with a small platform layer, pushing frames over loopback TCP.
1 × js-dos emulators 8.4.2 + Node DOSBox compiled to WebAssembly, headless, one process per game.
1 × eXoDOS collection 7,629 DOS titles on disk. Not included, not redistributable. Bring your own.