• 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.

I'm designing a controller

Orayn

Member
I've mentioned at various times that I'm going to college for materials science and engineering. I'm nearly done with my degree, and for one of my last electives I'm taking a class on 3D printing. Apart from being an interesting topic with a lot of career opportunities, 3D printing aligns really nicely with my hobby of gaming and game controllers, because it lets me go from an appropriate 3D model to a physical object with a minimum of fuss and specialist knowledge required.

This is where it gets fun: For this class, I need to do a final project where I have free reign to design and print a prototype of something that could potentially be a commercial product. To this end, I want to develop a shell, d-pad, and buttons that would be used together with an Arduino board and digital switches to make a fully functional controller. Models for every part of my design and all the code for the Arduino would be freely available online for anyone who wanted to make their own or make changes to the design.

Here's where you come in, GAF - I need some ideas! What do you want to see in a scratch-built controller? Should I aim for something general-purpose, or try to fulfill a niche that's nor being served very well right now? What style of D-pad? Button layout and labeling? Style of handles/shell? Any other interesting elements I should be thinking of? I'm thinking this will be limited to a DirectInput PC controller with only digital inputs (no analog sticks or pressure sensing), since that's the low-hanging fruit that could be easily implemented with Arduino.

Here are my big bullet points.


  • SHELL
    • This could be as simple as a flat rectangle or dogbone like the NES/SNES, or a larger contoured body, or something in between like a Mad Catz FightPad.
    • Would probably need to be printed as two halves that would be connected by screws. Not hard to do, just a necessary design consideration.
    • The bottom half would feature places to mount the PCB and switches, while the top half would expose the buttons/d-pad and provide the rest of the grip.
  • BUTTONS
    • At their most basic level, buttons are just plungers that sit on top of a switch of some kind and allow it to be depressed from a distance.
    • The only real choices to make here are the shape, height, and surface profile.
    • Most of the other characteristics come from the switches used, and there are a variety of possible choices that could be ordered from Digikey, Mouser, etc.
    • Shoulder buttons are similar, the only real difference being their length and any other structures needed to make them depress in a consistent way.
  • D-PAD
    • There are actually a lot of details about how these work, and most of it can be found in my d-pad thread.
    • The relevant choices for a d-pad are the shape, how it pivots, and what kind of switches to put under it, which in turn determines the amount of travel and the force needed to press a direction.
    • The pivot is kind of tricky; most d-pads are based on a disc that rocks on a spherical pivot point. Even the Playstation d-pad is a variation of this, it just hides more elements deeper in the controller.
  • ELECTRONICS
    • I plan on using an Arduino Micro as the heart of the controller. It's got 20 input pins, which is easily enough for an 8-way d-pad, start/select, and up to 14 other buttons.
    • There are a lot of variables in choosing switches, but the most important ones are the travel distance, the force needed to actuate them, clicky vs. soft, and the profile of the switch.
    • Most controllers rely on silicon membranes for this because they're cheap and easy to manufacture in large numbers, but we'll be using individual switches for our handmade artisanal controller.
So yeah, any thoughts, questions, things you instantly want to blurt out? I'm working on a followup post that describes what direction I want to take all of these things, but it'd be nice to hear from some GAFers to help get my creativity going.

If no one wants to share, I will still use this thread as my work-log and keep it updated with pictures and progress reports.
 
Here's a design sketch I just came up with...

the-homer-inline2.jpg
 
Definitely go for something niche. Like an Oculus Rift controller or something. Those are the most fun thought exercises. Does it have to be fully functional?
 

Peltz

Member
I would love to see an old school controller with buttons that are responsive as Sanwa arcade stick buttons and a D-Pad that was actually a small digital 8 way "clicky" arcade stick with a square gate for one's thumb.

P.S. stick a track ball in the center of that thing. We need more controllers with trackballs.

DSC_0067.JPG


Something like this, but with traditional dual analogue controls, shoulder buttons too, and the 8 way stick rather than the D-Pad. Make the track ball small and whether the "home" button would be on the Xbox 360 controller.
 

BGBW

Maturity, bitches.
If you are going to use the classic labels of A, B, Y & X and the colours, red, yellow, green and blue then make sure you use the correct pattern:

FE93Z0s.jpg
 

Veal

Member
I would love to see an old school controller with buttons that are responsive as Sanwa arcade stick buttons and a D-Pad that was actually a small digital 8 way stick arcade with a square gate for one's thumb.
They make those! Google PDP vs pad. The micro switched thumb pad is bliss until it craps out on you. The buttons are nice and responsive though. They even respond well to arcade style button tapping.
 
