Pages: [1]   Go Down
Author Topic: Sidewinder joystick PCB explanation  (Read 1073 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 88
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So guys i had this old Sidewinder pro joystick which i took apart. I threw away the bottom guts and was left with the top "stick" part of the joystick and its PCB.

I cannot understand how the PCB functions or how i can use its present form (without changing its circuitry) and so i would like someone to explain to me how it works and how i could possibly use it.

I've attached 3 photos of the actual PCB and another one showing the schematic of the PCB (please excuse my poor drawing/sketching skills)

Thank you in advance and have a nice day smiley


* DSC00640.JPG (653.41 KB, 1382x1037 - viewed 61 times.)

* DSC00642.JPG (595.63 KB, 1382x1037 - viewed 48 times.)

* DSC00643.JPG (600.9 KB, 1382x1037 - viewed 52 times.)

* DSC00639.JPG (1415.05 KB, 2304x1728 - viewed 55 times.)
Logged

Chicago
Offline Offline
Full Member
***
Karma: 7
Posts: 148
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Well... it looks like you have a bunch of tactile switchs from the buttons that were on of the stick.  If I recall correctly, there was a "hat" style thumbswitch on those joysticks as well, which would detect left, right, up, down, and diagonals (probably by combining left & up, left & down, right & up, right & down).  I'm going to guess there are a few transistors on there as well.  Looks like there is also an optical encoder for a wheel of some sort.  Need to look at the pictures some more...

UPDATE:  Scratch that... no rotary encoder.  I hadn't yet looked at the top-down picture and see what I thought was the encoder was just the side of one of the hat switches.  If I read your diagram correctly and look at the pictures, there are 8 buttons but only 6 wires.  My guess is that like they are multiplexing the input.  Meaning... they are using the transistors to switch which buttons they want to "read".  In order words they can only read some of the buttons at a time, and they use the transitors to switch which buttons they are reading.

I'm thinking that the blue, orange, yellow, and green wires are where you read the inputs, and you switch which inputs you want to read by applying voltage to either the red wire or the brown wire.  I think the red wire will let you read inputs 1,2,3,4 off the input wires and the brown wire will let you read inputs 5,6,7,8 off the same input wires.
« Last Edit: October 22, 2012, 01:31:44 pm by Xpendable » Logged

Creator of the MonsterShield
http://www.hauntsoft.com

Offline Offline
Jr. Member
**
Karma: 0
Posts: 88
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes sir you are right about the "hat" style thumb stick, i just didn't include it in the pictures. There is no need to worry about the optical encoder though since i am not going to use it.
Logged

Chicago
Offline Offline
Full Member
***
Karma: 7
Posts: 148
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

There isn't any encoder.  I was wrong as per my edited reply.  It's just multiplexed input.  See above.  Should be really easy to use.  You just need to switch the red and brown wires high & low depending on which 4 buttons you want to read.  Basically the joystick would have done this many times a second, continously sampling each set of buttons.  You can do the same from the Arduino.  Just switch red HIGH and brown LOW, then read the 4 input wires for buttons 1, 2, 3, & 4.  Then switch red LOW and brown HIGH, then read the same wires to read the states of buttons 5, 6, 7, & 8.  Do this often enough in your input loop and you'll have access to all 8 buttons.  It's very similiar to using a shift register.
Logged

Creator of the MonsterShield
http://www.hauntsoft.com

Offline Offline
Jr. Member
**
Karma: 0
Posts: 88
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thank you very very very much man :O you made my day :O Again thanx
You are awesome.

BTW: do you have any idea of what those transistors are (if they are transistors) and how they are arranged? (npn,pnp) (emitter,collector,base )
Logged

USA
Offline Offline
God Member
*****
Karma: 14
Posts: 644
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

BTW: do you have any idea of what those transistors are (if they are transistors) and how they are arranged? (npn,pnp) (emitter,collector,base )

They likely are transistors of some type, probably MOSFETs, but there aren't any markings I can see from the pictures.  Try taking a magnifying glass, jewler's loupe, etc... and let us know what, if anything, is written on them.
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 88
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

They are all labelled "N22"
Logged

USA
Offline Offline
God Member
*****
Karma: 14
Posts: 644
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

They are all labelled "N22"

Then they might be N channel MOSFETs, though even that's just an educated guess.  One problem with the small surface mount packages is they don't have the space to put full or even half of the part numbers.

I suppose you could power the board with a 5 VDC supply (regardless if it used USB or an older style "game port" the voltage level would be +5 VDC) and experimentally determine, via multimeter, what this part is doing.  This is a relatively uncomplicated board, so the reverse engineering shouldn't be too hard.  Just record what the voltage levels on all the pins are to various combinations of buttons, one suspected transistor at a time.
Logged

Pages: [1]   Go Up
Jump to: