Doom ported to small nRF52840-based devices including the Adafruit CLUE at 30fps #CLUE #DOOM @Nordictweets @next_hack
next-hack.com has modified a USB Bluetooth Low Energy dongle (featuring an nRF52840, which is a 64 MHz Cortex M4, with 256kB RAM and 1MB flash) by adding a QSPI memory, a display, some glue logic (74HC74, 2 diodes and a resistor to create an “AND” gate), and a 3.3V linear regulator.
Because of the nRF52840 package, only those I/O signals that were actually used in the design could be easily accessible. The other one are on the bottom side of the package, and they are not exposed once soldered to the PCB. The design used 8 I/O pin, that’s whythey added some glue logic (we needed 10).
Doom runs extremely fast (typically above 30 fps). Much faster than 2019 Nordic’s port to the same MCU (running at 3-5 fps), and about as fast (and some times even faster!) than Nordic’s port to the nRF5340 (dual core Cortex M33, 512 kB RAM, the main core is clocked at 128 MHz). This project is about 80486-66 speed!
The display resolution is 240 x 240 pixel.
Tested with the following WADS:
– Shareware Doom (1.9)
– Full commercial Doom (1.9)
– The Ultimate Doom
– Doom 2.
The port has been tested on the following devices:
Note: any other device with the same MCU (devboards or even commercial product, provided that at lest 8 I/O signals are accessible) can run Doom using the code, with only minor changes on the main.h file! Programming was done with Segger Embedded Studio (for the projects) and Code::Blocks for the CLI-wad converter.
Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here: adafruit.com/editorialstandards
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.
Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.