Gp2x Joystick Exposed - The Internals


If you want to map a new controller (dpad, 4way stick etc)into the existing slot, why not use a microcontroller to interface?

Many have their own internal oscillators, so no crystal needed, draw little power, and could have software debounce etc.

Those pic10F look small enough to snort (you think I'm joking?) and AVR tiny's are small too (smd)

I was looking at such chips but didn't find suitable one with enough pins for needed signals. There must be 4 in and 8 out digital i/o. For sure there is probably one and it's good to think about any solution.

The way it works is there is a "hat" that is common and tilts to make contact with contacts in the base. There are 8 contacts in the base. A spring keeps the "hat" from making contact unless force is applied. There is a center blister switch that closes when the brass shaft is pressed. There is no threading and the brass stick and metal hat are keyed so they don't rotate. It is a simple arrangement.
DaveC, how reliable do you think this simple mechanism is? I only ask as mine now, as of about 4 hours ago, has no right movement. What would be the likely cause of this given the arrangement? Great photos BTW.

Try unscrew the cap somewhat and see if this helps. Eventually remove it completely and test how stick reacts. Most cases of not registering direction are due that the cap is touching the front panel.

Imo the cap is simply bad because it isn't offering any grip and thumb can easily slip from it. This is one of reason why gp2x's stick can handle so badly.

There can be issue with rubber layer on gp2x's chipset. On some units there is too much of it and it's pushing lcd panel from back. Once I removed it stick handling improved further (plus small modification of cap to prevent it touching the gp2x's case).

It packed up suddenly, although since I had it, the diagonal top right hasn't been so good as the rest but livable with, and there's been no problem with right itself until tonight. Could it maybe be caused by something getting in and insulating the connection, or is it more likely to be a connection itself gone bye-byes? I was using it when it stopped working.

There's actually two in the house, mine has "First Edition" on it, but my lads (Santa bought it for him) doesn't, and his seems a little better in the control department.

I bet this second gp2x doesn't have the rubber on a chipset.
 
Last edited by a moderator:
It packed up suddenly, although since I had it, the diagonal top right hasn't been so good as the rest but livable with, and there's been no problem with right itself until tonight. Could it maybe be caused by something getting in and insulating the connection, or is it more likely to be a connection itself gone bye-byes? I was using it when it stopped working.

There's actually two in the house, mine has "First Edition" on it, but my lads (Santa bought it for him) doesn't, and his seems a little better in the control department.

Cheers,


Frank.

If it stopped working suddenly it could be that the solder joint(s ) on the stick assembly came loose. Take the cap off and see if it makes a difference. If so the cap is touching try filing a flat spot on the plastic stem on the cap, then turn it so it doesn't touch. If it still doesn't work after the cap is removed then you likely have a solder joint problem. You will have to go in and re-solder it or return the unit.
 
Last edited by a moderator:
Radek and DaveC, thanks for the info. The stick wasn't touching the case, I removed it anyway but it made no difference. My guess from what you've said is it's a solder problem, but I'll be interested to see if it's anything else, I'll post in a new thread if I find out it's something unusual.

I've now returned the unit to GP2X.co.uk, and from what people have said here, their customer service is excellent so hopefully I'll know something in a few days. I hope so, I've spent a few hundred quid with them the last 2-3 years and this is the first problem.

I'm already missing it, I swiped my lad's today for half an hour. ;)
 
After careful testing with case2 in joytest I've found that my stick physically behaves like this:

stick8cv.jpg


Which is strange to say the least... Either my stick has a manufacture fault and is proportionally incorrect, or all gp2x sticks behave like this.

As you can see in the picture the upper diagonals are larger than the lower ones. When you try to move left or right the stick hardly has any margin towards the upper diagonals. The margin towards the lower diagonals are much more forgiving. This means that it's much easier to hit the upper diagonals by accident when going left or right, than it is to hit the lower diagonals.

Can anyone else check this? I hope I'm making any sense. Right now I'm thinking that it's just my stick that's faulty, which would be both depressing and a relief, at the same time.
 
After careful testing with case2 in joytest I've found that my stick physically behaves like this:

stick8cv.jpg


Which is strange to say the least... Either my stick has a manufacture fault and is proportionally incorrect, or all gp2x sticks behave like this.

As you can see in the picture the upper diagonals are larger than the lower ones. When you try to move left or right the stick hardly has any margin towards the upper diagonals. The margin towards the lower diagonals are much more forgiving. This means that it's much easier to hit the upper diagonals by accident when going left or right, than it is to hit the lower diagonals.

Can anyone else check this? I hope I'm making any sense. Right now I'm thinking that it's just my stick that's faulty, which would be both depressing and a relief, at the same time.


If you look in the pics at the beginning of the post there is no mechanical reason this should happen. Strange though.
 
Last edited by a moderator:
After careful testing with case2 in joytest I've found that my stick physically behaves like this:

stick8cv.jpg


Which is strange to say the least... Either my stick has a manufacture fault and is proportionally incorrect, or all gp2x sticks behave like this.

As you can see in the picture the upper diagonals are larger than the lower ones. When you try to move left or right the stick hardly has any margin towards the upper diagonals. The margin towards the lower diagonals are much more forgiving. This means that it's much easier to hit the upper diagonals by accident when going left or right, than it is to hit the lower diagonals.

Can anyone else check this? I hope I'm making any sense. Right now I'm thinking that it's just my stick that's faulty, which would be both depressing and a relief, at the same time.

I could not check it so precisely but the upper diagonals are quite easy to hit. That's is even with biasing "2" in OutcaST so there is some truth to it... I'm coming that only effective nonhardware solution is just deny any upper diagonal (use them just for left and right) and implement them using the side buttons instead...

Eventually remap the buttons on the right side of gp2x to act like pad...

I have some filtering idea what should improve reliability but at cost of some latency. After this it's all what can be done software wise.

I suggest to try OutcaST and PrinceOfPersia. Even with turned on ordinal biasing it's almost impossible to not jump unintentionally. However the Turricans are behaving much better and are playable even they are using the upper diagonals for jumping too. It's probably depends on freqency of polling controls by a game I think.
 
Last edited by a moderator:
I'm very well aware of how the physical connectors are placed. But unfortunately I'm not imagining this. To verify I only have to use joytest, remove the cap and hold the gp2x upside down. Now clearly the "lower" diagonals are easier to hit instead of the "upper".

I have no explanation for this though. Could the connectors be out of place? Or the stick mounted slightly tilted into the joystick assembly? This is a big problem for me because i makes the upper diagonals even worse than they should be <_<

Actually the stick is behaving more like this:

stick0cs.png


I love my gp2x but as it is it's almost useless as a gaming device :(
 
How is it going? (Radek & Otheres)

My Gp2X is gathering a lot of dust :)

