USB Converter for MS Sidewinder 3DPro, PP, and FFP

For system help, all hardware / software topics NOTE: use Coders Corner for all coders topics.

Moderators: Krom, Grendel

User avatar
Wasp
DBB Ace
DBB Ace
Posts: 31
Joined: Wed Sep 24, 2008 11:19 am

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by Wasp »

ferret141
DBB Cadet
DBB Cadet
Posts: 6
Joined: Fri Sep 26, 2014 3:36 am

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by ferret141 »

I live in England and am finding it a bit hard to source a Teensy 2.0 that is affordable or that I don't have to wait 4 weeks to receive.

I assume you can use other Atmel32U4 Dev boards provided you wire up the components correctly if the board has different pin assignments/labels to match the Teensy. I ask to save myself headaches later on if I buy something now based on assumptions only.
One such substitute I was looking at was a Pololu A-Star 32U4 Micro (pin-out on the Resources tab).

Will this or some other alternative do or should I suck it up and pay more or wait?
Drakoz
DBB Captain
DBB Captain
Posts: 556
Joined: Thu Nov 05, 1998 12:01 pm
Location: San Jose, CA
Contact:

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by Drakoz »

(OK, I retyped this after comparing the schematics myself.)

The schematic for the Teensy 2.0 board can be found here:
https://www.pjrc.com/teensy/schematic.html

I compared the Teensy board vs. the A-Star 32U4 Micro board you mentioned, and they seem schematically to be the same. The A-Star does not have an LED like the Teensy. You can add one easily enough. Both use a 16 MHz crystal, so no timing differences. All GPIOs are available, so no conflicts. The A-Star board lacks some decoupling caps on the VCC line, but that's a minor difference that if it matters, you can add them yourself.

Also, I don't know if the Teensy 2.0 uses a special boot loader from PJRC, or if it's the standard boot loader from Atmel (firmware that comes on the Atmel part to load software via USB). The PC software used to load a Teensy board is specific to the Teensy, though. But it may be using standard procedures (the standard boot loader) from Atmel. You'll need to confirm this. If the Teensy boot loader isn't from Atmel, then you should still be able to load the adapt-ffb-joy firmware, but you'll have to use the Atmel software. Once firmware is loaded, there shouldn't be anything special about the Teensy board vs. the A-Star board. They are both basically the Atmel reference design.

Mike
ferret141
DBB Cadet
DBB Cadet
Posts: 6
Joined: Fri Sep 26, 2014 3:36 am

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by ferret141 »

Drakoz wrote:(OK, I retyped this after comparing the schematics myself.)

The schematic for the Teensy 2.0 board can be found here:
https://www.pjrc.com/teensy/schematic.html

I compared the Teensy board vs. the A-Star 32U4 Micro board you mentioned, and they seem schematically to be the same. The A-Star does not have an LED like the Teensy. You can add one easily enough. Both use a 16 MHz crystal, so no timing differences. All GPIOs are available, so no conflicts. The A-Star board lacks some decoupling caps on the VCC line, but that's a minor difference that if it matters, you can add them yourself.

Also, I don't know if the Teensy 2.0 uses a special boot loader from PJRC, or if it's the standard boot loader from Atmel (firmware that comes on the Atmel part to load software via USB). The PC software used to load a Teensy board is specific to the Teensy, though. But it may be using standard procedures (the standard boot loader) from Atmel. You'll need to confirm this. If the Teensy boot loader isn't from Atmel, then you should still be able to load the adapt-ffb-joy firmware, but you'll have to use the Atmel software. Once firmware is loaded, there shouldn't be anything special about the Teensy board vs. the A-Star board. They are both basically the Atmel reference design.

Mike

Thank you Mike for looking into it. The Teensy uses a proprietary boot loader called Halfkay. I think I'l make my life easier by using a Teensy. I found a German site that will get one to me within a week at an all right right price. Once again many thanks.
Drakoz
DBB Captain
DBB Captain
Posts: 556
Joined: Thu Nov 05, 1998 12:01 pm
Location: San Jose, CA
Contact:

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by Drakoz »

Ah, thanks. You found the detail I couldn't find. Yes, and this is why PJRC provides their own boot loader and software. I did some more looking into it and found this:
https://www.pjrc.com/teensy/datasheets.html

