• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Building a portable handheld!

MRORANGE

Member
Hello!

In this thread I will be attempting to build a portable handheld. I will be listing my success or failure as I go along.

Overall I wanted to see if I could create my own handheld using parts and custom hardware. Can I stress that I am going along with the project with no idea if it will work or not, so please don't use this as a guide yet.

Overall the main sections will be in this thread:

- The main hardware for running
- Screen
- Power
- Controller
- Audio
- Casing
- Assembly

more info coming soon!


My previous work was creating my own mini arcade machine, check out the thread!



main source of inspiration:

 

kizito

Member
Interesting thread. I'll try to participate, but you should first try to define goals, for example : running indies only, emulation, etc...
But that's a good idea.
 
Cool idea. I've been desperate for some sort of portable device I can play smaller indie games on and do Steam in-home streaming. I guess the Shield is ok at this but I feel like there's better options.
 

Putosaure

Member
That back screen the size of a PS Vita cartridge seems interesting.

What OS are you planning to use ? Android I suppose ?
 

2+2=5

The Amiga Brotherhood
Wow can't wait to see the result! :O

What's the purpose of the back screen?

You should build a steamboy making finally everyone's dreams come true! XD
 

MRORANGE

Member
So I managed to snag a few hours to do some research for the handheld and it's going to be a lot harder than I thought it would be :)

lets list out all the problems I'm facing:

lmlN5Ja.jpg


So as I might have mentioned above I am using the raspberry pi, while quite a small device it's still quite thick at just under 1.5cm or so, this isn't bad, but when you consider putting in a screen:

gpkRwnv.jpg


it jumps to 2cm, which is still okay I guess, but with the acrylic sheets and so forth I expect the end result to be 2.5cm thick. Another problem is the screen takes out a good proportion of the GPIO pins to power it :( I've used some wires and all it really needs is 5v, 3v and GND, the actual display is a touchscreen and that's why it's using all those GPIO pins, I'm quite unsure of breaking that bit off just yet as it's out of my comfort zone. Screen is really nice though!

eO390nE.jpg


For the controller I didn't want to go down the solder route, due to lack of pins and unfamiliarity with controllers in general, recently I obtained the 8bido a snes clone bluetooth controller.

sWoe1RR.jpg


I'm hoping I could re-wire the battery connectors from the controller to the main board and usb a Bluetooth dongle, it would save a lot of time :) if that fails I'll have to solder off a usb from the raspberry py and find a very short micro usb cable to house it.

iKNwDaN.jpg


So essentially I got rid of the case for testing purposes and I ran into a few problems.

pcs7tL7.jpg


First of all I had no idea what this was:

FwELutK.jpg


Still have no idea, but I know it sets off the contact for the board for buttons when pressure is applied. anyone know whet they are called? the other problem was this:

5Z0ezXw.jpg


The buttons have different heights and positions, this is goona be tricky to work out using a laser cutter, plus I now have to find a place that can do 1mm acylic for the face buttons to even stick out.



So a lot of research done, don't expect things to sail so quickly as I'm waiting for a few test parts to power the cicruit to arrive and will try and post updates as I can with that.

Overall:

- Sreen has taken all the GPIO ports, can be powereed by 3v-5v and GND, but becomes bulky as you need to displace the Pi
- Going through the Bluetooth route, this may have a maximum of 10% battery hit on the device.
- Button placement is going to be a pain to work out.

Taking into thes things into sonsideration I came up with this design (not final):

vfRQ8jU.jpg


L/R buttons are on the side and the device is about 2.5cm thick, 14cm wide and 16cm tall.


More updates coming when they can?
 

Orayn

Member
I feel like this is a case (har har) where 3D printing could be super useful, since it would allow you to make the whole shell with customized features to fit and support all of your components. Fastening everything together wouldn't be too hard if you added bosses that support thread-cutting screws. Do you have access to SolidWorks or a similar modeling program? You could design something with that and send it off to Shapeways.

Also, the stuff on the back of the controller contact pads is just graphite.
 
Awesome! If love to do this with my pi, but don't have the skill. Really interested to see what you use for a battery and how you don't the power between pi and display.
 

MRORANGE

Member
But will it have a back screen?

Nope, but I'm not surprised the Xbox Zune hasn't been made yet, we have the tech to do it.

I feel like this is a case (har har) where 3D printing could be super useful, since it would allow you to make the whole shell with customized features to fit and support all of your components. Fastening everything together wouldn't be too hard if you added bosses that support thread-cutting screws. Do you have access to SolidWorks or a similar modeling program?

Also, the stuff on the back of the controller contact pads is just graphite.

Cheers, was wondering what it was and you are right, 3D printing might be a better solution, that using layers to acrylic and scrws to hold it in place, alas I've never really use a proper CAD package and it's something I would really love to get into when I have the time.
 

Orayn

Member
Cheers, was wondering what it was and you are right, 3D printing might be a better solution, that using layers to acrylic and scrws to hold it in place, alas I've never really use a proper CAD package and it's something I would really love to get into when I have the time.

My controller project wound up coming to life with 3D printing, so I might be able to offer some guidance since it was a similar premise overall. (Designing a new enclosure for a mix of off the shelf components and original ones.)
 

MRORANGE

Member
My controller project wound up coming to life with 3D printing, so I might be able to offer some guidance since it was a similar premise overall. (Designing a new enclosure for a mix of off the shelf components and original ones.)

Thanks, just reading through some of it, wanted to go for a 6 button layout and totally forgot about the 6 face button Mad Catz pad :eek:

I do have access to a 3D printer, it's just a matter of learnig a CAD package I guess, I'm not bad at creating slices and stacking the components into a layered design so I'll look into both.
 

Krejlooc

Banned
First of all I had no idea what this was:

FwELutK.jpg


Still have no idea, but I know it sets off the contact for the board for buttons when pressure is applied. anyone know whet they are called? the other problem was this:

It's a silicon rubber membrane, it has small carbon contacts on the underside that completes the circuit between the ground and the on pin of the button input. The button contact points on the PCB for that SNES controller you are using has a tiny gap that the silicon contact point completes which completes a circuit to the microcontroller on the gamepad itself.
 

Orayn

Member
Thanks, just reading through some of it, wanted to go for a 6 button layout and totally forgot about the 6 face button Mad Catz pad :eek:

I do have access to a 3D printer, it's just a matter of learnig a CAD package I guess, I'm not bad at creating slices and stacking the components into a layered design so I'll look into both.

Stacking layers is a perfectly good angle to take for this, you'll just have more freedom for each layer's thickness and they'll all combine into a top and bottom halves of a case, with the possibility of some internal structures for support. You can also customize the shape in 3D quite a bit more since you'll have tools that let you cut, extrude, sweep, and fillet each component.
 

MRORANGE

Member
It's a silicon rubber membrane, it has small carbon contacts on the underside that completes the circuit between the ground and the on pin of the button input. The button contact points on the PCB for that SNES controller you are using has a tiny gap that the silicon contact point completes which completes a circuit to the microcontroller on the gamepad itself.

Thanks, I just had no idea what the materials was. I have seen some people on YT cut up the snes PCB and rewire it to fit into projects, but that seems really cumbersome having to rewire each contact.
 

Krejlooc

Banned
Thanks, I just had no idea what the materials was. I have seen some people on YT cut up the snes PCB and rewire it to fit into projects, but that seems really cumbersome having to rewire each contact.

you can do that to make the PCB footprint much smaller, and also make the buttons feel much stronger. Using a small microswitch like this:

LGrvfb7.jpg


Rather than smooshing carbon filings over some contact points to try and make a circuit feels much better and is more reliable.

Old game consoles use rubber contact points because they are cheap. Small microswitches are more expensive but feel way better.

The xbox 360 d-pad uses rubber membranes. The Xbox One d-pad uses microswitches.
 

MRORANGE

Member
you can do that to make the PCB footprint much smaller, and also make the buttons feel much stronger. Using a small microswitch like this:

LGrvfb7.jpg


Rather than smooshing carbon filings over some contact points to try and make a circuit feels much better and is more reliable.

Old game consoles use rubber contact points because they are cheap. Small microswitches are more expensive but feel way better.

The xbox 360 d-pad uses rubber membranes. The Xbox One d-pad uses microswitches.

Yeah I've got quite a few at home, my gripe is the fact that the display lcd has used up so many GPIO pins that could have been used for the buttons, I'm tempted to cut the head of the lcd connector that connects to the pins except for the ones it needs, which frees up the space for buttons to connect to GPIO pins to have a smaller footprint

EDIT:

Just managed to find some: they seem more practical then shoving a controller pcb into the handheld, plus I could do a 6 button layout, I just wished I could snes buttons instead, the flat surface of these plastics ones are pants.

bpL5tDG.jpg
 

ozfunghi

Member
Cool! Really like the mini arcade.

PS: just to make sure... is there such a thing as an "unportable" handheld, or a portable that's not held with your hands? ;-)
 

MRORANGE

Member
The good: the screen fits
The bad: controls for the SNES kinda fit but are out of place, but only stick out slightly, will have to go the microswitch route and find thinner perspex to use. or more chunky buttons or make my own.

7Loaez2.jpg
 

MRORANGE

Member
At the moment I am trying to find out how tall are the megadrive buttons and use that for my build, they seem pretty tall and chunky and seem like a good idea. plus the D-Pad is raised, place some micro-controllers under them and see what happens.


Honestly I need to see one disamsbled and look at the back of the D-pad as well the height of the buttons.
 

Orayn

Member
D-pad has the potential to get pretty tricky if you're using microswitches. Most of them rely on some sort of rocking mechanism that's built into the upper or lower half of the controller shell. SNES is probably your best bet since it's a relatively simple plastic dome that will probably work okay against a circuit board surface if the switches are an appropriate height.
 

MRORANGE

Member
D-pad has the potential to get pretty tricky if you're using microswitches. Most of them rely on some sort of rocking mechanism that's built into the upper or lower half of the controller shell. SNES is probably your best bet since it's a relatively simple plastic dome that will probably work okay against a circuit board surface if the switches are an appropriate height.

Yeah :| I placed some mini microswitches under the SNES D-pad and had the problem of all the buttons going off once I got to the middle of the pad, I need to have a pivot system in place for it to be even usable.

What happened to the 6 button design? :/

It could still be 6 button facing. still undecided.
 

Shaneus

Member
It's a silicon rubber membrane, it has small carbon contacts on the underside that completes the circuit between the ground and the on pin of the button input. The button contact points on the PCB for that SNES controller you are using has a tiny gap that the silicon contact point completes which completes a circuit to the microcontroller on the gamepad itself.
Oh shit, *that's* how they work! Never had any idea how just rubber could make those contacts work.

you can do that to make the PCB footprint much smaller, and also make the buttons feel much stronger. Using a small microswitch like this:

LGrvfb7.jpg


Rather than smooshing carbon filings over some contact points to try and make a circuit feels much better and is more reliable.
That's what I was picturing as well. That way you could mount them anywhere.

Yeah I've got quite a few at home, my gripe is the fact that the display lcd has used up so many GPIO pins that could have been used for the buttons, I'm tempted to cut the head of the lcd connector that connects to the pins except for the ones it needs, which frees up the space for buttons to connect to GPIO pins to have a smaller footprint
Rather than use GPIO, you could always use a USB HID keyboard interface thing. They can be pretty small and you could solder the USB wiring directly to the Pi (bypassing the port, and using less real-estate).

I'll be eagerly following this. I'm still yet to do anything significant with my Pi and I doubt a handheld console thing would be up there, but curious to see how this goes. Looks like you have a handle on things so far.
 

Mihos

Gold Member
Do what I do and just take all the pins and ports off the pie and use ribbon cables in their place. I don't even bother with the ether net (it's USB anyway) and you can move the USB ports anywhere on your case.

Makes it uber thin, thinner than the 7 inch lcd driver board.

I have also ripped one of these apart for power... not sure how long it will power your display (just lower your expectations on the solar part) but I have powered my pi/Arduino stuff with them.... also has the benefit of an on/off solution built in and a power level meter. I keep one in each car also.... in tact of course

http://www.amazon.com/dp/B00M10YD8W/?tag=neogaf0e-20
 

Qwark

Member
Man this is cool. I wish I knew what I was doing enough to make my own handheld. Great work so far OP.
 

MRORANGE

Member
Not much to update on, managed to decided on the back board of the device, for some reason the front plate has a bit of flex, this could be because the bolt holes are wrong or the LCD board is not exactly flat.

zFnySHk.jpg
leP3ajx.jpg
0RA5WHl.jpg
 

MRORANGE

Member
So it's been a few months, honestly I want to finish this off earlier but budgets plus work have made this project very slow. but I'm coming back to this, I'm aiming for a July deadline to get this all made using any free time I have.

What problems have I face?

Power
I've used a powerboost 1000 from adafruit attached to a 3.7v batter, while the batter is slim and flat it slightly juts out of my design. I may need to look for cylindrical batteries or change the design.



Sound

I could go the easy route and just use headphones, only problem is the headphone port is recessed in, I would either need to have a short 3.5mm extender cable, or I could opt to install speakers using an amp and solder wires to the raspberry pi, something I may want to avoid tbh.

Buttons

This is my main gripe at the moment I am opting for an arduino board that will import button presses as ASCII keys, retropie should be able to support that. This lead me onto my board redesign for the buttons:


6 facing! this format looks much butter, I've opted not to use the pad and use tactile switches with caps, using teensy or another arduino based device I can obtain analog input so i don't need a D-Pad.

Only problem with the arduino is that it needs a USB to connect,.... it will stick out of the side then loop back inside, which will look sill, I could make my own usb cable with male head that folds all cables behind slightly (need to think about this) Other idea is to de-solder usb hub from Pi, I don't think it's a good idea to do this.
 
Top Bottom