Open Hardware & RISC-V

DOOM ported to $30 FNIRSI DMC-100 clamp meter with 32 KB RAM

Key Takeaway

Artur Bieniek ported the doomgeneric engine to a $30 FNIRSI DMC-100 clamp meter running on an Artery AT32F415 chip with only 32 KB of RAM.

Summary

The classic shooter DOOM now runs on a $30 FNIRSI DMC-100 clamp meter, one of the most constrained devices to receive a port. Developer Artur Bieniek adapted the doomgeneric engine to run on the meter's Artery AT32F415 microcontroller, which offers a 150 MHz clock but only 32 KB of RAM. The port includes the full first episode of Freedoom: Phase 1 with all nine maps, menus, save slots, and even buzzer-based sound effects, displayed on the device's 320 x 240 screen and controlled via a DJI drone controller.

How DOOM runs on 32 KB of RAM

  • MCU: Artery AT32F415 at 150 MHz with only 32 KB RAM, making this one of the lowest-RAM DOOM ports known
  • Display: 320 x 240 color LCD native to the clamp meter
  • Storage: Full Episode 1 of Freedoom: Phase 1 loaded, including E1M1 through E1M9, title screen, intermissions, finale, menu system, and four save slots
  • Audio: Sound effects output through the device's built-in buzzer
  • Input: DJI RC-N1 drone controller used for gameplay input rather than the meter's native buttons

Why it matters

The port demonstrates the continued viability of the doomgeneric abstraction layer for extreme embedded targets and highlights how capable inexpensive ARM Cortex-M4 microcontrollers have become for unexpected applications.

Original reference: hackaday.com →