At the bottom of the page it says:
"Atmel uses a different bootloader called "DFU", which is different from HalfKay on the Teensy. DFU takes 4K of the 16K flash memory, whereas HalfKay uses only 0.5K! Atmel's FLIP tool only works with DFU. You need to use the Teensy Loader with Teensy boards that have HalfKay."

You should be able to use any boot loader/firmware loader (from Atmel or otherwise) to load software on an Atmel device, but if the Atmel device loader is taking 1/4th the available flash space, that's a problem. I think the adapt-ffb-joy binary takes almost all the available flash on a Teensy. You could get an Atmel device with more memory, and it would compensate. Obviously it's easier to use the simple canned solution provided by PJRC. But there are other options. They are simple to use, but for anyone that is a new to embedded CPU's, it can be a little bit intimidating. For example Arduino stuff is just another way to do it - a way that is supposed to be less intimidating. But that's an entire IDE (integrated development environment). All you need is a simple easy to use boot loader/programmer that doesn't take up 1/4th the flash space. PJRC has that.

Here's the section of the A-Star manual that talks about loading software.
http://www.pololu.com/docs/0J61/5

Regards,
Mike
Snufkin
DBB Cadet
DBB Cadet
Posts: 4
Joined: Sun Mar 01, 2015 5:37 pm

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by Snufkin »

This was fun, just got a SideWinder 3D Pro Plus (97462) working again. Thanks to all involved in putting this together, thought I should make a note of what I got working. I had an Arduino Micro to hand, so I've used a USBASP to load it with the 3DPro32u4-10.hex firmware.

The connector on the joystick has pins 1,2,3,4,7,10,11,12 & 14 present, so I initially wired them all up following the adapt-ffb information. I've since had a bit of a play with it and figured 12 wasn't needed (since it's not a FFB stick), so disconnected that from the Micro. I also had a very quick scan of the protocal patent, and I think that the 2k2 resistor / 0.001uF capacitor are only really used when the stick's in analogue mode, and I think this stick doesn't have any analogue mode. Elsewhere in the patent it suggests the stick should have a 30k resistance in digital mode, so I measured the pin 3 resistance (~31k), and pin 11 (n/c). I tried removing the resistor from pin 3 and disconnecting pin 11 (I hadn't fitted the capacitors in the first place). It all still seems to work. So in the end I've used no passive components, just the Micro and a D15, wired as follows:

Code: Select all

D15 pin  Mega32u4 pin  Arduino pin
1          +5V
2          PB0+PD0        SS+D3
3          PB5            D9
4          GND
7          PB1            SCK
10         PB2            MO
14         PB3            MI
Obviously that'll probably only work for this model, but it does mean a little less fiddling. Hopefully that might be use to someone.

Now to go 'test' it properly.
Snufkin
DBB Cadet
DBB Cadet
Posts: 4
Joined: Sun Mar 01, 2015 5:37 pm

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by Snufkin »

Not sure if it's bad form replying to myself, but I just wanted to follow up on my last post. I wanted to see if I could fit the adapter in to a small case.
Assembled cover
Assembled cover
InCase.jpg (26.32 KiB) Viewed 97548 times
The Arduino Micro I'd used before was too long, so I figured the Sparkfun ProMicro (or equivalent) might be small enough. The only real problem was that PB0 isn't broken out to a wiring hole. But it is used for the RxLED, so I was able to solder on to the resistor pad. I glued the board in place on one half of the shell and hacked a bit of plastic to be about the right size to cover the USB end (messy, I know, but it does hold the USB connector nicely). Clipped it all together and now have a reasonably neat little adapter.

The wiring for the D-Sub -> ProMicro is:

Code: Select all

DSub   ProMicro
  1     Vcc
  2      3 + RxLED (see photo)
  3      9
  4     GND
  7     15
 10     16
 14     14 (these last 3 are in an interesting order on the ProMicro)
The ProMicro equivalent I got didn't have the solder bridge in place that the 5V part is suppoed to have. The adapter still worked without it, but I think that meant the joystick was running at a bit less than the 5V provided over USB, so I went back and soldered that closed. I also haven't wired up the additional inputs, but I think I'm not too unhappy with this for the moment.
Attachments
RxLED solder detail
RxLED solder detail
Top view of Micro
Top view of Micro
Inside case
Inside case
ferret141
DBB Cadet
DBB Cadet
Posts: 6
Joined: Fri Sep 26, 2014 3:36 am

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by ferret141 »