Six same-shaped flatter-faced buttons with mirrored functions on shoulder buttons so that it can function as both fighting game pad and standard pad. Also, swiveled connection for the left part of the controller for the D-pad so that it can rotate for more comfortable angle of use with the left hand while remaining independent of the right side with the face buttons, perhaps similar to the NeGcon, but obviously all digital.
 

Platy

Member
Go the Nintendo way.

If you want something more unique, design a controller thinking about a specific game (see N64->Mario 64), not a "one size fits all" that you see everywhere.
 
I saw not long back a design for a controller that splits in half but not sure where. Or whether it is trademarked or not... But anyway this would be a pretty neat idea for motion controls for Oculus rift. Have a sort of light on each side of the controller which a camera can register for limb movements.

Just a thought!
 
Design what you will, but we need a return to wood panelling on our consoles and controllers. So include spaces for wood panel in your design.
 

Silky

Banned
Micro switch 8-way D-Pad, asymmetrical , concave sticks. Six face buttons. ABCXYZ. Two triggers, two bumpers. Start/Select/Home button.
 

Orayn

Member
I would love to see how a Vita style clicky d pad works out on a full-sized controller...

That kind of d-pad would actually be one of the simplest to do, since low-profile clicky switches are easy to find and the d-pad disc sits directly on top of them without needing to pivot very far.

Definitely go for something niche. Like an Oculus Rift controller or something. Those are the most fun thought exercises. Does it have to be fully functional?

Partially functional might be an option, but most of the things you'd need for a useful VR controller are well outside of my skill set on the electronics/programming side, I'm afraid.

I would love to see an old school controller with buttons that are responsive as Sanwa arcade stick buttons and a D-Pad that was actually a small digital 8 way "clicky" arcade stick with a square gate for one's thumb.

I did consider this; It would require some additional parts like a spring or rubber bushing to reset it to the neutral position and some kind of "pusher" to actuate the switches, but it's not that much more complex than a d-pad and might be feasible.
 

Kathian

Banned
If you want something more unique, design a controller thinking about a specific game (see N64->Mario 64), not a "one size fits all" that you see everywhere.

Poor Steam Controller getting butchered for people who can't sit happily playing their Xbox Controller :(
 
Partially functional might be an option, but most of the things you'd need for a useful VR controller are well outside of my skill set on the electronics/programming side, I'm afraid.

Yeah, I thought that kind of thing would get complicated on the programming side which is why I asked. I still say niche would be the way to go though, even if it's something simple like a one handed controller. I'll admit though, I love seeing crazy shit like that so I'm biased lol.
 

Zaku

Member
What I'd love to see is a controller that could be paired with a mouse, as too many people in the debate of Mouse and Keyboard versus Controller throw the baby out with the bathwater in this respect.

Mouse and Keyboard is great for FPS aiming, but WASD is a god-damned abomination of a control scheme, especially if you're like 99.9% of the population and the W is offset from the S. Also, being surrounded by other, identical keys is bad from a tactile standpoint.

Perhaps a controller where you can rest your wrist on a base, controlling an analog stick with your thumb, leaving four fingers free for a few rows of other buttons?
 
Xbox One has best analog sticks in existence. Its overall aesthetics and layout are also very pleasing.

GameCube controller has fantastic ergonomics. Feels great to hold, the buttons are laid out in an intuitive way. Maybe play around with your own button layout, rather than following the diamond approach.

I never understood what was supposed to be desirable in a D-Pad, so I don't really have good input for that. I guess I like Dualshock 4's pads.

Shoulder triggers: limit these to two only, one for each index finger.
If you want more triggers/buttons, place some back-buttons that the middle fingers could easily push. I've always hated having to switch my index fingers between buttons, and having both my index and middle finger on the shoulders of pads never felt great to me.

That's all I can say.
I think this is really cool. want to see the final product regardless of what direction you go with it.
 

Orayn

Member
What are you planning for the shoulder buttons? How many? Digital or analogue? This is important.

Probably digital, analog gets kind of complicated since good ones require a potentiometer and a set of linkages to turn the little dial as the trigger is depressed.

So yeah, think PSOne, PS2, Wii Classic Controller Pro, or Wii U Pro Controller.
 

baconcow

