Using the Microsoft Sidewinder Controller

Sorry if this is a noob post, but I’m trying to find an alternative to the joysticks for control. We had a pit mishap and need something new. Our budget is near critical mass so a cheap alternative is desirable.

Anyway, I know I have a couple of these sitting in a box in my basement. Does anybody have any idea if they will work? I will be trying them tomorrow, but I’m stuck here at work and any insight would be great. Thanks.

http://www.richleader.com/sidewinder.htm

I used to have one of these, and I’m pretty sure that it won’t work, although I haven’t tried it. If I remember correcty, it requires the drivers loaded on your PC, which means it doesn’t follow the game port standard and won’t work.

That’s the problem nowadays, not only finding a joystick that doesn’t use usb, but one that fully supports the gameport standard.

It looks like these joysticks connect to the standard gameport, so there is a chance of getting them to work quickly. The Innovation First docs say that only standard gameport devices (the ones that were designed for DOS) will work with the OI. So there is also a chance that it won’t work. The Microsoft Knowledge Base says “Additionally, the SideWinder Force Feedback Pro, SideWinder Precision Pro, and SideWinder game pad, are not supported in an MS-DOS environment.”

You can try to get it to work, but even if it does work, you wont be able to control the entire robot from the gamepad right away. The d-pad is a digital, not an analog input, so the bot will have to be reprogrammed. And if it does not work with the OI you may have to rewire the gamepad.

Thanks for the replies… I figured as much…

Off to search for some analog gameport joysticks…

On a slight side note: You can use standard game controllers. Here are the offical specs for DB15 game port:


Pin NonMIDI MIDI
 1  +5v     +5v
 2  A-1     A-1
 3  A-X     A-X
 4  Ground  Ground
 5  Ground  Ground
 6  A-Y     A-Y
 7  A-2     A-2
 8  +5v     +5v
 9  +5v     +5v
 10 B-1     B-1
 11 B-X     B-X
 12 Ground  MIDI Rx
 13 B-Y     B-Y
 14 B-2     B-2
 15 +5v     MIDI Tx

Just remember that pins 5, 8, 9, & 15 are special on the OI.
Does the Sidewinder use MIDI? Try setting it up as some other kind of controller.

I’m not sure exactly about the Sidewinder joystick, but as far as joysticks go, I was wondering if anyone has found any optical joystick that works without a specialized driver. I know that we tested two joysticks out two years ago and another last year, and in both cases we had absolutely no luck with getting them to work like normal joysticks.

Even better, I was wondering if anyone had found joysticks that swivel in addition to moving forwards, backwards, left and right.

Thanks in advance for any advice.

Any optical joystick would probably be a newer model which it means it would be difficult to get to work. The reason newer gameport joysticks do not work with the OI is because they take advantage of multiplexing, which dumps more than one channel per pin. The IFI OI does not understand other companies’ multiplexing.

Most sidewinders I’ve seen do swivel. We used one a couple of years ago, but got it to work only after completely gutting it and re-soldering everything (picking the buttons/functions we wanted). If you want more functions than there are pins, you can always have it plug into two joystick ports.

what about using an xbox controller?

ppl keep talking about the force feedback controls or somethin

You can use ANY controller if you are willing to invest the effort into making it work. For most controllers its a simple matter of using a PIC to decode their serial data and then interfacing to the OI.

If your looking for any info on using game controllers like the one you showed on there, I know that the Cedar Rapids, Iowa team 967 has used them.

–if your really ambitious…you could always make your own controllers! :yikes: …if you’ve ever looked into one of the flightsticks, it’s just 2 potentiometers, and any extra buttons you would need.

That would be interesting. Get the Dashboard info and read the user command byte. Tell us how that works!

I don’t follow you. Are you saying that the above scheme is infeasible? Elaborate.

No, no, no. Some times a joystick needs info from it’s ‘host’ (via MIDI Tx line). So, the RC (on the bot) sets the User Command and/or User bytes, which the PIC interprets and sends to the joystick. You can use this for things like Force Feedback or indicator lights. Of course, from the stick could be challenging…

I don’t know as much about the technical aspects of using joysticks, but I do know that MS Sidewinders don’t play well with IFI equipment. We tried using a fairly basic Sidewinder stick a couple years ago, and it caused the robot to spin around in circles and do all sorts of crazy things. You might be able to make it work, with some effort, but it definitely won’t work out-of-the-box.

Here are the specs for DB15 game port:


Pin NonMIDI MIDI IFI
 1   +5v    +5v  +5v
 2   A-1    A-1  Trigger
 3   A-X    A-X   X
 4   Gnd    Gnd  Gnd
 5   Gnd    Gnd  LED/Switch
 6   A-Y    A-Y   Y
 7   A-2    A-2  Thumb
 8   +5v    +5v  LED/Switch
 9   +5v    +5v  LED/Switch
 10  B-1    B-1  Aux1
 11  B-X    B-X  Aux
 12  Gnd    Rx   Gnd
 13  B-Y    B-Y  Wheel
 14  B-2    B-2  Aux2
 15  +5v    Tx   LED/Switch

Notice that pins 5, 8, 9, & 15 are special on the OI.

I would recomend hooking it up to an OI/RC that are just sitting there and looking at the dashboard. This may give you clues as to what goes where on a Sidewinder. Also, hook up an oscilliscope (if available) to the Rx/Tx pins and see what level/baud it uses and which way they go.

Most (if not all) Sidewinder joysticks use a serial protocol that will not work with the IFI equipment. They end up using one of the button signals as a data line and another button signal as a clock. They then send a serial stream of information containing all the information about the analog & digital readings of the joystick over these pins. This is the reason that they warn you that the joystick will not work with MS-DOS - it requires a special driver to decode the serial stream, and there isn’t one written for MS-DOS.