That's an awesome compact adapter you've made Snufkin. I might copy your idea.

After giving away my Teensy (built a birthday present using it) I only have a Pololu A-Star 32U4 here. The PB0 isn't broken out, well not to a readily usable extent. Does anyone know of an easy way to remove solder mask so that I may access it?

Board in question: https://www.pololu.com/product/3101
Schematic: https://www.pololu.com/file/0J742/polol ... iagram.pdf
"Breakout" point:
Image
Drakoz
DBB Captain
DBB Captain
Posts: 556
Joined: Thu Nov 05, 1998 12:01 pm
Location: San Jose, CA
Contact:

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by Drakoz »

Just use an Exacto knife to scrape the soldermask off. Then solder a wire to the exposed via pad. If you can clean out the hole (for the via), you can solder a 30 AWG wire into the hole, but I'd suggest just scrape the soldermask off the surface and don't try to clean out the via.

But the bigger question is, where does that pin go. If there is a trace and a via, they used it for something. You should verify what they used it for and make sure there is no conflict. Or, you might find an easier spot to solder to.

Regards,
Mike
ferret141
DBB Cadet
DBB Cadet
Posts: 6
Joined: Fri Sep 26, 2014 3:36 am

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by ferret141 »

Drakoz wrote:Just use an Exacto knife to scrape the soldermask off. Then solder a wire to the exposed via pad. If you can clean out the hole (for the via), you can solder a 30 AWG wire into the hole, but I'd suggest just scrape the soldermask off the surface and don't try to clean out the via.

But the bigger question is, where does that pin go. If there is a trace and a via, they used it for something. You should verify what they used it for and make sure there is no conflict. Or, you might find an easier spot to solder to.

Regards,
Mike
Sorry I am mistaken. I miscounted the legs on the 32U4. That fifth one was VBUS. The fourth one, PB0, goes nowhere at all.

Image
Drakoz
DBB Captain
DBB Captain
Posts: 556
Joined: Thu Nov 05, 1998 12:01 pm
Location: San Jose, CA
Contact:

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by Drakoz »

If you are good at soldering, it is perfectly reasonable to attach a 30 AWG wire to that pin. But we are talking professional soldering, and using something like a fine tip Metcal or Weller iron. Something I wouldn't hesitate to try myself, but not something I'd suggest unless you solder a lot in your job. Probably better to just buy another board that fits your needs. Another Teensy board is just $20 plus shipping.

If you really feel the need to use the Pololu board, then it's easier to re-compile the software to use a different GPIO. Much easier and more reliable than soldering a wire to that pin. :)

Regards,
Mike
ferret141
DBB Cadet
DBB Cadet
Posts: 6
Joined: Fri Sep 26, 2014 3:36 am

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by ferret141 »

Drakoz wrote:If you are good at soldering, it is perfectly reasonable to attach a 30 AWG wire to that pin. But we are talking professional soldering, and using something like a fine tip Metcal or Weller iron. Something I wouldn't hesitate to try myself, but not something I'd suggest unless you solder a lot in your job. Probably better to just buy another board that fits your needs. Another Teensy board is just $20 plus shipping.

If you really feel the need to use the Pololu board, then it's easier to re-compile the software to use a different GPIO. Much easier and more reliable than soldering a wire to that pin. :)

Regards,
Mike
It wasn't until I was looking through the source code and comparing the pin assignment to the board that I realised I am a potato head. Is was getting my pins mixed. Or rather projects. It was the SNES gamepad that I used the Teensy for that needed PB0 for its clock. This sw3dprousb adapter needs PD0 which the Pololu has.
Sorry for wasting people's time and thank you guys for offering your advice.
Snufkin
DBB Cadet
DBB Cadet
Posts: 4
Joined: Sun Mar 01, 2015 5:37 pm

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by Snufkin »

Not sure if you can really call what I did an idea, it's really just 'take what others have done and make it smaller'. The only reason I needed both PB0 and PD0 was because I was using the 3DPro32u4-10 firmware. I may have misunderstood the details, but I think sw3dprousb originally used port D and adapt-ffb-joy moved that to port B to free up the Tx pin (needed for sending FFB data to the stick), but still needed PD0 for interrupt handling. The -10 version seems to be the same as -9, but modified so the pinout matches adapt-ffb-joy, so people could use the same hardware with either firmware. I haven't looked at the code to find out if it'd be possible to use the PCINT0 on PB0; I'm assuming that it may not be straightforward since it wasn't done for adapt-ffb-joy.

