GBA SPi-Zero with custom AIO board [Battery Update]

Show off your completed Game Boy Zero, or post your build logs here!
codeman0624
Posts: 106
Joined: Wed Nov 23, 2016 10:19 am
Has thanked: 3 times
Been thanked: 73 times

GBA SPi-Zero with custom AIO board [Battery Update]

Post by codeman0624 » Wed Aug 09, 2017 6:40 am

Hi Everyone,

I built a PI3 Wii U gamepad not that long ago, but I couldn't stop there. I wanted to build something that was smaller, and I really like the clam-shell form factor of the GBA-SP. And it seemed like a very rare build here on the forums, so I set out to build one. I was determined to keep the outside of the case unmodified, it just looks much better that way. My background is in microelectronic circuit design, so rather than try to hack all the pieces into the case, I decided to make an AIO board.

Here's what my AIO board includes:

Mechanical things:
  • Mounting pattern for a RPi-0
  • Matching buttons for all GBA SP buttons
  • Additional X and Y button placement
  • Pseudo-button-wells for carrying the new X and Y buttons
  • Provides SD card access through cart slot

Electrical things:
  • Li-ion battery charger and power path selector
  • 5V step-up regulator
  • Class-D, I2S audio chip
  • PIC18F25K80 microntroller for controlling everything
  • Smart, safe-shutdown monitoring the power switch
  • USB debug port for talking to the microcontroller
  • Ability to control the screen menu with the A, Up, and Down buttons
  • Ribbon cable and adapter board for passing signals through the hinge mechanism

A lot of work went into getting everything to fit mechanically. But enough of that, onto the pictures and the details.
Testing the circuitryShow
Having never used GPIO for controls, or done I2S sound output on the Pi, I needed to make sure that everything would work before building a board. So breadboard and adafruit I2S sound module to the rescue:
Image
Getting the screen to fitShow
Making the screen fit into the shell was the biggest challenge. I wanted a nice big 3.5inch screen, but it not fit without a lot of modifications. The back of the screen shell needed to be cleared out with a lot of careful dremel work. There is also only ~6mm of clearance inside the screen shell, and the screen itself is already 3mm thick, leaving only 3mm available for the driver board height. So there was a lot of component removal and replacement to get the driver board thin enough to fit.

Original board on the left, modified on the right:
Image

Original board on the left, modified on the right, showing how much thinner everything is now:
Image

Finished fitting everything into the front of the shell, including the ribbon cable and adapter board:
Image
The AIO board partShow
Finally onto the AIO board I designed. If you're ok with just keeping the A and B buttons only, then the board fits perfectly with no external case modifications necessary! If you want X and Y buttons, some careful dremel work is necessary.

This is how the board arrives from the fabrication place. The main board is the big part. The rest of the cutout areas are the button wells, the ribbon cable adapter board, and a bunch of tiny stacking boards. To get things like the SD card, USB port, and micro USB power port to fit properly and have enough clearance, these tiny boards need to be stacked to get them to the proper heights.
Image

My AIO board versus the original GBA-SP board:
Image

Fully populated AIO board:
Image
Image
Image

Finished ProductShow
Image

Image

Image

Image

Image

Image

Image


New update:
Battery!!Show
Good news: I was able to get the adafruit 2000mAh battery to fit! I was very happy to be able to fit a battery of this capacity. Theory says it should last for close to 4 hours. But realistically between 3 and 4 hours of play time can be expected.

Bad news: In order to get it to fit, I had to remove SD card access from the cart slot. This is a design decision I was comfortable with considering the extra play time a big battery allows, and the fact that I used a Pi 0 W, so I can remote access it

Positioning of the battery:
Image

Battery sticks out of the cart slot:
Image

But with some careful trimming of the game cart, it is still able to fit and cover everything, keeping the "stock" look of the SP:
Image


For battery monitoring, there is a red LED that will turn on when the battery reaches 20 percent. When it reaches 10 percent the red LED will begin flashing. At 5 percent a proper shutdown will be initiated.

The challenges:
  • Getting everything to fit! Even with an AIO board, this is a bit of an advanced project to attempt
  • The mechanical part is not my strong point, so getting the buttons lined up properly was tough
  • I wasn't able to find a good source for the volume slider and power switch. So I had to remove these components from an actual GBA-SP mother board. Definitely not ideal. But I wanted everything to fit in the original case, so it had to be done.
What went wrong:
  • Button wells need some modifications. They didn't fit the buttons quite right, and needed to be modified to fit within the GBA SP case as well
  • The cutting of the external case to fit the X and Y buttons is tough. I have a few ideas on how to make it better/cleaner, but it's not an easy thing to do. Anyone have any thoughts or suggestions?
What's next:
  • Get a battery in there. I have approximately 58mm x 35mm x 8mm to fit a battery into the cart slot area.
  • Mechanical changes to my AIO board. Fix the button wells, need to trim some of the stacking boards.
  • Electrical changes to my AIO board. I forgot to connect a wire in my schematic, so fix that :roll: I also want to provide the option to use a SPI screen. This would be much easier to fit in the screen shell part. I need to move around some of my GPIO lines on the Pi, and get a larger ribbon cable, but I believe it is doable. Then there would be the option to have composite video or SPI lines going through the ribbon cable up to the screen.
  • I believe I have found some replacement components for the volume slider and power switch. These need to be tested and confirmed, and then change my board layout to accommodate these components.
