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:

– The dongle shown in the video
Adafruit CLUE board!

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.

More information

See the video below for results with the dongle


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.

Join 30,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

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.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Follow Adafruit on Instagram for top secret new products, behinds the scenes and more https://www.instagram.com/adafruit/

CircuitPython – The easiest way to program microcontrollers – CircuitPython.org


Maker Business — Pololu’s account of the chip shortage

Wearables — Getting overly ambitious with EL wire

Electronics — Invisible Bugs

Python for Microcontrollers — Python on Microcontrollers Newsletter: MicroPython SAMD Support, ESP32-S3 Feather and much more! #Python #Adafruit #CircuitPython @micropython @ThePSF

Adafruit IoT Monthly — Energy Harvesting Sensor Nodes, Tracking a Turtle, , and more!

Microsoft MakeCode — MakeCode Thank You!

EYE on NPI — Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — New Prods 11/17/21 feat. Adafruit KB2040 – RP2040 Kee Boar Driver!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !



No Comments

No comments yet.

Sorry, the comment form is closed at this time.