But most of that's not important. I think the -9 version just needs the port D pins, and it sounds like that's the one you've picked out, so that should be fine. I should say that dropping the passive components has worked ok for me, but I don't know if anyone else has tried it, so I could just be getting lucky. Also I was using a 3D Pro Plus type 97462 and the changes I made probably break the adapter working with other sticks. If it turns out the passives are needed then it should be possible to solder them to the back of the d-sub to keep the size down. Just had a quick check of the A-Star and it looks good, a bit of a tweak to the code to move PF4&5 to PF6&7 and I think you could add the extra analogue X/Y controls to get full 6-axis analog control. I'm not nearly good enough at flying to make it worthwhile so I've skipped that for the moment.

Hope it all works out for you.
potatoo
DBB Cadet
DBB Cadet
Posts: 3
Joined: Thu Jun 04, 2015 4:48 am

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by potatoo »

Hi all! Really glad to see this thread alive and well.

After many years of dancing around the thought, I finally got a second hand SW Pro and an Arduino Micro clone. The original was out of stock, so I settled for the Deek Robot Micro -
ImageImage

Having 0 experience with Arduino or basic electronics in general, I am following the posts here very closely and hoping that Snufkin's instructions will set me on the right path. I mostly bought all the components on a whim, but so far it seems to be ok.

To get the Deek Robot Micro to communicate with the Arduino Builder, I had to download the Arduino IDE and install Arduino Micro.inf driver in the device manager. The Deek Robot Micro connects via micro USB and is identified as Arduino Micro, but the driver is missing. I then uploaded 3DPro32u4-10.hex to the board through Arduino Builder. At first there was a Com 13 error, but on the 2nd try Com 14 was found and the file seemingly uploaded without issue. Next I will try the similar pins for the Arduino Micro as documented by Snufkin with the components on a bread board. I will forgo the addition of capacitors and simply use a DB15 adapter.
potatoo
DBB Cadet
DBB Cadet
Posts: 3
Joined: Thu Jun 04, 2015 4:48 am

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by potatoo »

Hi all - i've put together an Arduino Micro clone version based on snufkin's specs and am having some trouble with a SW PRO in windows 8.0 - am I completely off track here and the adapter is for SW PRO Plus only? The joystick is recognized but the controls are all out of order in the calibration menu.
potatoo
DBB Cadet
DBB Cadet
Posts: 3
Joined: Thu Jun 04, 2015 4:48 am

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by potatoo »

Hey guys! I've sorted it out with some guesswork and studying pinouts - now i have a Deek Robot Micro based converter running the 3DPro32u4-10.hex firmware without any of the resistors or capacitors attached. It works perfectly! Thanks a lot! this was wild!
Teterios
DBB Cadet
DBB Cadet
Posts: 1
Joined: Sun Jun 21, 2015 5:24 pm

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by Teterios »

I am looking to buy one of these adapters if someone is willing to make me one. I can paypal money to you first as a gift that is no issue considering how much you are asking. Just to be clear this adapter makes everything on the Microsoft force feedback 3d sidewinder work correct?
mrtuba
DBB Cadet
DBB Cadet
Posts: 1
Joined: Fri Jul 10, 2015 12:37 pm

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by mrtuba »

Hi, I've managed to make a converter using a home grown board with an ATMega32U4, its essentially a Teensy 2.0 but with an Arduino bootloader installed.

I've used the precompiled 3DPro32u4-9.hex image, which works just fine for my SideWinder Precision Pro, however both SideWinder 3D Pro's I've tried don't function correctly.

The 3D Pro's normally detect on USB OK, but sometimes the LED just flashes as if they are not recognised. If they are recognised then they will only provide data for a second or two at most, however very occasionally they will work normally.

The fact that the Precision Pro works makes me think its not a hardware issue, I've checked the hardware extensively and I can't see any problems with the wiring itself. I've checked the operation via a logic analyser too, and that seems to show the ATMega giving up sending triggers to the joystick, I see triggers and responses for a while and then nothing. The only thing I haven't checked is the analog performance or checked if there is any cross-talk or noise on the signals, its built largely on Veroboard, so there is crossed wiring.

Does anyone know if the latest prebuilt image works with the 3D Pro's on Windows? I've tried Windows 7 and Windows 10 machines, same results on both.

