Portable Raspberry Pi gaming handheld

Made from a Raspberry Pi 2 B, a 4,3" TFT screen, a powerbank and a modified SNES controller.

Similar projects worth following
A portable 'gameboy' build around the RPi2 B which can run many emulators of old consoles.
The portable has the D-pad and play buttons from a SNES controller and is equipped with the power of a 16000mAh powerbank.

*** Check out my Arcade project for more details on the software, the software is exactly the same as this project. ***

The portable has a charging port, SD card access and speakers.
The case is made from 2mm thick PVC and 1mm transparent polycarbonate.

Semi-detailed logs of making the Portable Raspberry Pi Gaming Handheld grouped by category : (note : some logs have become irrelevent over time because of design changes)

Logs about video / screen

Logs about power

Logs about the controls

Logs about wiring

Logs about the case


  • 1 × Raspberry Pi 2 B Computer (€38,00)
  • 1 × 4,3" composite TFT display Display (€17,00)
  • 1 × Anker Astro e5 Powerbank (16000mAh) Power source (€53,00)
  • 1 × Snes controller (with colored buttons) Controls (€11,00)
  • 1 × 3-12v step-up regulator (Used for 12v display) Voltage regulator (€9,00)

View all 14 components

  • Casing [New front plate]

    Lumor02/06/2016 at 01:11 0 comments

    After alot of work (again) i remade the front plate, it's now composed of 3 layers to give the D-pad 1mm more space. The D-pad feels perfect to me right now, it's not tight or loose and the clicks register perfectly. The play buttons are working perfectly also.

    First layer : holds the screen in place.

    Second layer : window-paper-thingy + plastic sheet = the decoration layer. I'm gonna remake this, it's not allot of work.

    Third layer : Plastic cover, i accidentally scratched the surface... (this project is never going to end..... )

  • Casing [Designing new front plate]

    Lumor01/24/2016 at 14:28 0 comments

    I'm having issues with the D-pad, it doesn't have enough room and it doesn't stick out enough which makes it feel odd.
    I found a way to solve both these problems. I'm gonna use 2x 1mm polycarbonate sheets instead of 1x 2mm.

    (I used flashy colors for illustration purposes, it's gonna be transparent)

    This way the D-pad sticks out 1mm more and has 1mm more room on the inside. As an extra bonus the screen will have more room aswell.

    After this is done the buttons should feel just like a SNES controller.

  • Casing [Finished making case]

    Lumor12/29/2015 at 02:28 0 comments

    Spend allot of time perfectly aligning the buttons so they feel 'right' when pressed, i didn't leave myself much room when i designed the case so it was difficult. I also aligned the screen with the front plate. The image is still not perfectly aligned on the screen, i need to configure that in linux.

    It's pretty much a functional device now but i still need to mount the speakers and shoulder buttons.

    I figured it was kinda bad that i don't have a power indicator, the powerbank has indicator leds so i might have to make a hole to see those.

  • Casing [Starting over]

    Lumor12/22/2015 at 22:31 3 comments

    I had to remake the entire case because when i ordered the PVC i accidentally ordered the side-strip too small (25mm instead of 27mm), i thought i could fix it and use the 25mm strip anyways but i was wrong, there wasn't enough room for the buttons left. I re-ordered the side strip with a width of 27mm this time and remade the entire case.

    I learned from the mistakes i made on the first case so i did some things better. I was a little more neat with the hot glue, i sanded the PVC more carefully and cleaned it with acetone before glueing. Just like last time, i glued it together with PVC glue and reinforced it with hot-glue.

    Also... the screw-holes now match up perfectly with the front plate (the previous case was a little crooked because of the bending).

    I still have some holes to make for the charging port, SD-card slot and the shoulder buttons.

    (Top one is the old case, bottom is the new case. I also cut away the sticker for the screen)

    (I secured the D-Pad in place, i hot-glued the PCB onto a patch of electrical tape and stuck that to the battery. This way i it is in place securely but not glued permanently to the battery)

  • Casing [Holes in the side]

    Lumor12/14/2015 at 21:23 0 comments

    I made some of the holes in the side of the case for the charging port, SD-card access and the USB/UTP ports.

    (USB ports for transfering roms and UTP port for.... internet)

    (SD-card slot on the left and charging slot on the right)

    It looks a bit weird on the photo, but it's actually easy to plug a cable into the charging port. SD card is a little more tricky to get out, but it doesn't have to be replaced often anyways, i just need to be able to replace the SD card when something goes wrong.

    Next thing to do is drill holes for the shoulder buttons, power switch and volume potmeter, i will update this post when i get it done.

    (Here's a nice photo of the insides, don't judge me for the hot-glue mess)

    EDIT : I made the hole for the power switch and mounted it to the case, i had to extend some wires to make it reach to the side of the case because there was no more room at the bottom.

  • Casing [Bending side of case]

    Lumor12/13/2015 at 23:17 0 comments

    I finished building the majority of the case, the bending of the side was a real pain in the *** so i had to change tactics a bit. I glued everything in place with PVC glue and hot glue for extra support. Because of that it's not pretty on the inside but it doesn't have to be.
    After that i sanded the sides a bit to hide the crimes and used Skotch Brite to give the case a better look.

    Because i'm now using hot glue i had to change the dimensions of the construction plate by shaving 3mm off the edges, this doesn't affect anything else.

    By doing all this it's now a really sturdy case that will not break any time soon. I used black sticker sheets (used for blinding windows) under the front plate, i think it looks pretty good. The portable feels really good in the hands and the buttons are at the perfect spot.

    (This is the sticker i bought, it's used to blind windows and it comes in many paterns and some even colors, i'm glad they had an even coloured black one. I bought this at a hardware store)

    (I still need to cut away some of the sticker so you can actually see the screen when it's installed)

    Next thing to do is drill all the holes on the edge for the USB connector, charging connector, volume control, shoulder buttons and SD-card access. I also need to drill some holes for the speakers in the front plate and connect a potentiometer to the amplifier. After that i can install everything in the case and it's done.

  • Casing [Creating front plate]

    Lumor12/11/2015 at 23:07 0 comments

    Today i drilled/filed all the holes and curves on the transparent front plate, it's really nerfwrecking drilling 10mm holes into polycarbonate plastic, the drill bit grabs the plastic almost all the time. Drilling slowly with a metal bit while having the plate secured to the table helps allot, i also did allot of test holes in a scrap piece of polycarbonate to get comfortable. The whole thing turned out quite nice for a second try (on the first try i accidentally drilled a hole i shouldn't have.). Good thing i have plenty of spare plates.

    You're asking yourself : "Why is the top transparent?". No i'm not going for the transparent 90's look, my plan is to cover the inside of the transparent plate with a black (dark) sticker which covers everything except the screen area, this way the screen is protected and the front plate is one smooth surface. A perfect thing would be to be able to make a sticker with graphics (letters for buttons etc) on the sticky side of the sticker, but i'm not sure how hard that is to get/make.

    (Pre-drilling holes and marking the D-pad + corners)

    (Drilled 5 holes and filed away the rest to create the D-pad hole)

    (D-pad and play buttons done)

    (Holes drilled for the "Menu buttons" ie : Start, select, menu, options)

    (The D-pad hole still needs some smoothening, the sticker-to-be will also hide allot of crimes.)

    The hardest part is yet to come : Bending the long strip of PVC to fit around the portable exactly, i have 5 tries to get it right or i'll have to re-order materials. This part will largely define the "professional look" of the case, if there are gaps or other odd bends it wouldn't look good at all.

    Luckily the plastic is really cheap, considering they cut everything to size :) (I ordered the plastic at a dutch webshop).

    By my calculations the entire unit will be 29mm tall, 209mm wide and 99mm high.

    [captain hindsight mode on]

    I think the entire unit is a bit too thick, i should have used smaller lipo batteries but besides that i'm very pleased with how this project is going.

    [captain hindsight mode off]

    Oh yea, i cut away parts of the structure plate where the batteries lay, i also removed some padding and tape from the batteries and flattened the wires of the button-PCB's. All of this saved me atleast 5mm in thickness of the entire unit. The batteries is what defines the thickness of the unit so every bit counts.

  • Casing [Designs and materials]

    Lumor12/08/2015 at 10:37 0 comments

    I spend the last one or two months carefully designing the case and i'm finally confident enough about it to make it a reality. I ordered the PVC and Polycarbonate plates from an online webshop and they arived within 2 days. As you can see i ordered 5 of everything for when i screw something up (it's gonna happen).

    In my previous post i mentioned i'd be making the case out of polyethylene plastic, however polyethylene turns out to be really hard to glue so i used PVC instead.

    Here's a peek at the designs and the materials, i'll share more details later :

    Structure plate, all the electronics are mounted on here.

    Bottom plate :

    Bottom plate and structure plate mounted together :

  • Wiring [Installing the amplifier & screen change]

    Lumor10/26/2015 at 19:36 0 comments

    I tried the other screen i bought and it looks a little better in my opinion. The 5" screen has a really terrible viewing angle compared to the 4,3" screen.
    When looking at the 5" screen at an angle, the screen starts to turn white which is really annoying.
    This is the reason why i almost always buy two of everything, so that i can test and choose which one works best for me.

    I also installed the amplifier i bought, it's very small so i just hot-glued it to the side of the left battery.

    The wire bundle at the bottom will be removed as soon as i'm 100% sure all the GPIO are connected correctly and everything works.

  • Casing [Design idea]

    Lumor10/22/2015 at 23:56 0 comments

    I think i figured out a way to make the case look reasonably professional and relatively easy to make. I'm gonna order two polyethylene 'plates' with a 3mm thickness with the correct dimensions, glue 4 of those threaded posts in the corner and glue a metal or plastic strip around the edge. This way i'll have a removable top part to access the electronics.

    Something like this (Note: dimensions are not to scale, AT ALL) :

