Breadboarding A Game Boy From Scratch

The original Nintendo Game Boy is a stout piece of hardware in a solid plastic enclosure. [Raphael Stäbler] recreated the popular handheld on a breadboard instead, in a fully-functional way, to boot.

[Raphael]’s build doesn’t rely on a real Game Boy CPU or components. Instead it’s emulated with the aid of a Teensy 4.1 microcontroller. [Raphael] coded up an emulator from scratch, instruction by instruction, something he’s documented on his own blog. The Teensy is placed on a breadboard, and hooked up with a series of 8 buttons to serve as the controls. Audio output is via a LM386 acting as a simple audio amp, hooked up with an original Game Boy speaker for more authentic sound. Display is thanks to a FT81x display driver running a small LCD. Games are loaded via an SD card formatted in the FAT32 file system.

While it’s not as ergonomic as the original Nintendo console, it works, and works well! It’s an impressive project to see the Game Boy recreated from scratch inside a powerful microcontroller. We’ve seen other projects go to similar lengths before. Video after the break.

17 thoughts on “Breadboarding A Game Boy From Scratch

    1. This project is clearly done for the fun of it — its not a commercial product. $30-40 is a non-factor when working on a project with multiple hardware peripherals that is developed over the course of a year. IMO part of the fun of projects like this is that you can use the components that make development easier without worrying about cost/margins.

      1. Sorry, i come from a mental place where 47,95€ is a big number, for that money i can get a whole SBC. I get it that you use it when you have it in your drawer anyway, but many projects i would have loved to make a version of for myself stopped right at the word “Teensy”.
        It is in Raphaels right to use any component he fancys but yeah, folks without money to throw around then can’t participate.

    2. Basically also keep in mind: This is one of those projects that, once ‘complete’ (lol), will be taken apart and parts used in other ideas.
      If you already have one kicking around / used to using it, it’s basically free.

      Same could for example be said for some Pro-Xilinx development platform worth hundreds of dollars.

  1. Great project ;)
    But why just GBoy when you can have :
    Atari 2600,Odyssey/Videopac,Colecovision,Atari 5200,Nintendo NES,Vectrex,PC Engine,Gameboy/GBColor,Sega Master System/Game Gear,Sega Genesis/Megadrive,Zx81,Zx spectrum,Atari 800,C64,VIC20,Apple2,Atari 520ST,8086 XT PC,MSX1/2,Amiga, .. DOOM ..
    from here :
    https://github.com/Jean-MarcHarvengt/MCUME
    I tested some of those emulators on Teensy 4.1 in VGA or TFT mode, it worked very well :)
    Some of these are ported to esp32 and pi pico as well …. you choose ;)

    1. Agreed. Great project.

      It’s wonderful to be able to build on the work of others like Crashoveride’s work on the ESP32 for the ODROID-GO https://www.hardkernel.com/shop/odroid-go/ five years ago which was based on the work of others, which was in turn based on the work of others, etc. All of that great work lets us quickly lash together something like this project where we can do amazing things with off the shelf parts.

  2. I don’t want to be “that person”, but this is prettly useless imo. It is neither a proper Gameboy (emulation is flawed), nor a flexible emulator handheld. There are litteraly dozens or hundereds of devices out there that do the very same thing and probably do it better.
    Might be a nice learning experience, but else than that…

    1. It’s definitely a learning project. He has an end goal of a working handheld – but the fact that he wrote a GB emulator from scratch tells me that this is an intentionally-hard project.

    2. do you think every electronic project posted here is supposed to be completely unique from everything that has ever been done in the world? what is the purpose of doing it, publishing a complete breakdown of all the code and hardware for all to see, if not learning?

Leave a Reply to MaaveCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.