Building the ULTIMATE GameBoy for Raspberry Pi Pico

Поделиться
HTML-код
  • Опубликовано: 12 янв 2025

Комментарии • 44

  • @YouMakeTech
    @YouMakeTech  Год назад

    FREQUENTLY ASKED QUESTIONS
    > Can I use a different LCD display e.g. ili9341?
    The native Game Boy resolution is only 160x144 pixels.
    The image will be too small on a high resolution screen (e.g. ILI9341 320x200).
    This project uses an ILI9225 display because it's resolution is low (220x176), it comes with an SD card reader and is inexpensive.
    Doubling the size of each pixel would require a 320x288 display, and the image will be cropped vertically on a 320x200 display.
    Scaling by a non integer number (e.g. 244/144 = 1.6666) would require too much processing power from the Raspberry Pi Pico
    > When executing the emulator my screen stays white/black
    Make sure you use a genuine Pi Pico from Raspberry Pi and not a clone.
    This project overclocks the Pico to 266MHz, 2x the normal frequency.
    Clones don't seem to support overclocking well.
    If this still doesn't work, try with another LCD display.
    On 5 LCD displays I bought, 2 had the white screen issue.
    Again the SPI bus is overclocked to 30MHz and requires high quality displays.
    I buy from Amazon not Ali Express. The quality is higher + I can return items when they don't work.
    > Can it emulate Game Boy Advance (GBA)?
    Pico has not enough power to emulate the GBA at full speed.
    I guess most 8 bits and 16 bits consoles (< year 2000) could be emulated on Pico, GB, GBC, NES, SNES, etc. but not 32 bits consoles.
    For NES emulation on Raspberry Pi Pico, check out: github.com/fhoedemakers/pico-infonesPlus

    > Can it play Game Boy color games?
    It cannot play Game Boy color games yet.
    However, it can run original/monochrome Game Boy DMG games in colors, like the Game Boy Color did:
    Some games have hard coded color palettes in the Bios and
    you can switch between 12 manual color palettes with select + left or right
    > Which emulator does it use?
    The Game Boy emulator used is Peanut-GB/RP2040-GB by Mahyar Koshkouei / deltabeard ( github.com/deltabeard/RP2040-GB ) with some minor changes done by me to support sound and accommodate SD card menu/save games on Raspberry Pi Pico ( github.com/YouMakeTech/Pico-GB ). Peanut-GB has been specially optimized to run at full speed on low specs computers or microcontrollers.
    It runs at 60 frames per second on the Pico, at the expense of some emulation accuracy. It can play most of the 1000+ original Game Boy DMG games!

    • @BQ201
      @BQ201 Год назад

      Can Raspberry pi pico be made portable NES on Spi Display?

    • @YouMakeTech
      @YouMakeTech  Год назад

      @@BQ201 Yes I think that should be feasible!

    • @BQ201
      @BQ201 Год назад

      Do you want to make this video? will be very interesting to many people@@YouMakeTech

    • @YouMakeTech
      @YouMakeTech  Год назад

      @@BQ201 I haven't seen NES emulation on Raspberry Pi Pico with video output on an LCD... Have you tried pico-infonesPlus for Raspberry Pi Pico? it works great! github.com/fhoedemakers/pico-infonesPlus . It outputs the video on an HDMI display. It seems to render only one line every 2 lines though, I guess to maintain the frame rate on Raspberry Pi Pico. Outputting the video on an LCD at 30 or 60 FPS would be even more challenging because the SPI bus is a bottleneck...

    • @BQ201
      @BQ201 Год назад

      @@YouMakeTech thanks for the answer, I understand you) I'll just try to test the emulator then

  • @Theking-uy3wu
    @Theking-uy3wu Год назад +7

    Cool project! I should really dust off my pico and do some more projects with it.
    I also like the case you designed. But maybe you can look into printing it face down and on glass. Glass gives a really nice surface finish and it would hide the lines a bit better if you level it good. This way you can also do some cool tricks with multiple colors on the first layer by using some slicer trickery. I could tell you more about it if you want.
    Also, maybe printing in ABS and smoothing with acetone vapors could also be worth a try.

    • @YouMakeTech
      @YouMakeTech  Год назад +3

      Thanks. You know you started all of this! Your video ruclips.net/video/mKo4LQVY-lQ/видео.html inspired me and since I saw it, I designed 4 game consoles for the Raspberry Pi Pico. I agree the print quality can definitely be improved.

    • @Theking-uy3wu
      @Theking-uy3wu Год назад +5

      @@YouMakeTech Oh nice, what a coincidence! I guess DIY game consoles are just a very nice way to inspire other people. Since the Pico one, I made one with an ESP32 and I keep that in my bag at all time. Sometimes I play on it on the train or I let others play on it and set a high score. People seem to enjoy those kinds of projects and are surprised by the things you can achieve with a cheap 3D-printer.
      I guess my next step is to build one with a custom PCB to make it as thin and small as possible. But first I have another project I want to finish...

    • @YouMakeTech
      @YouMakeTech  Год назад +2

      Please consider releasing your ESP32 game console! FYI this gameboy shell is also compatible with the ESP32 and I started porting the gameboy emulator to the ESP32: github.com/YouMakeTech/Peanut-GB-ESP32 .

    • @Theking-uy3wu
      @Theking-uy3wu Год назад +1

      @@YouMakeTech My ESP32 console sadly has a terrible D-PAD. I thought it was a good idea to buy one of those D-PAD's that's a single button. However it's very wobbly, too long and the pins didn't even fit through a standard protoboard. Separate buttons for up, down, left and right are way better in hindsight...
      But since my design is based on this terrible D-PAD thing I don't think it's worth releasing it. I don't think other people should make it like that.
      Oh nice! The ESP32 is awesome for these kinds of things. It also has WiFi and bluetooth. Maybe some form of multiplayer would be possible with that.

  • @GeneralHowToTutorials
    @GeneralHowToTutorials Год назад +5

    Looks like a fun project. I miss your commentary.

  • @sunderark
    @sunderark Год назад

    absolutely had no idea the pico was this capable.

  • @BQ201
    @BQ201 Год назад

    Wow its so nice project man, thanks for video)
    1 question for you: really on add full screen mod?

  • @seanocansey5673
    @seanocansey5673 Год назад

    Is there a way to set the roatation of the LCD in the firmware? I can't seem to find it in the code

  • @marsdouze
    @marsdouze Год назад

    Is it possible to get a battery monitor of some sort? Like an color changing led or (less likely) on screen?

  • @rastamouse7861
    @rastamouse7861 Год назад +2

    Can this do NES or Game Gear games as well?

    • @YouMakeTech
      @YouMakeTech  Год назад +2

      The Pico can do NES pretty well with pico-infonesPlus: Check out github.com/fhoedemakers/pico-infonesPlus

  • @matthewcarrellful
    @matthewcarrellful День назад

    Disappointed with the resolution. 😢 I wish you could get it full screen. Nice build good luck on your next one

  • @Nalyu
    @Nalyu Год назад +1

    could this work with lets say a 3 or 3,3inch RGB Display? and if so what are the limits of performace to this. I mainly play pokemon on these handhelds. Could this work with a Nintendo DS Pokemon like Diamond or only Gameboy releases?

    • @user-wj8dz4vu3f
      @user-wj8dz4vu3f Год назад

      Sadly the Pico is limited to gameboy/gameboy color games. An easy cutoff point (although not perfectly accurate) is the Pico can run handheld games released before the year 2000.

    • @elijahbowers1
      @elijahbowers1 Год назад

      Definitely not powerful enough for DS one of the larger raspberry pis would be capable but in that case good luck getting ahold of one. They go out of stock constantly and are resold regularly at rather large markups.

  • @hatdog703
    @hatdog703 Год назад

    can they fit through a real case for a gameboy dmg?

  • @franciscahenriquez2181
    @franciscahenriquez2181 Год назад

    Very good project, but I have a question, how could I adapt it to a TFT ILI9341 screen? since it doesn't work for me with this one

  • @renuka.s5588
    @renuka.s5588 Год назад

    Is there any cheap alternative for the Max98357 audio amplifier pls reply me cause I'm making it and I want a cheap alternative

  • @seanocansey5673
    @seanocansey5673 Год назад

    How come the ili9225 was used instead of another more common screen, like the ili9341 for example?
    (Thanks for the amazing porject btw!)

    • @YouMakeTech
      @YouMakeTech  Год назад

      Mainly because of its low resolution (220x176) but also because it's inexpensive and comes with an sd card reader. The native game boy resolution is only 160x144 pixels! This image would be too small on a 320x200 display! Scaling the screen (by a non integer scale factor) is not really an option because this would require too much processing power from the Pico. The ili9225 is the display whose resolution is the closest from the native Game Boy resolution

  • @jeffyp2483
    @jeffyp2483 Год назад

    would simple scaling of the video output come with too much overhead?

    • @YouMakeTech
      @YouMakeTech  Год назад +1

      Yes unless you scale by an an integer number (e.g. x2)

  • @sharptoothtrex4486
    @sharptoothtrex4486 Год назад

    That must be a great one. Even as a special needs man, I find this that frustrating even using own Gameboy shell and buttons as options.

  • @elgben513
    @elgben513 Год назад

    when i boot a game the screen goes black. do you know how I can fix this?

    • @YouMakeTech
      @YouMakeTech  Год назад

      No sorry. Have you tried another rom file? Are you using a genuine Raspberry Pi Pico? To answer your other question, you can compile the project like any Raspberry Pi Pico project, it's a bit complicated to setup, please read "Getting started with Raspberry Pi Pico" here: datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf

    • @elgben513
      @elgben513 Год назад

      @@YouMakeTech thank you , I have tried many different ROMs and I do have a genuine pi Pico. Thank you for attaching a guide I will follow along with that and see if I can fix the screen being inverted which is another problem.

  • @magtee8339
    @magtee8339 Год назад +2

    such a cool project! does the emulator save games now?

    • @YouMakeTech
      @YouMakeTech  Год назад +3

      Thanks. Yes, the emulator saves the game progress like battery-powered cartridges on the original Game Boy. Saving is not automatic though. When you press start+select, the emulator saves the game context (RAM) to the sd card and returns to the game selection menu. When you open a rom, the emulator looks for a save file on the sd card and automatically loads it

    • @magtee8339
      @magtee8339 Год назад +2

      Nice! I think this will be my next project :)

  • @Xavier_Everwhere
    @Xavier_Everwhere Год назад

    Sir, Can you modify the so that it can work on ili9341 driver display also, game audio directly out from raspberry pi pico so matter audio volume is low we can plug in earphone in it aur can be connected with any audio amplifier, not a particular audio amplifier chip that u had shown in the video.

  • @sebastienbeen5404
    @sebastienbeen5404 Год назад

    Merci

  • @Wanchen97
    @Wanchen97 Год назад

    Can i run pokemon? 👀