Member
- Xbox One's joysticks and R2/L2 buttons.
- PS4's circle buttons and R1/L1 buttons.
- PS Vita's D-pad.
- Nintendo Wii U's Pro Controller Start, Select, Home, and Power button styles (size and shape).

Do you need any help with solid modelling?
 
Probably digital, analog gets kind of complicated since good ones require a potentiometer and a set of linkages to turn the little dial as the trigger is depressed.

So yeah, think PSOne, PS2, Wii Classic Controller Pro, or Wii U Pro Controller.

Good decision. I also noticed that you even wrote that in your OP, must have missed it somehow. Is there a reason why you're going with DirectInput over Xinput?
 
What I'd love to see is a controller that could be paired with a mouse, as too many people in the debate of Mouse and Keyboard versus Controller throw the baby out with the bathwater in this respect.

Mouse and Keyboard is great for FPS aiming, but WASD is a god-damned abomination of a control scheme, especially if you're like 99.9% of the population and the W is offset from the S. Also, being surrounded by other, identical keys is bad from a tactile standpoint.

Perhaps a controller where you can rest your wrist on a base, controlling an analog stick with your thumb, leaving four fingers free for a few rows of other buttons?

This already exists actually:
Razer Nostromo on the left and Logitech G13 on the right.

They're not perfect though (for one, their sticks are pretty crap) and if he can come up with a better solution that would be awesome.
 
This already exists actually:

Razer Nostromo on the left and Logitech G13 on the right.

They're not perfect though (for one, their sticks are pretty crap) and if he can come up with a better solution that would be awesome.

The Logitech model seems really interesting. I like their approach to the analog stick more than the razer--that one seems...off somehow. Like I wouldn't think pointing straight/up would equate to the same input.
 
Or a company based in a country which reads right to left as opposed to left to right.

Then why did they use roman letters? There's a certain logic to having the primary button closer to the edge of the controller. It's the first one you're likely to press when you're trying to figure a game out and you've never seen a controller before.
 

Orayn

Member
What I'd love to see is a controller that could be paired with a mouse, as too many people in the debate of Mouse and Keyboard versus Controller throw the baby out with the bathwater in this respect.

Mouse and Keyboard is great for FPS aiming, but WASD is a god-damned abomination of a control scheme, especially if you're like 99.9% of the population and the W is offset from the S. Also, being surrounded by other, identical keys is bad from a tactile standpoint.

Perhaps a controller where you can rest your wrist on a base, controlling an analog stick with your thumb, leaving four fingers free for a few rows of other buttons?

Something like the Belkin n52, Razer Nostromo/Tartarus/Orbweaver, or the Logitech G13?

XEhvkhe.jpg


jDTLAY6.png


A bit different from what I had in mind for this project, but very doable.

Good decision. I also noticed that you even wrote that in your OP, must have missed it somehow. Is there a reason why you're going with DirectInput over Xinput?

I'm still digging around and looking for code, but I don't think it's possible to make an Arduino device that's recognized as an Xinput controller, though it would probably work with wrappers like x360ce.

I'll keep looking and let you know if native Xinput is possible after all, since I'd like to have it too.
 
This already exists actually:

Razer Nostromo on the left and Logitech G13 on the right.

They're not perfect though (for one, their sticks are pretty crap) and if he can come up with a better solution that would be awesome.

Using the joystick on these doesn't feel quite right to me, almost as if the grip of a controller is necessary for more precise movements with the thumb.
 

kabel

Member
The Logitech model seems really interesting. I like their approach to the analog stick more than the razer--that one seems...off somehow. Like I wouldn't think pointing straight/up would equate to the same input.

What if I tell you that you can calibrate that thing?
 

Mr Git

Member
For the face buttons, perhaps a six button layout ala the Megadrive/Genesis? If it didn't make the controller too large it could mean extra buttons when combined with four on the shoulders. Brilliant for fighting games.

Also this is a great idea for 3D printing.
 
The Logitech model seems really interesting. I like their approach to the analog stick more than the razer--that one seems...off somehow. Like I wouldn't think pointing straight/up would equate to the same input.
Using the joystick on these doesn't feel quite right to me, almost as if the grip of a controller is necessary for more precise movements with the thumb.

I have the Logitech one and it actually performs pretty well and I'm better at WASD games because of it. That said, the joystick could be better. For example, it would make more sense as a microswitch fighting game style stick since all it's doing is emulating the WASD inputs and has zero analog function. Either that or just a D-pad.

Kind of OT though so I'll stop talking about it lol.
 
Top Bottom