View all 29 project logs

Enjoy this project?



mine12686 wrote 01/06/2022 at 15:46 point

this is really amazing program of 3d portable raspberry pi gaming handheld. i am also make like this project for my site. tools

  Are you sure? yes | no

chrisagu28 wrote 03/08/2015 at 09:43 point

I am really liking this progress of your project and I am looking to do something similar. I like the adafruit gameboy design but I want more then two buttons and psp like feel like you designed. How are you planning on making the case? 3D printing?

  Are you sure? yes | no

Lumor wrote 03/08/2015 at 11:50 point

I don't have a 3d printer, i was thinking of making it out off plastic or maybe even wood. I want the electronics fully working before i start making the case.

  Are you sure? yes | no

chrisagu28 wrote 03/09/2015 at 02:06 point

Well just to give a helping hand, once the electronics are all squared and you have drawn up a idea for a case even dimensions. I have a 3d printer that does ABS, it can print up to a 7" x 7" x 7" piece  and I would be willing to help you out. 

  Are you sure? yes | no

Lumor wrote 03/09/2015 at 03:06 point

Thank you for the offer ;), i will surely think about it. It's gonna be challenging to design a case that precisely but i think i can pull it off.

What file-type does the 3d design have to be?

  Are you sure? yes | no

chrisagu28 wrote 03/09/2015 at 04:20 point

