Summary
- First projects are for learning—fail forward, build habits and foundations.
- A flawless handheld NES on ESP32 as a first embedded build made me equal parts jealous and impressed.
- Emulator was rewritten in C++ for ESP32, running near-native speeds with full audio emulation.
My first projects don't always turn out as planned. But that's okay, you know? Because the first time is always a learning experience. It's all about getting accustomed to the situation, figuring out how to accomplish tasks, and laying a foundation for future endeavors. And I remind myself that those early projects are essential, as a way to "fail forward" and keep improving. And I love them for it.
Of course, that's usually followed by someone creating a fantastic handheld NES emulator as their first embedded project, and suddenly my untidy heap of wires and buttons doesn't feel so inspiring anymore. Even their wiring management was impeccable! Some people get all the talent.
If all my first projects looked like this NES emulator, I'd be a lot happier
This ruination of my day comes to us via /u/Shim06, who posted on the ESP32 subreddit showcasing their amazing project. It's an NES handheld emulator, allowing you to play your retro games anywhere. It's only missing a case from being the perfect NES companion, and honestly, I'm dead impressed; it has the screen, the buttons, and even the speaker all wired up and ready to go. Plus, the wires look impeccable; I struggle to find even one thing to critique about them. And this was a first project!
Check out this video of the project:
It appears to be something that someone with extensive ESP32 experience would create. Well, as /u/Shim06 puts it:
This is my first ever ESP32 and embedded project. I bought the parts and learned how to solder for the first time. For three months, I've been building a handheld NES with an ESP32 from scratch.
While having already made my own NES emulator for Windows, I had to do a whole rewrite of the program to port and optimize it for the ESP32. This is written in C++ and is designed to bring classic NES games to the ESP32. This project focuses on performance, being able to run the emulator at near-native speeds and with full audio emulation implemented.
Well, that makes my little "hello world" project look silly. If you want to check out their work for yourself, you can do so over on their GitHub page. And if you want something more suitable for us mere mortals, you can instead try these cheap ESP32-based display projects anyone can build.
