Doom will be run on something. From a 386 PC within the Nineties, to a Raspberry Pi Pico at this time. However did you count on to slaying the hordes of hell through a Christmas ornament? Inside Sprite_tm’s lovingly recreated IBM PC “bauble” is an ESP32 and a full copy of Doom. However that is not all, if in case you have good eyesight, you possibly can play it!
It’s clear to see that Sprite_tm’s undertaking is a labor of affection. The undertaking is powered by an ESP32 microcontroller, particularly an ESP32-C3-WROOM-02 and this provides the undertaking the power to wirelessly hook up with Bluetooth LE controllers. Sprite_tm used the NimBLE light-weight Bluetooth stack to create an interface for a suitable keyboard and controller. The ornament performs a particular Sport Boy Advance port of Doom. Not the unique retail model, as an alternative a stripped down model created by “Doomhack”. The stripped down model runs excellently on the ESP32’s RISCV’s SoC at 160 MHz and 400KB of SRAM and restores extra of the unique PC model to a port that was closely censored on launch. The selection of ESP32 chip is deliberate, as Sprite_tm works for Espressif, the makers of the ESP32 and venerable ESP8266. The core system is contained in a customized PCB, enabling every thing to be shrunk down for the diminutive PC case.
The built-in 0.96 inch show is much too small for our growing old eyes and it additionally seems it’s barely too lengthy for the mannequin’s “monitor”. Cleverly, Sprite_tm rotated the monitor lengthways, so {that a} portion of the display screen is seen within the monitor. A number of code tweaks to resize and rotate the video and a tiny portion of the display screen is used. The ornament additionally options I2S audio playback and traditional OPL audio variations of the unique soundtrack. Audio is then performed through an appropriately scaled speaker. Powering the PC is a small Li-Ion cell which connects to the customized PCB.
The IBM PC 3D mannequin was created in OpenSCAD and is an approximation of an IBM XT PC case. The PC was printed utilizing an SLA 3D printer, with Sprite_tm commenting that it may also be printed on an FDM 3D printer, however SLA supplies significantly better high quality.
To study extra about Sprite_tm’s wonderful Christmas ornament, head over to their weblog. There you’ll find the entire schematics and information to breed your personal Doomed Christmas ornament.