Well... it's progressing albeit slowly (yet)... I found SMD versions of chips I'd need. I'm optimistic that after removing the stock stick there would be enough place inside to fit new stick plus logic circuit. The whole replacement should be just one piece of pcb soldered to the base where stick normaly is.

At worst the logic circuit would be at backside of gp2x's mainboard. There is even more free space (and the logics outs can be connected to backside too).

I'm now searching for appropriate stick. The stock stick dimension are 13.5x13.5x6.8mm and there is place for extra 1mm of height.

Until I gather all parts I will not be able to tell more.
 
Last edited by a moderator:
It should not be impossible to rotate the stick 45° by putting it on a custom PCB.

If the PCB has a hole in the center of it for the stick to rest on the motherboard still, it wouldn't have to be any higher either.

Just make a donut-shaped PCB that has pins where the stick connects now, and then bend the existing stick's pins outward to a larger base circle, then put traces to reconnect the proper circuits allowing for the 45° offset.

If we can fit the PCB around the stick, it could work and be a viable modification, just send it off and have somebody mod it.

There should be 4 possible mounting positions and we can choose the one that makes the easiest/strongest PCB.

Edit: Another option is to epoxy the stick onto the motherboard at 45° and then wire the pins by hand, somebody give it a go! :) .

It is only a finite amount of pins (this from the guy who used a dremel to cut the circuit board out of a MS Sidewinder™ USB and put it in the grip of a Sony™ digital pad, the real tricky part was cutting the single ground plane so I could make the grid style Sidewinder™ button matrix work ;) ) I rule hardware mods :p .
 
It should not be impossible to rotate the stick 45° by putting it on a custom PCB.

If we are going after soldering then why stay with original stick?

If the PCB has a hole in the center of it for the stick to rest on the motherboard still, it wouldn't have to be any higher either.

Just make a donut-shaped PCB that has pins where the stick connects now, and then bend the existing stick's pins outward to a larger base circle, then put traces to reconnect the proper circuits allowing for the 45° offset.

Forget about it. :)

It'd be only an unnecessary hassle. :D

If we can fit the PCB around the stick, it could work and be a viable modification, just send it off and have somebody mod it.

There should be 4 possible mounting positions and we can choose the one that makes the easiest/strongest PCB.

Edit: Another option is to epoxy the stick onto the motherboard at 45° and then wire the pins by hand, somebody give it a go! :) .