I think that's it for now. Thanks to everyone for contributing to these forums! All the information on here is a huge help in doing projects like these!
Last edited by codeman0624 on Mon Apr 23, 2018 7:23 am, edited 3 times in total.

User avatar
VeteranGamer
Posts: 1676
Joined: Thu Jan 26, 2017 11:12 am
Location: London, UK
Has thanked: 488 times
Been thanked: 874 times

Re: GBA SPi-Zero with custom AIO board

Post by VeteranGamer » Wed Aug 09, 2017 6:51 am

nicely done....


really liking this.... :)



might wanna consider putting the board up for sale (i think people will defienately buy it... thats make a batch of them)

User avatar
YaYa
Posts: 1719
Joined: Mon Jun 26, 2017 12:42 pm
Location: brittany - France
Has thanked: 871 times
Been thanked: 688 times
Contact:

Re: GBA SPi-Zero with custom AIO board

Post by YaYa » Wed Aug 09, 2017 6:54 am

You burried me with your skills :ugeek:

Oh finish testing it and put that board to sale, you will sell it for sure, it allows such a clean build ! :shock:
Follow me on instagram Image

User avatar
kite
Posts: 853
Joined: Thu May 12, 2016 4:30 am
Location: UK
Has thanked: 223 times
Been thanked: 301 times
Contact:

Re:

Post by kite » Wed Aug 09, 2017 6:55 am

Really like it :) I too have been searching for the vol and power switch, really hard to find anything remotely similar so feel your pain there!

codeman0624
Posts: 106
Joined: Wed Nov 23, 2016 10:19 am
Has thanked: 3 times
Been thanked: 73 times

Re: GBA SPi-Zero with custom AIO board

Post by codeman0624 » Wed Aug 09, 2017 7:38 am

VeteranGamer wrote:
Wed Aug 09, 2017 6:51 am
nicely done....


really liking this.... :)



might wanna consider putting the board up for sale (i think people will defienately buy it... thats make a batch of them)
YaYa wrote:
Wed Aug 09, 2017 6:54 am
You burried me with your skills :ugeek:

Oh finish testing it and put that board to sale, you will sell it for sure, it allows such a clean build ! :shock:

Thanks! I am considering putting them up for sale, but it would unfortunately be pretty expensive. I'll finish some things up and then put a gauging interest post out there to see who's interested

codeman0624
Posts: 106
Joined: Wed Nov 23, 2016 10:19 am
Has thanked: 3 times
Been thanked: 73 times

Re: GBA SPi-Zero with custom AIO board

Post by codeman0624 » Wed Aug 09, 2017 7:40 am

kite wrote:
Wed Aug 09, 2017 6:55 am
Really like it :) I too have been searching for the vol and power switch, really hard to find anything remotely similar so feel your pain there!
Thanks! I stole some techniques from your SAIO board, so thanks for all your work!

Yeah with the thousands of switches and potentiometers out there, I didn't expect this part to be so hard. I was able to find some place on aliexpress that is selling some of the volume sliders, I have 40 of them being shipped to me now so hopefully those work out. And I was able to find a power switch on arrow that has a similar slide distance, I just need to get it mounted to one of my boards to confirm it will mate properly with the power switch mechanism in the shell.

User avatar
ABH
Posts: 187
Joined: Sat May 28, 2016 7:01 pm
Location: Qatar
Has thanked: 74 times
Been thanked: 107 times

Re: GBA SPi-Zero with custom AIO board

Post by ABH » Wed Aug 09, 2017 8:25 am

Wow nicely done!
That's really great work thank you for that.

if it's up for sale definitely i'm interested ;)

Lpoolm
Posts: 385
Joined: Thu Jun 09, 2016 4:17 am
Location: uk
Has thanked: 75 times
Been thanked: 47 times

Re: GBA SPi-Zero with custom AIO board

Post by Lpoolm » Wed Aug 09, 2017 3:59 pm

I think I've seen everything... Then someone ups the game!
Brilliant!!
football predictions using updated sensible soccer: https://www.youtube.com/channel/UCOTIa0 ... oDHX_mND8g

User avatar
Chrisagu28
Posts: 101
Joined: Tue Mar 14, 2017 10:33 am
Has thanked: 41 times
Been thanked: 10 times

Re: GBA SPi-Zero with custom AIO board

Post by Chrisagu28 » Thu Aug 10, 2017 3:36 am

Amazing! The GBA SP is one of my favorite hand helds for the sake of backlight and the clamshell design. Easy to slip into my pocket and not worry about damaging it.

Big props and hats off to you! if you ever decide to sell your AIO's I will gladly buy one!

User avatar
neolith
Posts: 185
Joined: Mon Apr 24, 2017 12:43 pm
Location: Germany
Has thanked: 97 times
Been thanked: 156 times

Re: GBA SPi-Zero with custom AIO board

Post by neolith » Thu Aug 10, 2017 3:55 am

Impressive!
– "The biggest trick the devil ever pulled was convincing the world he didn't exist." –

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest