Worklog [2023 Contest Entry] GB Palm Pico

xbmo

.
Joined
Jun 13, 2022
Messages
5
Likes
16
Despite entering last year and doing little more than picking up a soldering iron for the first time, I’m back again to try and make something.

The project I have in mind is named the GB Palm Pico. It’s a tiny, Gameboy emulator that can be played with one hand, hopefully to a decent level of comfort. After spending many late nights rocking my second born child to sleep while playing portable games (mostly Pokemon TGC), I think this is an untapped market!

This is going to be a hardware and software project. I’m using the Raspberry Pi Pico due to its low cost and availability. With the processing power it offers, a Gameboy emulation device came to mind and when looking at existing options, I came across a great emulator (a modified version Peanut-GB for the RP2040 chip) that I can build upon. The goals of the project are:

  • A (roughly) credit card sized Gameboy emulation device, that can be played with one hand.
    • The d-pad will be on the face of the device, and the A and B buttons to the side.
    • I’m not sure how thick the device will be yet, as I do want it to be comfortable rather than just making it as thin as possible (although it must remain pocketable).
  • Updating the Peanut-GB emulator to support:
    • Pausing
    • Save States (so that the device can quick resume the last game when turned on, and because I want to have access to features I use often on other emulation devices).
  • Writing a simple OS for the device, for:
    • Game selection from an SD card.
    • Managing save states.
    • Hotkeys.
    • Volume control.
    • Button remapping (swapping A and B).

That’s a lot of text with no images, so I’ll finish with this, which is my amateur way of mocking up a device in Blender. I’ve still got a decision to make on which screen I’m going to use, but the one shown here is the 1.54” 240x240 screen found in the FunKey S and Anbernic Nano.

Front

blender_ver_2_front_anno.png


Back

blender_ver_2_back_anno.png
 

Retro95

.
2023 3rd Place
Joined
Mar 29, 2023
Messages
180
Likes
235
Location
Oregon
Portables
2
I absolutely love it! Will you be making a mirror image of the model for the right handed individuals? Or perhaps make an ambidextrous unit and toggle switch to set the hand?

As for the screen. I just went through the pain of getting the SPI interface working... Today....

If you're using the 1.54" screen from Adafruit then you're in luck because someone has written a specific ili9341 driver package that gets you 50+ FPS and the screen you're debating is officially listed as tested and good.

The ili9341 driver package is really good for lower power pis like the pico and zero because it skips the normal SPI stack and cuts down on latency significantly.

Check out this GitHub page for more details. Installing this from scratch start to finish is also covered here in explicit detail.

Good luck and god speed
 

xbmo

.
Joined
Jun 13, 2022
Messages
5
Likes
16
I absolutely love it! Will you be making a mirror image of the model for the right handed individuals? Or perhaps make an ambidextrous unit and toggle switch to set the hand?

As for the screen. I just went through the pain of getting the SPI interface working... Today....

If you're using the 1.54" screen from Adafruit then you're in luck because someone has written a specific ili9341 driver package that gets you 50+ FPS and the screen you're debating is officially listed as tested and good.

The ili9341 driver package is really good for lower power pis like the pico and zero because it skips the normal SPI stack and cuts down on latency significantly.

Check out this GitHub page for more details. Installing this from scratch start to finish is also covered here in explicit detail.

Good luck and god speed
Thanks for the encouragement and advice.

Funny enough I did spend some time working with that driver for last year's entry and set it up with a Pi Zero 2W, it is very good. I doubt I'll be able to use it directly this time as the Pico SDK doesn't have the Linux libraries used, but as the emulator I posted already has ili9225 support, I was planning to update it by using fbcp-ili9341 as reference.

And you've guessed my stretch goal already! If I can build one of them well ahead of the deadline, then it'd be great to also build a right handed version for a complete set.
 
Top