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: 30
Joined: Wed Sep 24, 2008 11:19 am

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

Post by Wasp » Mon Sep 01, 2014 9:51 am

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 » Fri Sep 26, 2014 4:30 am

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 » Sat Sep 27, 2014 10:23 pm

(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 » Sun Sep 28, 2014 5:16 am

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 » Sun Sep 28, 2014 6:39 pm

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: 3
Joined: Sun Mar 01, 2015 5:37 pm

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

Post by Snufkin » Sun Mar 01, 2015 6:11 pm

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: 3
Joined: Sun Mar 01, 2015 5:37 pm

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

Post by Snufkin » Tue Mar 31, 2015 9:58 am

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.
InCase.jpg
Assembled cover
InCase.jpg (26.32 KiB) Viewed 6570 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.jpg
RxLED solder detail
TopView.jpg
Top view of Micro
DsubBack.jpg
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 » Wed Apr 08, 2015 6:07 am

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 » Wed Apr 08, 2015 7:44 am

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 » Wed Apr 08, 2015 11:32 am

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 » Wed Apr 08, 2015 7:34 pm

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 » Thu Apr 09, 2015 4:33 am

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: 3
Joined: Sun Mar 01, 2015 5:37 pm

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

Post by Snufkin » Thu Apr 09, 2015 4:23 pm

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 » Thu Jun 04, 2015 5:18 am

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 » Sat Jun 06, 2015 7:15 am

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 » Sat Jun 06, 2015 1:29 pm

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 » Sun Jun 21, 2015 5:40 pm

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 » Fri Jul 10, 2015 12:57 pm

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 » Fri Mar 25, 2016 9:41 pm

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 » Mon Mar 28, 2016 12:08 am

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: 2
Joined: Tue Jun 17, 2014 10:07 am

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

Post by Mr. Lion » Mon Mar 28, 2016 9:26 am

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 » Mon Mar 28, 2016 5:00 pm

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 » Wed Jun 01, 2016 11:26 am

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 » Mon Jun 06, 2016 11:18 pm

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 » Tue Jun 07, 2016 11:41 am

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 » Tue Jun 07, 2016 11:47 am

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 » Tue Jun 07, 2016 5:03 pm

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 » Tue Jun 07, 2016 9:34 pm

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 » Sat Jul 30, 2016 3:26 pm

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 » Sat Nov 04, 2017 2:35 pm

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 » 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.
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 » Sun Nov 12, 2017 11:47 pm

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.
Post Reply