No problem, you just let me know if you want to do that and what color you thinking. I could assume black. The printer uses .STL format which is pretty common. I made a mistake by not including the .8 in the size lol, it can make a 7.8 " cube so you have more room to play with. (20cm x 20cm x 20cm if you look at it that way too.) 

I look forward to updates since and ideas since I will be doing something like this soon.

  Are you sure? yes | no

chazragg wrote 02/13/2015 at 22:55 point

me and a friend had this idea back last year using retro pi we also got quake 3 running on it but we lacked money to build it being college students we ran into a lot of problems some emulators ran really slow *this was model b not b+" and also ran into a lot of sound issues with the n64 emulator

  Are you sure? yes | no

Lumor wrote 02/14/2015 at 01:40 point

I know about the n64 emulator and i can live without, i;m hoping the Rpi2 can run n64 soon. The emulators i am using run perfectly fine (GBA, GB, Atari2600, Snes, nes, sega). The only sound issue i have is with the snes, sometimes the sounds sound like it is 'lagging' for a moment. the whole thing is not extremly expensive to build, i spend about 100euro on the screen, rpi and regulator together, and estimate i will only need to spend about 70 more. 

  Are you sure? yes | no

chazragg wrote 02/15/2015 at 01:18 point
yeah other emulators worked fine . i found setting frame jumping to 1 on the psx emulator helped a lot 

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates