A $14.95 smart lamp from Ikea apparently has enough computing power to run the classic PC game Doom.
A software engineer named Nicola Wrachien removed the smart lamp’s computer chip and used it to build a miniaturized Doom gaming system. Over the weekend, he uploaded a video to YouTube, showing his creation in action.
The system runs a downsized version of Doom that requires less RAM. The chip from the Ikea lamp has enough processing power to play the game at 35 frames per second over a cheap 160-by-128-pixel display.
Wrachien, who is from Hungary, embarked on the project after reading headlines about Doom purportedly running on a pregnancy test. In reality, the pregnancy test was only able to run the game due to an added OLED display and streaming it from a PC.
Wrachien decided to challenge himself by porting Doom to an off-the-shelf device, without adding a new CPU. “We must use exactly the microcontroller embedded on the chosen device. No replacement is possible. No additional microcontroller can be added,” he wrote in a blog post on Next-hack.com documenting his effort.
Wrachien eventually settled on a $14.95 smart lamp from Ikea that features an ARM-based Cortex M33 processor with “96 + 12 kB of RAM,” or just enough to run the first level of Doom. The same processor is housed in a microcontroller from Silicon Labs. (According to his LinkedIn profile, Wrachien works at Silicon Labs.)
However, his resulting creation did need some additional hardware. Wrachien created a separate board outfitted with 8MB of flash memory, power connectors, audio and keyboard ports—which connected to the Ikea lamp chip. The system is then wired to a display and a makeshift 8-key keyboard.
He also took an existing Game Boy Advance port of Doom, but reduced the game’s memory requirements and removed the music.
“After a lot of memory optimizations, I was able to run the full shareware episode, including E1M6! (The sixth map on Doom.) This only using less than 108kB of RAM!” Wrachien wrote in a separate post. He uploaded his Doom software port to GitHub.
The project marks the latest attempt to run Doom on a non-PC platform, which has included iPods, treadmills, and classic console gaming systems. Wrachien says his own work could be used as a starting point to “port Doom to almost any microcontroller featuring enough flash and at least 108 kB of RAM,” so long as the chip has enough processing power.