At least in theory, video games are more resistant to becoming lost media thanks to their digital nature — they’re easy to copy and emulators have saved many titles that are otherwise locked in corporate vaults. But emulators give us something beyond simple preservation: they can also be used to enhance games well beyond the capabilities of the original systems while still preserving the souls of the games, as this NES emulator manages to do.
The emulator is called Anemoia-ESP32, and as its name suggests is a re-write of the Anemoia emulator specifically built for the ESP32. By modern standards these little chips don’t pack much of a punch, but compared to original NES hardware they’re more than up to the task of gaming. This project aims to recreate the Nintendo Entertainment System experience as faithfully as possible, hitting 60 FPS in most instances, as well as maintaining full audio emulation. Running on an ESP32 enables some truly small handheld options that would be difficult to achieve with more traditional platforms for emulation. There are some PCBs available here as well, but aren’t required to explore this project with.
As far as extra features compared to original NES hardware, the emulator does support save states and has a number of other settings improvements. Installation is as easy as flashing any other firmware image onto an ESP32, which these days can even be done from the browser. No word on whether or not it will eventually support emulating dual Picture Processing Units, but we can hope.

Why writing program for arduboy if You have a NES?
60 fps is pretty much useless to 30 fps on such a tiny pixel-games LCD. You’ll see no difference.
Disagree. If you know anything about NES, you’ll know that many games use flickering for things like shadows and transparency effects. At 30fps, you have a 50/50 chance that these will result in either no transparency, or an invisible sprite. You can see this sometimes on YT videos of games, where there’s a framerate mismatch between the camera and screen, or if the emulator is allowed to skip frames when it’s behind.
^Facts.
You want as high of a frame-rate as you can get for emulation devices.
Many NES games use all sorts of 6502 assembly tricks to get every bit
of performance out of the console.
I wonder if it could play MegaMan games without slowing down when you have a lot of sprites. Or if that would be a good thing…
I love these hacks and this site but the community. Sheesh. What a bunch of winey babies. (obviously only a select few but man they drag you down!) There’s a lot of hate and complaint from what is essentially just good ol fashioned exploration and random projects! To the hackadsy posters keep up the great work. To the complainer go find some other site you needy keyboard warriors!
Agreed. Makes me wonder why they even come here, other than to use it as a sounding board to belittle actual explorers and hackers, or to make sure everyone knows they think they’re the smartest person in the room.
I’m pleasantly surprised he didn’t just ask why the project developers didn’t just bother to buy a Gameboy. But then I guess the very first comment on this article already had.
The readme says, “The emulator also runs with a constant frame skip of 1. Every other frame gets skipped entirely. The emulation keeps running at full speed, only the display output is affected,”
So the display is only updated at 30 fps anyways. The cool part is that games run at full speed as opposed to slow-motion.
1st game I ever beat
This looks like a fun winter time project, bookmarked.