USB Converter for MS Sidewinder 3DPro, PP, and FFP
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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?
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?
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
(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
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
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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.
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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
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
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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:
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.
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
Now to go 'test' it properly.
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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.
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:
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.
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)
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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](http://i.imgur.com/jbv5u21.png)
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](http://i.imgur.com/jbv5u21.png)
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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
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
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
Sorry I am mistaken. I miscounted the legs on the 32U4. That fifth one was VBUS. The fourth one, PB0, goes nowhere at all.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
![Image](http://i.imgur.com/Je7MVRM.png)
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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
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.
![Smile :)](./images/smilies/icon_smile.gif)
Regards,
Mike
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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.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
Sorry for wasting people's time and thank you guys for offering your advice.
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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.
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.
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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 -
![Image](http://abload.de/thumb/p-650-0_1beujz.jpg)
![Image](http://abload.de/thumb/p-650-3_1zkulo.jpg)
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.
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 -
![Image](http://abload.de/thumb/p-650-0_1beujz.jpg)
![Image](http://abload.de/thumb/p-650-3_1zkulo.jpg)
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.
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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.
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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!
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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?
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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![Smile :)](./images/smilies/icon_smile.gif)
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
![Smile :)](./images/smilies/icon_smile.gif)
-
- DBB Cadet
- Posts: 4
- Joined: Fri Mar 25, 2016 9:13 pm
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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![Smile :)](./images/smilies/icon_smile.gif)
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![Smile :)](./images/smilies/icon_smile.gif)
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.
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
![Smile :)](./images/smilies/icon_smile.gif)
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
![Smile :)](./images/smilies/icon_smile.gif)
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
![Smile :)](./images/smilies/icon_smile.gif)
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.
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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.
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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…
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
Congrats, that's one of the main challengesSnyper1000 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
![Smile :)](./images/smilies/icon_smile.gif)
HID is a lot simpler than MSD and the descriptors are all reusable. You will be fineSnyper1000 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.
![Smile :)](./images/smilies/icon_smile.gif)
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.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.
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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.
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.
-
- DBB Cadet
- Posts: 4
- Joined: Fri Mar 25, 2016 9:13 pm
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
First off, sorry for not working on this in case anyone was waiting for it
(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?
![Very Happy :D](./images/smilies/icon_biggrin.gif)
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
![Smile :)](./images/smilies/icon_smile.gif)
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?
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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...)
-
- DBB Cadet
- Posts: 4
- Joined: Fri Mar 25, 2016 9:13 pm
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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.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...)
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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.
-
- DBB Cadet
- Posts: 4
- Joined: Fri Mar 25, 2016 9:13 pm
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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 ![Smile :)](./images/smilies/icon_smile.gif)
Anyhow, thanks for the input. Hopefully the end of the week will shine some light on all of this.
![Smile :)](./images/smilies/icon_smile.gif)
![Smile :)](./images/smilies/icon_smile.gif)
Anyhow, thanks for the input. Hopefully the end of the week will shine some light on all of this.
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
Is this still working fine for those in Windows 10? I'm unable to get mine to recognize the USB device.
![Sad :(](./images/smilies/icon_sad.gif)
![Frown :frown:](./images/smilies/icon_frown.gif)
![Sad :(](./images/smilies/icon_sad.gif)
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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.
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.
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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.
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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.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.
-
- DBB Cadet
- Posts: 2
- Joined: Fri Dec 15, 2017 8:31 am
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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 :wink:](./images/smilies/icon_wink.gif)
I got a couple of FFP that I like to revive and might as well make it right
![Wink :wink:](./images/smilies/icon_wink.gif)
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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
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
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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?
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?
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
Finally, did you manage to make the gamepads work?Uaine wrote: ↑Mon May 07, 2012 6:58 pmThe 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.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.
All I'm reading is for the joysticks.
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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
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
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
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](http://www.iowajohnsons.com/FFBVert/adaptffbjoy-circuit.png)
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!
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](http://www.iowajohnsons.com/FFBVert/adaptffbjoy-circuit.png)
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!
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
I have a sidewinder gamepad, I wonder if that adapter works for me and if someone still sells it
Re: USB Converter for MS Sidewinder 3DPro, PP, and FFP
Would anyone be willing to build/sell one of these adapters? I'd be happy to pay for your time/skill/labor!