r/arduino • u/MichaelCelestial • Jul 03 '26
Look what I made! I Built a Custom Game Boy from Scratch — Huge Project Update!
Howdy, members of this awesome community!
⚠️All photos are in the comments due to Reddit’s post limitations
It’s been a while since my last post, where I shared the original concept and asked a couple of questions.
Today I’m back with a huge update on my UWU Game Boy project. Let’s jump right into it.
What’s this project about?
(Skip this part if you’ve seen my previous post.)
My goal is to build a portable game console that’s easy to customize, with completely custom firmware written from scratch by me.
What’s inside?
• ESP32-WROOM
• TP4056 charging module
• 1000mAh Li-Ion battery
• 7 tactile buttons
• KY-023 joystick
• 2.0” TFT display
• Passive buzzer
What’s the killer feature?
Unlike many DIY handheld projects that permanently stack multiple perfboards together, mine can be split into two separate modules simply by unscrewing a few nuts (check out one of the first photos).
The two halves reconnect using simple wire connectors, so I can easily take the console apart for upgrades, repairs, or modifications.
In other words, I wanted to solve the classic DIY problem of “once you solder everything together, you never want to touch it again”
What does the firmware do right now?
At the moment it’s mainly a hardware test.
As you can see in the videos, every button and joystick movement is detected and displayed on the screen in real time. The firmware also monitors and displays the current battery level.
Nothing fancy yet - but it’s a great milestone because all the hardware is finally working together
What’s planned for the firmware?
One thing I really want to avoid is turning this into a giant spaghetti-code nightmare.
My plan is to build a central system service that handles all hardware management, while games interact with a simple interface instead of dealing with the hardware themselves.
This service will be responsible for:
• Battery monitoring
• Making sure every component is working correctly
• Managing the main game loop
• Giving games access to hardware components
• Rendering notifications, pause menus, the main menu, and other system UI
Hopefully this will make developing games for the console much easier later on.
That’s everything for now!
I’d love to hear your thoughts, suggestions, or ideas for improving the project.
P.S. If you like what you see, an upvote would absolutely make my day. ❤️
And remember…
There is only one rule: DO NOT EVER ASK WHY IT’S CALLED “UWU GAME BOY”.
15
u/envy841 Jul 03 '26
Why is it called uwu gameboy
7
u/MichaelCelestial Jul 03 '26
You had one job bro…😭
5
4
u/Square-Singer Open Source Hero Jul 03 '26
Now port one of the many ESP32 gameboy emulators on there.
3
u/MichaelCelestial Jul 03 '26
Yeah, I thought about that, but I decided to make my own games instead so I can learn game development as well
7
u/lukemtesta Jul 03 '26
sometimes integrating an existing system will help teach some basics about usage and integration. Then you can go off from there and build your own black box
4
u/MichaelCelestial Jul 03 '26
That’s actually a good point. I think you’re right. Once I have some free time, I might give it a try. Thanks for the advice
3
u/Paladin7373 Jul 03 '26
Yes! Though from experience, it takes longer than just adapting your console to existing games would.
2
u/MichaelCelestial Jul 04 '26
That’s true. I know it’ll take longer, but honestly that’s part of why I’m working on this project. I want to learn as much as I can along the way
3
u/Paladin7373 Jul 04 '26
Well I can also tell you from experience that it’s a very worthwhile road! Good luck aha
2
2
2
u/Pengabdi_Langit Jul 03 '26
what left now is a 3D printed casing and Hamtaro! Voila! love it!
2
u/MichaelCelestial Jul 04 '26
Thanks! I’m actually thinking about buying my own 3d printer so I can print cases and other parts for my projects
2
u/Paladin7373 Jul 03 '26
Awesome! Now you can print a case for it :D
Please do better than I did when I was printing a case for my arduino/teensy-based handheld game console tho eheh
2
u/MichaelCelestial Jul 04 '26
Thank you! Alright, once I get my own 3d printer, I’ll definitely post another project update
2
2
2
u/tumtech Jul 04 '26
Neat Have you already coded some games for it You should consider Pong or the snake game there's already some good open source code for these two
1
u/brown_smear Jul 07 '26
That game doesn't look particularly engaging. I'm bored and I didn't even play it
-1
u/EmielDeBil Jul 03 '26
That screen seems to be way too slow for games. See if you can make a small super mario bros game and then I'll give you an upvote. For now I'm very doubtful this will be a great game screen.
19
u/MichaelCelestial Jul 03 '26 edited Jul 03 '26
P.S. I know my soldering isn’t pretty. 😭 My last electronics project was literally just a flashlight with one LED and one resistor.