Gp2x Joystick Exposed - The Internals


You really are whiners. Looking at Eolair's picture, it just makes plain sense. Contacts for left, right, up and down directions are just in the right place and have the good larger. Why the hell should these contacts be more larger than they are ?

Gaming is also all about precision, do you know ? It's just plain sense that if I do not push the joystick right, it will not go into the good direction ! There may be an error margin, but it does not have to be too large ... So 35° is nice enough for the main directions I think.

Btw, dead zones are quite more annoying than this 35°/55° stuff.
Actually, 35° gives VERY little room for error on such a small stick. The stick can be moved roughly 2.5mm to each side. That means the circle of movement of the joystick has a 2.5 mm radius so the circumference is 15,7mm (2.5x2xπ).

That means that while the diagonal moves for the GP2X joystick have a "move marginal" of 2.40mm each, the horizontal/vertical moves only have a marginal of 1,53mm each. Which is a huge difference when we're talking about moves on the millimeter scale. If the joystick had no directional bias each direction would have a move marginal of 1.96mm.

So for horizontal/vertical moves you only have error margin of 1.53mm (Could be even smaller if there's dead zones). You better know precisely where those 1.53mm are on the circumference. So unless you have robotic precision in your hands mistakes are bound to happen, and plenty.
 
Last edited by a moderator:
thoro
That looks to be it, but according to the datasheet, the shaft should move 12° in any direction before contact is made. The deadspot on mine seems larger than 24°, but not bu much.

I am going to find a distributor for this and order a couple to mess around with.
You can order here: 8-Way PCB switch
 
Last edited by a moderator:
So for horizontal/vertical moves you only have error margin of 1.53mm. You better know precisely where those 1.53mm are on the circumference. So unless you have robotic precision in your hands mistakes are bound to happen, and plenty.

This is why a implementation of DaveC's stick configurations is mandatory. The type 2 and 5 should make all this much lesser issue. The gp2x's stick doesn't have any effective deadzone (instead two nearest switches will be registered) so soft can make huge difference here.

Another good idea would be filtering out very short stick's events as with 8 switches it isn't unusual to hit another one for a moment when moving to the desired one.

All this should make the gp2x's stick decent to use without any hardware mods.
 
Last edited by a moderator:
So for horizontal/vertical moves you only have error margin of 1.53mm. You better know precisely where those 1.53mm are on the circumference. So unless you have robotic precision in your hands mistakes are bound to happen, and plenty.

This is why a implementation of DaveC's stick configurations is mandatory. The type 2 and 5 should make all this much lesser issue. The gp2x's stick doesn't have any effective deadzone (instead two nearest switches will be registered) so soft can make huge difference here.

Another good idea would be filtering out very short stick's events as with 8 switches it isn't unusual to hit another one for a moment when moving to the desired one.

All this should make the gp2x's stick decent to use without any hardware mods.
There is a program to test the different cases? How do each of the configurations work?
I can't test as I have no GP2X.
 
Last edited by a moderator:
So for horizontal/vertical moves you only have error margin of 1.53mm (Could be even smaller if there's dead zones). You better know precisely where those 1.53mm are on the circumference. So unless you have robotic precision in your hands mistakes are bound to happen, and plenty.
Robotic precision. That's why I love old games :)
 
Last edited by a moderator:
stick36va.jpg

Maybe a shim made out of thin copper parts and a thin film that doesn't conduct current like the left image above could be made. The top would look like the left image, with the copper pieces glued to the non conductive film. The bottom would have the film cut so the copper could touch the old contacts under the film.

Does this make any sense? I'm no good at vector drawing programs or I would make a schematic. The film/copper parts would have to be very thin so it doesn't affect the pressure you have to push to make contact, don't want the stick too sensitive. This would allow GPH to use the parts they have now until they can have a custom part made to put in them, and also allow daring owners to put the shim in themselves.

Thanx,
Stan
 
Last edited by a moderator:
This is why a implementation of DaveC's stick configurations is mandatory. The type 2 and 5 should make all this much lesser issue. The gp2x's stick doesn't have any effective deadzone (instead two nearest switches will be registered) so soft can make huge difference here.
Yeah, you're right. I've been trying to preach the use of configs 2 and 5 since I found out about the diagonal problem. We just have to hope the devs will consider this more carefully now.

Another good idea would be filtering out very short stick's events as with 8 switches it isn't unusual to hit another one for a moment when moving to the desired one.
I've noticed some of this problem while testing DaveC's configs with the joystick tester (by miq01):

Eolair posted on Dec 31 2005 at 03:42 PM said:
Yeah, it would appear something is not right with the implementation. Could the problem be a detection issue? How the logical (AND) connections are detected? I have a suspicion that the hardware connectors have to be hit at exactly the same time (simultaneously) for it to work. There's no room for a slight time difference.

But in the t-mode (settings menu) I have noticed that a simultaneous hit isn't always what happens. More often you seem to hit first one connector and then another, in rapid sucession. In that case maybe the action is incorrectly interpreted as two seperate ones, first a horizontal move and then a diagonal one?

I'm not sure how to fix this though. How to make the program know when you intend to make one move rather than two seperate ones?
It would be great if some kind of filtering would work.
 
Last edited by a moderator:
correct me if I'm wrong, but we could just adjust the target area with diagonals in software. (as I believe was stated before) adjusting slight diagonals to register as x/y gives about the same target area as 45-degree rotation correct?
maybe this wasn't a mistake.

how sturdy is it down there, you're in a great place to do some cutting for a 4-way d-pad. If they were going to do something crazy like this, they should have used one that could switch between 4 and 8 switches anyway.
 
So for horizontal/vertical moves you only have error margin of 1.53mm (Could be even smaller if there's dead zones). You better know precisely where those 1.53mm are on the circumference. So unless you have robotic precision in your hands mistakes are bound to happen, and plenty.
Robotic precision. That's why I love old games :)
Yeah me too but the old precision games are hard enough without adding a joystick with disproportional movement.

There is a program to test the different cases? How do each of the configurations work?
I can't test as I have no GP2X.
Yes, there's a joystick config tester for the GP2X made by miq01. You still need a GP2X though ;)
 
Last edited by a moderator:
Maybe a shim made out of thin copper parts and a thin film that doesn't conduct current like the left image above could be made. The top would look like the left image, with the copper pieces glued to the non conductive film. The bottom would have the film cut so the copper could touch the old contacts under the film.

Does this make any sense? I'm no good at vector drawing programs or I would make a schematic. The film/copper parts would have to be very thin so it doesn't affect the pressure you have to push to make contact, don't want the stick too sensitive. This would allow GPH to use the parts they have now until they can have a custom part made to put in them, and also allow daring owners to put the shim in themselves.

Thanx,
Stan


That is similar to what I said for the fix in the first post. You don't need any film though.

What I suggest for the mod is to solder thin and small sheet metal pads over the X,Y contacts. This would raise up those contacts slightly. Since the stick works by tilting a round "hat" the X,Y would be closer to that and would be more likely to contact first. I think this it the best and simplest mod. It would solve two problems. It would give the stick an X,Y bias PLUS it would narrow the dead zone as well as the increased height would mean contact would be made at a shallower angle.
 
Last edited by a moderator:
correct me if I'm wrong, but we could just adjust the target area with diagonals in software. (as I believe was stated before) adjusting slight diagonals to register as x/y gives about the same target area as 45-degree rotation correct?
maybe this wasn't a mistake.



Yes, you are talking about "case 2"
 
Last edited by a moderator:
What I suggest for the mod is to solder thin and small sheet metal pads over the X,Y contacts. This would raise up those contacts slightly. Since the stick works by tilting a round "hat" the X,Y would be closer to that and would be more likely to contact first. I think this it the best and simplest mod. It would solve two problems. It would give the stick an X,Y bias PLUS it would narrow the dead zone as well as the increased height would mean contact would be made at a shallower angle.

nice idea, but practical impossible.
i don't think you can solder them that precisely that it's still playable and you can't solder them that they will last "foreever". with normal soldering they will fall apart easily, i guess.

so i would go for the other option, to decrease the size of the diagonal parts. maybe with a mask/film whatever or by "painting" off some parts with super-glue.
 
Last edited by a moderator:
What I suggest for the mod is to solder thin and small sheet metal pads over the X,Y contacts.  This would raise up those contacts slightly.  Since the stick works by tilting a round "hat" the X,Y would be closer to that and would be more likely to contact first.  I think this it the best and simplest mod.  It would solve two problems.  It would give the stick an X,Y bias PLUS it would narrow the dead zone as well as the increased height would mean contact would be made at a shallower angle.

nice idea, but practical impossible.
i don't think you can solder them that precisely that it's still playable and you can't solder them that they will last "foreever". with normal soldering they will fall apart easily, i guess.

so i would go for the other option, to decrease the size of the diagonal parts. maybe with a mask/film whatever or by "painting" off some parts with super-glue.

You can solder them precisely. They just have to be flat. since the stick is pressing flat and not pulling on the solder it will be fine.

As far as your fix that would be a bad idea. First masking diagonals would result in situation where movement would stop completely when it hit the paint. So rather than giving an accidental diagonal it will give an accidental stop, this would be worse. Plus you speak of durability you think a thin layer of glue would last longer than a soldered metal pad :blink:
 
Last edited by a moderator:
so i would go for the other option, to decrease the size of the diagonal parts. maybe with a mask/film whatever or by "painting" off some parts with super-glue.

This is easiest mod probably and will improve situation somewhat. But the DaveC's "case 4" is essentially the same and it is just software solution.
 
Last edited by a moderator:
so i would go for the other option, to decrease the size of the diagonal parts. maybe with a mask/film whatever or by "painting" off some parts with super-glue.

This is easiest mod probably and will improve situation somewhat. But the DaveC's "case 4" is essentially the same and it is just software solution.


It is easy but you would be just trading one problem for another. Not a good solution to me.
 
Last edited by a moderator:
you can "paint" everything with that paint/glue except the remaining contacts.
i can't imagine how you can solder a metal layer on this contact. soldering tin is not very adhesive and this is a blank piece of metal.
 
IMO the above methods don't look very practical.

Adding some kind of non-conductive paint/glue will only cause the substance to be worn off and create grit inside the switch mechanism.

What is needed is a complete replacement of the joystick switch. A drop in replacement at that.
 
Ugh, anyone getting that sinking feeling that GPH wasn't the -good- hardware side of the company all of a sudden?

Someone -needs- to contact GPH about these problems.
 
Ugh, anyone getting that sinking feeling that GPH wasn't the -good- hardware side of the company all of a sudden?

Someone -needs- to contact GPH about these problems.
They don't care. They think they've made a portable media player :lol:

At best they'll make some alternative stick caps but that won't fix this problem. And anyway, even if they wanted to what could they do? Sure they could rotate the stick by 45 degrees and make it horizontal/vertical biased. Or they could change the joystick completely.

That would take time and money though and you'll never see it on the GP2X you have in your hand. That, I think it would be even worse because we would end up with two versions that would behave differently and require different software to be playable.
 
Last edited by a moderator:
Back
Top