Any info or thoughts appreciated :)
Snyper1000
DBB Cadet
DBB Cadet
Posts: 4
Joined: Fri Mar 25, 2016 9:13 pm

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by Snyper1000 »

First, sorry if raising a thread from the dead annoys anyone.

I'm working on a teensy 3 "port" (more like rewrite because if the huge differences in architecture) and figured I'd share, and see if anyone cared :)

I don't have much yet. I can send the stick commands, so I can get it into digital mode. Teensy 3 lets you have pin based interrupts on any pin, so that too is working and I can click data triplets off the bus. That was my victory for the night :)

It took a while because I wanted to use fast I/O (port based) in the isr, and that led to a lot of reading and getting the cpu docs for the Freescale processor on the teensy 3. (Even though you can clock it at 96 MHz, I'd rather do things fast/"right"). I also wanted to understand the communications to the stick electricly. So I found the patent on Wikipedia, which had waveforms and explanations.

I'm not entirely sure why the end points would be configured differently on this project vs whatever was done for the xim/teensy 3, but then, I don't know how vast the USB hid spec is for joysticks. ( Mainly worked mass storage myself...which is basically just a wrapper anyhow). I figure I'll get more to the bottom of this when I get to the USB code :).

One last thing, if people are still around here, I've been over these threads so many times now. Snufkin, you said you made the adapter without passives. Did you modify the code at all? Looking at the patent, and the waveforms, and the fact that analog rc waveform is being fed to a digital inverting buffer, I suspect the rc circuit isn't needed and can just be emulated switching an output pin. I may try it later, but was curious if anyone else had tried.
ferret141
DBB Cadet
DBB Cadet
Posts: 6
Joined: Fri Sep 26, 2014 3:36 am

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by ferret141 »

I don‘t think anyone is annoyed that the thread has been revived. I personally think that it is a good thing. I:m not that electronically skilled but do understand a lot so I am curious how your port goes. Keep us updated.
Mr. Lion
DBB Cadet
DBB Cadet
Posts: 3
Joined: Tue Jun 17, 2014 10:07 am

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by Mr. Lion »

I'm happy that this thread has woken up again. I'm hoping that someone comes up with something that I could perhaps buy; I'd love to be able to make a converter myself but, as Lieutenant Callahan says, a man's got to know his limitations. One of mine is electronics…
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by Grendel »

Snyper1000 wrote:I don't have much yet. I can send the stick commands, so I can get it into digital mode. Teensy 3 lets you have pin based interrupts on any pin, so that too is working and I can click data triplets off the bus. That was my victory for the night :)
Congrats, that's one of the main challenges :)
Snyper1000 wrote:I'm not entirely sure why the end points would be configured differently on this project vs whatever was done for the xim/teensy 3, but then, I don't know how vast the USB hid spec is for joysticks. ( Mainly worked mass storage myself...which is basically just a wrapper anyhow). I figure I'll get more to the bottom of this when I get to the USB code :).
HID is a lot simpler than MSD and the descriptors are all reusable. You will be fine :)
Snyper1000 wrote:One last thing, if people are still around here, I've been over these threads so many times now. Snufkin, you said you made the adapter without passives. Did you modify the code at all? Looking at the patent, and the waveforms, and the fact that analog rc waveform is being fed to a digital inverting buffer, I suspect the rc circuit isn't needed and can just be emulated switching an output pin. I may try it later, but was curious if anyone else had tried.
I have heard this before, but for the sake of stability/reliability I would leave the R's and C's where they are. They are cheap enough.
flanker
DBB Cadet
DBB Cadet
Posts: 4
Joined: Wed Jun 01, 2016 5:32 am

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by flanker »

Good day! I looked through a lot of sites in search of information, and all links on my questions are on this forum. Sorry for my ugly English, move on to the subject matter.
I want to ask for advice about the Adapter for MS Sidewinder 3D pro plus. I recently bought this joystick, being sure that it Sidewinder Precision Pro, but I was not able to connect it to USB. I found a reference to the decision http://grendel.koolbear.com/files/Manualv3.pdf problems, but the site does not work. Please tell me, is it possible to make an adapter for using the 3D pro plus Atmega8. I do not have experience in electronics, but I'm ready to assemble their own adapter. Is there a solution that uniquely works with the joystick? I've seen solutions Teensy ++, but to get it to me to be difficult.
Snyper1000
DBB Cadet
DBB Cadet
Posts: 4
Joined: Fri Mar 25, 2016 9:13 pm

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by Snyper1000 »

First off, sorry for not working on this in case anyone was waiting for it :D (doubtful lol). Moving was rough.

I was back at it a few times all focused on error handling only to realize I was in 1 but mode. I spent a lot of time trying to verify things and I can't figure out why it so t go into 3 but mode! (Any my teensy 2.0 based version was cut apart to make the 3.1 version!). Are there some sticks that are single bit only? I finally found my ffb pro, and plugged it in, right into 3 but mode. So I think I'm doing everything right, but is there some weirdness to look for with the 3D pros?

I went head and wrote the dead simple 1 but isr, and it works, produces data that seems to change correctly when I move the stick/ press buttons. So I've got it if there's nothing I can do.

Second, ignore my suggestion of software only. That came from a lack of understanding. Been through the patent enough times I should have it memorized by now. Also turns out, my initial results may have been a fluke. The past 3 days I couldn't get it to give data. Scoped the pulses and they were <2V. Occasionally going higher. I set the pubs to open drain and have around 4V pulses now. I want to toggle that bit a few times under the scope and verify it is the problem before I declare it necessary, but it sorta kinda makes sense to this non-electrical-engineer after viewing the circuit a few times in the patent! (Long answer is 5v goes in the game port, through the on board processor, through the resistor ladder, then out to the pin. The switching being done is to ground. You aren't generating anything really. Just letting current flow until it charges a capacitor. Which is why open drain makes sense. my non ee interpretation is from wikipedias bjt equivalent open-collector, where the collector would be the pin, emitter tied to ground, and the micro controller controlling base, in effect, co trolling a switch to ground, precisely what we need. MOSFET terms just confuse me :). One day I'll spend more time on them....

Anyhow, that's where I am. So how about it? Is there a trick to get 3dp's to 3 bit? Or are some just too old or otherwise unable to do that?
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by Grendel »

Reading the ID switches the 3D Pro to 3 button mode (see 3DPro.c:Init3DPro()) -- but only if the X1 and Y2 axis are triggered at the same time. If you only trigger X1 (or X1 and Y1) it will stick to 1 button mode (this allowed to have two 3D Pro's connected to a single gameport via a Y splitter...)
Snyper1000
DBB Cadet
DBB Cadet
Posts: 4
Joined: Fri Mar 25, 2016 9:13 pm

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by Snyper1000 »

Grendel wrote:Reading the ID switches the 3D Pro to 3 button mode (see 3DPro.c:Init3DPro()) -- but only if the X1 and Y2 axis are triggered at the same time. If you only trigger X1 (or X1 and Y1) it will stick to 1 button mode (this allowed to have two 3D Pro's connected to a single gameport via a Y splitter...)
Yeah, I can probably make sure it happens in a single call, but I figured that within roughly a couple hundred nanoseconds would be enough, and appears to be enough for the ffb pro. Just can't get the 3dp to kick over, which is why I wondered if there were any sticks not capable of doing so. I also noted on the diagrams they do x1 and x2, the patent even says to do that. I tried y2 anyhow with no difference. Didn't try y2 on the ffb pro.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by Grendel »

Well, AFAIK only the 3D Pro and 3D Pro Plus support the 1 button mode. The PP and FFP sticks do 3 buttons out-of-reset w/ a trigger on X1 IIRC.
Snyper1000
DBB Cadet
DBB Cadet
Posts: 4
Joined: Fri Mar 25, 2016 9:13 pm

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by Snyper1000 »

Actually, I was resetting with one command. So they were at the same time. I had figured perhaps component tolerance was such that the other line wasn't triggering, so I figured I'd precharge the second line a few microseconds adding a delay. Tried up to 20 usecs. No difference. I just ordered a few more game ports so I can reconnect the original adapter and see whats going on, but as far as I can tell, I'm doing it all correctly. For now, I think I'm just going to finish all the decoding logic, and pump it into the XIM classes. New ports should be here Thursday. Might just be by 3dp is broken. If only Int1 is broken, I probably wouldn't have noticed back when I was using it. Heck, back then I had a real game port, maybe it was in analog mode :) Only really used it on MechWarrior :)

Anyhow, thanks for the input. Hopefully the end of the week will shine some light on all of this.
gbish
DBB Cadet
DBB Cadet
Posts: 2
Joined: Sat Jul 30, 2016 3:20 pm

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by gbish »

Is this still working fine for those in Windows 10? I'm unable to get mine to recognize the USB device. :frown: :(
ricks03
DBB Cadet
DBB Cadet
Posts: 2
Joined: Sat Nov 04, 2017 1:49 pm

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by ricks03 »

Add me to the long list of people building one of these. And to the short list that can't get it to work quite right. Setting up on Windows XP (with the eventual goal of having it also work in DOSBox). I've got several XP laptops to tinker with, all are USB 2.0. I have a Sidewinder 3D Pro Part # 63545.

1 Teensy 2.0 board,
1 PBC15F (Winford)
2 1kOhm resistors (the now defunct RadioShack)
2 .001uF capacitors (the now defunct RadioShack)
Flashed to 3DPro32u4-10.hex. I assume that once the Teeney is programmed I don't have to reprogram it each time the device is unplugged (although I'm not making that assumption in testing).

The first time I plugged it in, I saw the flash at the bottom of the screen that a Sidewinder 3DPro was detected, but I couldn't find the device as a Sidewinder in Device Manager. When I plug it in I get two Human Interface Devices: HID-compliant device and USB Human Interface Device (both of which also go away when I unplug it). Descent 2 doesn't detect it, and in Control Panel > Game Controllers it's not listed, and if I try to add the Sidewinder (autodetect) it says there's no device connected.

Since then I've switched to the 3DPro32u4-9.hex code on the off-chance that matters (apparently not). I've also tried toggling the Joystick switch from 1 dot to 2 dots, also to no avail.

Images attached. Any assistance appreciated.
Attachments
rps20171104_012829[1].jpg
rps20171104_163020[1].jpg
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by Grendel »

It does matter using the -9 hex file -- the -10 is the wrong one, it's for a different board. The only potential problem I can see is the SH pin of the Winford connector. Assuming you clipped the pin (you should), it may rest on the wire that's coming from D1 and short it out -- that would create trouble communicating w/ the 3DP. A small piece of electrical or duct tape on the clipped pin should isolate it. Also make sure the connectors shield doesn't dig into the long wire coming from D0 in the vicinity of A30, it does look damaged there. Would cause trouble as well.
ricks03
DBB Cadet
DBB Cadet
Posts: 2
Joined: Sat Nov 04, 2017 1:49 pm

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by ricks03 »

Grendel wrote: Thu Nov 09, 2017 12:42 am It does matter using the -9 hex file -- the -10 is the wrong one, it's for a different board. The only potential problem I can see is the SH pin of the Winford connector. Assuming you clipped the pin (you should), it may rest on the wire that's coming from D1 and short it out -- that would create trouble communicating w/ the 3DP. A small piece of electrical or duct tape on the clipped pin should isolate it. Also make sure the connectors shield doesn't dig into the long wire coming from D0 in the vicinity of A30, it does look damaged there. Would cause trouble as well.
Thanks so much for your support after a decade. The end problem was, of all, things, the USB cable itself. It now works great and I"m merrily using my Sidewinder to blow up all sorts of things.
Gamester17
DBB Cadet
DBB Cadet
Posts: 2
Joined: Fri Dec 15, 2017 8:31 am

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by Gamester17 »

Anyone care to share any gerber files for making an proper adapter board for FFP?

I got a couple of FFP that I like to revive and might as well make it right :wink:
User avatar
Wasp
DBB Ace
DBB Ace
Posts: 31
Joined: Wed Sep 24, 2008 11:19 am

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by Wasp »

Grendel,

Thanks for the years you put into this project.

I have a question regarding the polling rate. Is the device being polled by win 7 (64) at 125Hz or 250Hz as stated in earlier posts? If it is 250, would we need to reduce joystick sensitivity (in games) to compensate for the faster polling rate?

I'm using the Teensy 2.0 board with the 1kOhm and .001uF sporting the 3DPro32u4-9.hex
PMB
DBB Cadet
DBB Cadet
Posts: 1
Joined: Sun Apr 15, 2018 11:06 am

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by PMB »

Hi,
I found this bulletin board with a lot of information and solutions to Sidewinder conversion problems.
I'm planning to convert my old MS Sidewinder 3D Pro Plus to USB, using Grendel's excellent firmware and a Teensy 2++ board.
When checking my joystick's 15 pin connector, I find that pin 13 is missing (1,2,3,4,7,10,11,12,14 is present).
My question is: Will I be able to convert this Joystick with the existing solution?
Has anyone else tried it with this joystick?
tglaria
DBB Cadet
DBB Cadet
Posts: 3
Joined: Wed Feb 04, 2015 9:58 am

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by tglaria »

Uaine wrote: Mon May 07, 2012 6:58 pm
Top Gun wrote:Was that the gamepad with the tilt sensors in it? I think my one neighbor had one of those hooked up to Descent once, and it was an interesting way to play, albeit probably a wrist-killer.
The ones I have are the 1st gen Sidewinder gamepads. The Sidewinder Freestyle Pro had the tilt sensors, and I never had one, but I always wanted one. According to the Wikipedia page, it actually came with a USB adapter.
Finally, did you manage to make the gamepads work?

All I'm reading is for the joysticks.
jrorman
DBB Cadet
DBB Cadet
Posts: 1
Joined: Wed Jan 30, 2019 2:54 pm

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by jrorman »

Thanks for this great fix for my Sidewinder. I thought I'd share the pin to pin wiring for those that want a compact version. I used a DB15 terminal block from eBay for about 2 dollars plus the Teensy 2 and it keeps the soldered wires and capacitors/resistors well connected for bumps.

DB 15 pin Teensy
1 +5V 1
2 18
3 Resistor to 9
4 Capacitor to 9, Capacitor to 10
7 17
10 16
13 Resistor to 10
14 15
16 GND 24
Attachments
with Terminal Block DB15
with Terminal Block DB15
Todzilla
DBB Cadet
DBB Cadet
Posts: 3
Joined: Tue Jun 18, 2019 8:47 pm

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by Todzilla »

After waiting multiple years for an order I placed I decided to order the parts and try my hand at making my own.

I have the parts listed here:

•1- breadboard kit
•1- Teensy 2.0(Worldwide dealers)
•2- 2.2K ohm resistors
•1- 220 ohm resistor
•2- 1nF capacitors
•1- PBC15F gameport

Have everything I can find to download for firmware, have the schematic diagram here:

Image

But I'm at a loss on where to start. I've built dozens upon dozens of my own custom PC's, but I'm unsure on how to get started.

The Teensy 2.0 board I have has rows 1-30 and columns a-k, along with two additional +/- columns on each side. I saw Grendel post somewhere that it helps to have a bit of an EE background to read these schematics, of which I have none. I'm sure this is relatively simple once you make the first few connections and know what you're doing, but where to place that first step has me at a loss. I've also seen numerous examples of finished product, but it isn't clear on what is being plugged into what.

For example, the gamport has 16 pins, 1-15/SH. which pins on the breadboard do those go in? I see the 1nF listed in the image above, and I have 1nF capacitors, but unsure where exactly they go. They appear to connect to GND, 12, and 13 in conjunction with 2k2 (2.2K?) ohm resistors, but I'm unsure exactly how to go about doing that.

In the following video, for the Blink LED project:



It is simply inserting a resistor on GND and PIN13. Those map to I62 -> J44 (GND) and B49 -> B44 for PIN13. The LED is also in row 44. It appears then that the rows are all connected, and for example A49 -> D44 (or anything in row 44) for PIN13 would have been equally acceptable?

If so, that helps but I'm still not clear exactly on what goes to what. It appears I can just choose any grid that works for initial placement of the Teensy and gameport, for example the Teensy goes into C/G30 -> C19/G19 w/ GND being in G30, the gameport being in J1 - J16, and I just need to find the proper - for lack of a better term - crossconnects betweent the two?

In the above image, what is the OPTIONAL part?

I am looking to build out an adapter that works with an MS FFB Pro 1.0 with this project. I'm also unsure exactly which firmware to choose for that.

Any pointers would be greatly appreciated!
apolion
DBB Cadet
DBB Cadet
Posts: 1
Joined: Mon Jun 24, 2019 9:18 am

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by apolion »

I have a sidewinder gamepad, I wonder if that adapter works for me and if someone still sells it
lipmonger
DBB Cadet
DBB Cadet
Posts: 1
Joined: Thu Jul 11, 2019 8:00 am

Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP

Post by lipmonger »

Would anyone be willing to build/sell one of these adapters? I'd be happy to pay for your time/skill/labor!
Post Reply