It is only a finite amount of pins (this from the guy who used a dremel to cut the circuit board out of a MS sidewinder USB and put it in the grip of a Sony[TM] digital pad, the real tricky part was cutting the single ground plane so I could make the grid style Sidewinder button matrix work ;) ) I rule hardware mods :p .

The gp2x's stick is not suited to precise control. It has freedom of movement of analog one yet is has discrete digital pseudo 16 way output. If we are going to soldering then any compromise isn't acceptable. This means replacing the stock stick with something much better and using logic circuit to translate signals. This is the way I see it.
 
Last edited by a moderator:
I'm very well aware of how the physical connectors are placed. But unfortunately I'm not imagining this. To verify I only have to use joytest, remove the cap and hold the gp2x upside down. Now clearly the "lower" diagonals are easier to hit instead of the "upper".

I have no explanation for this though. Could the connectors be out of place? Or the stick mounted slightly tilted into the joystick assembly? This is a big problem for me because i makes the upper diagonals even worse than they should be <_<

Actually the stick is behaving more like this:

stick0cs.png


I love my gp2x but as it is it's almost useless as a gaming device :(

thats exactly how my stick behaves, even in case 2 of the joystick test program, its still a lot easier to hit the upper diagonals than the lower, which is very bizzare.

i guess you can bet your ass the gp2x-F200 will come with a new joystick and joystick cap.
 
Last edited by a moderator:
I've noticed that too, on Ghosts and Goblins on the ST.

How about we try:
jog.gif


No... the combis are too narrow - it'd be like replacing one problem with another. Not that I'm against - the more options the better.

The problem is that when moving from left (for an example) to up it's impossible to not hit diagonal in a way. Software solution would be a filter in a time domain at expense of some latency for diagonals.

The more drastic solution would be to map side buttons to upper diagonals and deny them from a stick.

Going further... map the the x/y/a/b to behave like a pad...

The only full fix is replacing the gp2x's stick.
 
Last edited by a moderator:
I've noticed that too, on Ghosts and Goblins on the ST.

How about we try:
jog.gif


Interesting...your suggestion is similar to this which I made earlier:
case71xo4ri.jpg


Your idea would be better since only the upper diagonals are a problem. I hope someone is willing to try and implent it.

No... the combis are too narrow - it'd be like replacing one problem with another. Not that I'm against - the more options the better.
Yeah, I think so too. The intermediate diagonals are almost impossible to hit. Try joytest by miq01 and you'll see how difficult it is. But still, I think we need to try before we rule it out.

I still can't see a reason why the stick behaves like this though. And if everyone elses stick is like mine and the upper diagonals are easier to hit than the lower ones, then rotating the stick by 45 degrees is out of the question. You'd end up with an even stranger stick:

45degrees9gf.png
 
Last edited by a moderator:
I've noticed that too, on Ghosts and Goblins on the ST.

How about we try:
jog.gif


Interesting...your suggestion is similar to this which I made earlier:
case71xo4ri.jpg


Your idea would be better since only the upper diagonals are a problem. I hope someone is willing to try and implent it.

No... the combis are too narrow - it'd be like replacing one problem with another. Not that I'm against - the more options the better.
Yeah, I think so too. The intermediate diagonals are almost impossible to hit. Try joytest by miq01 and you'll see how difficult it is. But still, I think we need to try before we rule it out.

I still can't see a reason why the stick behaves like this though. And if everyone elses stick is like mine and the upper diagonals are easier to hit than the lower ones, then rotating the stick by 45 degrees is out of the question. You'd end up with an even stranger stick:

45degrees9gf.png


Hmmm, maybe the Joystick is biased by the spring or the lock mechanism inside the stick that keeps the shaft from rotating <_<
 
Last edited by a moderator:
I still can't see a reason why the stick behaves like this though. And if everyone elses stick is like mine and the upper diagonals are easier to hit than the lower ones, then rotating the stick by 45 degrees is out of the question. You'd end up with an even stranger stick:

45degrees9gf.png


Looking at the mechanism it would appear that rotating the stick 45° AND using a case 2 setup would be best.
 
Last edited by a moderator:
I still can't see a reason why the stick behaves like this though. And if everyone elses stick is like mine and the upper diagonals are easier to hit than the lower ones, then rotating the stick by 45 degrees is out of the question. You'd end up with an even stranger stick:

45degrees9gf.png


Looking at the mechanism it would appear that rotating the stick 45° AND using a case 2 setup would be best.
Yeah sorry, I wasn't thinking straight last night. I rotated it by 90 instead of 45 :D
If I rotated my stick by 45 degrees it would look like below, which would be an improvement:
451ry.png
 
Last edited by a moderator:
Back
Top