How I made my own Game Boy with an ESP-32

Share

Summary

This video details the process of building a custom Game Boy using an ESP32 microcontroller, blending nostalgia with modern technology. It covers the selection of electronic components, the challenges of 3D printing and design, and troubleshooting common issues encountered during the build. The project culminates in a functional handheld console capable of emulating classic Game Boy games.

Highlights

Introduction & Game Boy History
00:00:00

The video introduces the project of building a Game Boy using an ESP32 microcontroller. It then takes a nostalgic look back at the original Nintendo Game Boy, released in 1989, highlighting its impact on handheld gaming with its robust hardware, long battery life, and iconic games like Tetris and Pokémon. The original Game Boy's simple yet effective design, monochrome LCD, and portability are emphasized as key to its success.

Why Choose ESP32 for the Build
00:01:16

The creator explains the choice of the ESP32 microcontroller for this project. Its dual-core processor, wireless connectivity, and ease of use make it suitable for an emulation handheld. The ESP32 also offers lower power consumption compared to single-board computers like the Raspberry Pi. This section outlines the video's scope, covering design, testing, part selection, hardware assembly, and coding, while also warning viewers about potential quirks discovered during the build.

Electronic Components Overview
00:02:10

This part delves into the specific electronic components used. The ESP32, a dual-core microprocessor running at 240 MHz, is highlighted for its fast LCD connection speed (over 30 frames per second). The chosen 3.2-inch TFT LCD, with a 240x320 resolution and 40 MHz SPI communication, is efficient and sufficient for the application. An SD card reader is used for ROMs and firmware, with a note on SD card compatibility issues. The TP4056 module is used for battery charging, and a 3.3V buck voltage regulator from DF Robot manages power efficiently.

Audio and Buttons
00:04:55

The video discusses audio generation, noting that while the ESP32 has internal DACs, external noise can be an issue. An external DAC and amplifier combo is suggested for clearer sound. For buttons, 8mm x 8mm rubber membrane 'soft touch' buttons were chosen over tactile buttons to avoid loud clicking noises in the 3D-printed shell.

Design and 3D Printing Challenges
00:05:47

The design process aimed for a Game Boy aesthetic with a backlit LCD. Due to the LCD size, the case dimensions were slightly scaled up. Designing the D-pad was a particular challenge to achieve the right feel; a simple two-piece design was eventually adopted. Printing the models with specific orientations and small layer heights is recommended for a good surface finish, especially for buttons.

Troubleshooting and Lessons Learned
00:07:22

This section covers significant challenges and learning experiences. An initial idea to make the ESP32 a removable cartridge failed due to unreliable IDC connectors and signal instability. After much trial and error, including random restarts of the ESP32, the creator discovered that certain SD cards caused instability, despite working in other devices. The concept of a modular design was abandoned in favor of soldering the ESP32 directly into a redesigned cartridge slot for stability. The video concludes with the assembly process, securing components with screws and hot glue, and adding a protective screen cover.

Firmware and Conclusion
00:10:23

Instead of coding emulators from scratch, the video recommends using existing firmware like RetroGo for ESP32 handheld consoles, which comes with many built-in emulators. The creator expresses great satisfaction with the project's usability and coolness factor, encouraging others to try building their own DIY handhelds.

Recently Summarized Articles

Loading...