Every few months someone ports Doom to a device that never asked for it: calculators, cameras, printers. The latest target is a $30 FNIRSI DMC-100 clamp meter with only 32 KB of RAM, and the Hackster write-up on Artur Bieniek’s port shows how far a cheap microcontroller can stretch.
The build itself
Nothing gets added to the meter. Bieniek puts it into firmware update mode, connects USB-C to a computer, and flashes custom firmware. The internal flash is erased, the game data is copied over, and the computer reads it back to verify every block. Unplug the cable and Doom runs natively on the little LCD, with no second computer streaming video behind the scenes. For comparison, a Commodore 64 has 64 KB, so this meter has half the memory of that classic.
Technical takeaways
Three details are worth stealing for your own projects. First, the original game assumed megabytes of RAM, so the port has to keep most of the data in flash and pull it in as needed. Second, the controls are the front-panel buttons, with the flashlight button wired as the fire trigger, which is a reminder that any GPIO-read button can become an input. Third, the meter has no speaker, so music and effects go through the piezo buzzer, which is why it sounds thin and high-pitched. A buzzer on one pin is also the cheapest way to add sound to a classroom build. When the buttons got awkward, Bieniek plugged a DJI drone controller into the USB-C port and the firmware read it as a gamepad.
What to try next
You do not need a clamp meter to practice the same skills. Pick a board you already own, such as an ESP32 or an Arduino Nano, and set a memory budget before you write code: log how many bytes your sketch and variables use, then trim until it fits. Add a piezo buzzer on one pin and play a three-note tone on each button press. For a thesis or capstone, a “make it run on less” challenge is a good way to show you understand the hardware. Read the full details in the Hackster article, then grab a buzzer, pushbuttons and jumper wires from circuit.rocks for a weekend of tinkering.
Frequently Asked Questions
How does Doom run on a clamp meter with only 32 KB of RAM?
Artur Bieniek flashes custom firmware over USB-C and stores the game data in the meter’s internal flash. The game runs natively on the meter’s microcontroller, with no other computer streaming video to it.
Do I need extra parts to try this on an FNIRSI DMC-100?
No. The port uses the stock hardware: LCD, buttons, flash and buzzer. A USB-C cable and a computer are needed to flash it, and an optional drone controller on the USB-C port gives better controls.
What will I learn if I build this?
You will learn firmware flashing, working inside tight RAM budgets, reading button inputs on GPIO pins, and driving sound from a piezo buzzer. These skills carry over to thesis and robotics projects on small microcontrollers.
