M$ Sidewinder 3D Pro on USB

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

Moderators: Krom, Grendel

Post Reply
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

M$ Sidewinder 3D Pro on USB

Post by Grendel » Tue Jun 21, 2005 7:17 pm

Recently I really got ticked off about the current set of joysticks availabe that match my use pattern for D3. Since using a M$ Sidewinder 3D Pro with my computer is nearly impossible (due to a bug in the XP/2000 3DP driver affecting high FSB machines) I spend the last three years going through aprox. 20 sticks from different manufactors. IMVHO the top two sticks from that period are the Logitech Freedom 2.4 and the M$ Sidewinder FF2 -- unfortunately both have some major drawbacks:

The F2.4 potentiometers have a half-live period of 3 months at best (if you don't break the hat assembly 1st..), the FF2 is not manufactured anymore and NIB spares run at $300 on eBay. The FF2 also has a weak hat assembly (not too bad if you're carefull, I just wore out a set of switches yet over 6 months) and a Rz pot w/ a D3 half-life of approx. 6-12 months.

My best experience w/ sticks so far was the 3DP -- my personal 3DP half-life is >2yr, and no stick ever came close to its unique handling (short throw..). I knew my FF2 isn't going to last forever, so I started thinking about how to get my 3DP back. An additional soundcard isn't an option for me. Unfortunately a regular gameport to USB converter isn't very usefull -- you loose the 8-way hat (becomes a 4-way hat) and the base buttons. Additionally a regular gamport device is a nasty CPU time hog (due to the nature of the gameport)..

A while ago Ferno pointed me to the MJoy project and someone here posted a link the the linux 3DP driver source in a stick related discussion (my appologies for not remembering your nick -- I'm getting old.. :)). After letting all settle a bit in back of my mind, I finally decided to try building a 3DP-to-USB converter (the Rz on my FF2 getting weak helped a bit here.. ;))

After some struggles w/ some \"minor\" details about the hardware and software, I finally got a prototype up and running:

image

So far I used it only for about an hour in D3, seems to work well. The software needs some cosmetics, I have run more extensive tests, and put together a \"real\" circuit diagram plus a BOM. I was thinking about having a few boards made but I'm sort of unwilling to pay for 20 or so boards and using only one or two :)

So before I decide if I just build another proto or look into having boards mad (assuming I won't encounter a showstopper) my questions are, 1. who would be interested in a 3DP->USB converter that retains full 3DP functionallity (10bit X/Y/Slider, 9bit Rz, 8 buttons, 8-way hat) and does not require an additional 98SE/2000/XP driver, 2. anyone here w/ some mil-type board prototyping (please speak up :)), and 3. what would be the maximum you would spend on it ?

To give you an idea cost-wise, here're a few items I use/plan to use (DigiKey single quantities prices):

3.66 - ATmega8
0.58 - 12MHz Quartz
0.98 - LM556
0.72 - 2x 3V3 Z-diode
2.00 - misc. R & C
2.11 - USB B Fem/PCB
5.95 - D-SUB15 right angle female (ouch)

An enclosure would be nice too, maybe a 3x2x1 box from RadioShak will do -- $4.00 IIRC. Makes $20 already. Plus whatever the board will cost..

I'd probably just put together a kit of parts at-cost for ppl to assemble themselfes (I'd program the mega8 of course :)) or optionallt load & test the board for a fee (no idea for how much yet).

If you want to put that thing together all by yourself, be my guest. I can provide you w/ the schematic and software.

Now, comments please :)
User avatar
fliptw
DBB DemiGod
DBB DemiGod
Posts: 6415
Joined: Sat Oct 24, 1998 2:01 am
Location: Calgary Alberta Canada

Post by fliptw » Tue Jun 21, 2005 7:25 pm

once a 3dpro breaks, can it live again?
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Tue Jun 21, 2005 7:37 pm

fliptw wrote:once a 3dpro breaks, can it live again?
Depends -- OTOH you can get one NIB for 11.25 shipped on eBay here ;)
User avatar
Duper
DBB Master
DBB Master
Posts: 9205
Joined: Thu Nov 22, 2001 3:01 am
Location: Beaverton, Oregon USA

Post by Duper » Tue Jun 21, 2005 8:35 pm

you bridged 2 of the header pins then tacked a lead to that beige resistor? .not exactly class 3 is it? ;)

nice job.

What's the LED's function? The serial device hooks into the header pins?

there are a lot of bouard houses that could manufactor this for you. Heck, this is a simple design.

You could build with SMT at a lower cost if you go to mass production.
We use those same D-Subs all the time at work. Well. the male version.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Tue Jun 21, 2005 10:37 pm

Duper wrote:you bridged 2 of the header pins then tacked a lead to that beige resistor? .not exactly class 3 is it? ;)

nice job.
Thanks :) That header (big one on) is the gameport connector. I reused one of the gameport cables (header-DSUB) that came w/ a motherboard. The two pins on top are +5V -- it's going to power the 556, you slipped on the destination of the cable ;) I'm a software eng. -- wouldn't know what class 3 is :P
Duper wrote:What's the LED's function? The serial device hooks into the header pins?
Headers are (left-to-right on component side): USB (earlier version so I could hook up power w/o the data lines), programming interface and the gamport connector. I put the LED on for debugging (it's blue BTW :)), right now it pulses for ~1/2ms when a 3DP packet was received and is being processed.
Duper wrote:there are a lot of bouard houses that could manufactor this for you. Heck, this is a simple design.

You could build with SMT at a lower cost if you go to mass production.
We use those same D-Subs all the time at work. Well. the male version.
The males are cheaper -- just as in real life :) And I don't think I'll go into mass production w/ it just yet ;)
User avatar
WarAdvocat
DBB Fleet Admiral
DBB Fleet Admiral
Posts: 2996
Joined: Sun Jun 23, 2002 2:01 am
Location: Fort Lauderdale, FL USA

Post by WarAdvocat » Wed Jun 22, 2005 6:12 am

I'd be interested in an assembled version.

Currently I have a SB live value plugged into my gaming rig for the port. Seems pretty wasteful.
User avatar
Top Gun
DBB Master
DBB Master
Posts: 7153
Joined: Wed Nov 13, 2002 3:01 am

Post by Top Gun » Wed Jun 22, 2005 11:33 am

I'd be more than willing to pay $20 or $30 for a fully assembled one. Looks like you've done some amazing work. :D
User avatar
Liquid Fire
DBB Ace
DBB Ace
Posts: 403
Joined: Wed Oct 15, 2003 2:01 am
Location: Los Gatos, CA, USA
Contact:

Post by Liquid Fire » Wed Jun 22, 2005 9:26 pm

For cost, I'd say around $30. You'd be making a profit off the thing and I'd be happy because I could replace my broken new joystick with my functioning old joystick...

But if it's not assembled, lower to between $10 and $15. Some of us aren't electrical engineers and it would be a hassle to put it together. That's not to say it wouldn't be one for you as well, but you'd be making money off it.
User avatar
ReadyMan
DBB Admiral
DBB Admiral
Posts: 1817
Joined: Sat Aug 07, 1999 2:01 am
Location: Oahu, Hawaii USA

Post by ReadyMan » Wed Jun 22, 2005 9:34 pm

does the 3dp plug into your converter, which then plugs into a usb port?
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Thu Jun 23, 2005 1:23 am

ReadyMan wrote:does the 3dp plug into your converter, which then plugs into a usb port?
Yes, no external power supply.

To clear this: the electronic components alone (without the circut board) are $16 + S&H at DigiKey (depending on how many "kits" I'd order maybe + $1). I haven't had the time to check on boards yet, so no idea how much one would cost (probably depends on how many to make). To put one board together, program & test it will take me about an hour. I'm willing the wave fees as long there're not more than 10 or so to build. I would have the board designed so it will fit into a 3x2x1" exclosure that is available from RadioShack for $2.79 but I wont put it into a box, just have the board on standoffs (probably adds another $1). If you want it boxed you will have to do it -- the reason is that I don't have the tools to cut out the holes for the USB & gameport connectors on 10 boxes, sorry.

Remember, this is not a comercial product -- totally handmade for fun. :)

So far:

3.66 - ATmega8
0.58 - 12MHz Quartz
0.98 - LM556
0.72 - 2x 3V3 Z-diode
2.00 - misc. R & C
2.11 - USB B Fem/PCB
5.95 - D-SUB15 right angle female
1.00 - DigiKey S&H
1.00 - misc (standoffs, solder etc)
=====
18.00

+ board, + S&H to you. Leaves me w/ nothing but time spent on it :)

Edit: forgot the LED -- I'm using a blue 5V 300mcd LED from RadioShack, $3.29. A simple LED/R combo in red should run below $1.
User avatar
Genghis
DBB Newbie
DBB Newbie
Posts: 1377
Joined: Fri Feb 12, 1999 3:01 am
Location: Ithaca, NY, USA

Post by Genghis » Thu Jun 23, 2005 6:17 am

What an awesome project! I'd buy a couple of these converters at $20 each. I'm envisioning a day in the year 2010 when I want to play some D3 with old friends, and this will likely be the only way I would still be able to use one of my 3DP's...

BTW I still don't get where you plug in the 3DP. I think I see 2 or 3 different sets of header pins in your picture, none of which look like they're in gameport configuration.
User avatar
Admiral LSD
DBB Admiral
DBB Admiral
Posts: 1240
Joined: Sun Nov 18, 2001 3:01 am
Location: Northam, W.A., Australia
Contact:

Post by Admiral LSD » Thu Jun 23, 2005 12:07 pm

Genghis wrote:BTW I still don't get where you plug in the 3DP. I think I see 2 or 3 different sets of header pins in your picture, none of which look like they're in gameport configuration.
It's that header right below the 556 I think, he mentioned earlier that he's using one of those game port headers on the end of a length of ribbon cable that still come with the odd motherboard today.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Thu Jun 23, 2005 12:16 pm

This picture should clear that :) Note that it's an earlier pic of the board (no USB connector yet).

I'm right now building up another proto w/ the components moved around that will look closer to what I think the final thing may look like. In the end, the header will be replaced we/ this connector.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Thu Jun 23, 2005 3:07 pm

Grendel wrote:I'm right now building up another proto w/ the components moved around that will look closer to what I think the final thing may look like.
Components placed (not soldered anthing): image. Will go into this box.
User avatar
ReadyMan
DBB Admiral
DBB Admiral
Posts: 1817
Joined: Sat Aug 07, 1999 2:01 am
Location: Oahu, Hawaii USA

Post by ReadyMan » Thu Jun 23, 2005 5:06 pm

count me in for one, Grendel. and Thanks!
User avatar
Top Gun
DBB Master
DBB Master
Posts: 7153
Joined: Wed Nov 13, 2002 3:01 am

Post by Top Gun » Thu Jun 23, 2005 7:02 pm

I don't think I have the mechanical know-how to do anything with a box, but I'd keep it in a Ziploc bag if I had to. :P
User avatar
Ferno
DBB Stoner
DBB Stoner
Posts: 14341
Joined: Fri Nov 20, 1998 3:01 am

Post by Ferno » Fri Jun 24, 2005 1:37 am

Will you be able to knock off a few dollars for us that can assemble it via kit form?
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Fri Jun 24, 2005 2:44 am

So far I listed only material cost.. Not a single cent of labour in it :) JFF I can tell tho what I put into it so far tho:

30h collecting information & analyzing it
5h comming up w/ a schematic
4h for a BOM & ordering parts
10h building 1.5 protos
30h software

Since it's a hobby thing and I wanted that sucker I'm not asking for any compensation :)

Now, having circuit boards made, ordering parts for kits (and shelling out money up front), assembling the boards, sending them out and collecting money -- well, that's beyond hobby so I may ask for some compensation (if it's <= 10 to make I probably can live w/ a small fee :))
Munk
DBB Ace
DBB Ace
Posts: 82
Joined: Tue Jan 28, 2003 3:01 am
Location: Germany

Post by Munk » Fri Jun 24, 2005 9:08 am

Hey, this looks very nice. This could be my dream: playing Descent on a notebook. Since they don't have gameports anymore...

I'm sure I want to buy one of this, for self assembly.
What would be the price for one of this unassembled boards, and a burned microcontroller unit ?
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Fri Jun 24, 2005 12:15 pm

It should work just fine on a laptop as long the OS is W98SE or better. I test it on W2000 & XP P/H w/o problems so far.

I fixed a bug yesterday and speed up the whole thing a bit, now it's working really nice :)

The components cost approx. $19 -- this is without a custom made circuit board tho. Since there seems to be at least some interest, I'll go ahead and try to figure out what to do to get a board done -- probably something in the range 10-20 units (any hints regarding how & where are appreciated).

Bear w/ me tho -- I'm doing this in my spare time and I'm not an EE so don't expect results immediately :)

Meanwhile, as soon I get some documentation together I'll release it along w/ a binary image (and maybe the source code) for the mega8 (loading the mega8 is pretty easy) for any hardcore folks that want to make one now.
User avatar
Pun
DBB DemiGod
DBB DemiGod
Posts: 2108
Joined: Fri Aug 10, 2001 2:01 am
Location: Chicago, IL USA
Contact:

Post by Pun » Fri Jun 24, 2005 1:53 pm

come on you cheap bastards, let the guy make 10 bucks on ya. Gren, I'll buy one and I dont even own a 3D Pro. Always wanted to try one tho.
User avatar
VonVulcan
DBB Captain
DBB Captain
Posts: 992
Joined: Mon Sep 17, 2001 2:01 am
Location: Tacoma, Wa, USA
Contact:

Post by VonVulcan » Sat Jun 25, 2005 6:14 pm

I have a 3DP I have never used, won it at Stresstests last lan he threw in Seattle many moons ago. I would buy one assembled just to try it out. Around $30 dollars you say? For all that work? SOLD!
User avatar
Motorman!
DBB Ace
DBB Ace
Posts: 21
Joined: Sat Oct 23, 2004 10:14 pm
Location: Brooklyn
Contact:

Post by Motorman! » Sun Jun 26, 2005 2:42 am

Ditto above, cept I won mine off eBay about a week ago. Count me in at $30!
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Sun Jun 26, 2005 4:11 pm

Found a nice solution to store the "un-boxable" prototype: picture :) Lost connection to the stick three times yesterday tho, probably a bit noisy in that box. Trying to cut the flat ribbon cable down, will see how that works.

Proto #2 is built, tested & boxed -- works very well. I'll base the layout on that one, it's a bit cleaner (image).

Going to but a BOM together. Will try to get more info on boards this week.

Was playing w/ D3's .CTL files a bit yesterday -- no problem to kill the deadzone on the 3DP :)

Edit: shortening the cable seems to have fixed the disco.
User avatar
Fusion
DBB Ace
DBB Ace
Posts: 379
Joined: Sun Sep 07, 2003 2:01 am
Location: Valdez System, Underverse; 7 Stars, Azeroth

Post by Fusion » Sun Jun 26, 2005 4:44 pm

Gren,
Why could't you just replace that black cord and go directly to a USB header cord, tying in direct to the mobo USB pins? You could skip the box and use this connector to attach to a blank PCI coverplate. (Just an idea. :idea:)

Fus
User avatar
SuperSheep
DBB Benefactor
DBB Benefactor
Posts: 935
Joined: Sun Jun 03, 2001 2:01 am
Location: Illinois

Post by SuperSheep » Sun Jun 26, 2005 5:35 pm

Nice solder joints. :)

Btw. I can't promise anything right now, but when I get done assembling my ESR Meter for work, I might be able to construct a PCB for you. I have no idea how much I could build as I have a lot of other things going right now, but a board of that size should be able to be massed produced easily from a large PCB blank.

I have a UV box at home for masking the copper and an etching tank. I can do up to about 12"x9" PCB's, which would yield a lot of these. I'll definately see what I can come up with, but I can't guarantee anything unfortunately.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Mon Jun 27, 2005 1:14 am

Hehe -- I'd to put together my 1st computer by myself. ~2000 solder joints, good practice :)

Thanks for looking into it, Sheep ! I'll try to get a schematic and/or PCB design together over the week. Looking at DipTrace or whatever the EE uses at work (orcad IIRC). I don't think the board will exceed 2x1".

Fusion, that's true -- trying to keep it simple tho, it's all parts that I'd laying around :) It's hard to see on that pic -- I've one of these in my comp.
User avatar
Sergeant Thorne
DBB Material Defender
DBB Material Defender
Posts: 4627
Joined: Sun Nov 25, 2001 3:01 am
Location: Indiana, U.S.A.

Post by Sergeant Thorne » Mon Jun 27, 2005 6:36 am

Grendel wrote:I'd
My grammar hurts! :P

This is cool, Grendel! I wonder if you could approach this in a slightly different way and make a small length of USB cable coming off of the adapter (or a female? USB port)? I'm just wondering how best it would fit among my other USB plugs.

I agree with Punisher--I'm all for you making a profit with this. Something like this would really be useful!

Right now I'm using a second sound card for its game port.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Mon Jun 27, 2005 1:37 pm

Sergeant Thorne wrote:
Grendel wrote:I'd
My grammar hurts! :P
Unlike me you at least have grammar that can hurt. ;) I probably picked up one bad habbit too many there.. Will try to keep it in check :)

The plan is to have this USB B connector on the board. Allows you to use a standard A-B cable like this one. They are very common on peripherals -- you may already have one (I got a couple from my printer and USB drives).

I got the type A connector on the 1st proto from a bad USB pen drive.. :)
User avatar
Sergeant Thorne
DBB Material Defender
DBB Material Defender
Posts: 4627
Joined: Sun Nov 25, 2001 3:01 am
Location: Indiana, U.S.A.

Post by Sergeant Thorne » Mon Jun 27, 2005 1:46 pm

You have it covered then. :) Excellent!
User avatar
Deadmeat
DBB Captain
DBB Captain
Posts: 631
Joined: Tue Jun 12, 2001 2:01 am
Location: Davis, Ca, USA
Contact:

Post by Deadmeat » Mon Jun 27, 2005 4:22 pm

Way ta go, Gren. I'm in for one. Will let me get rid of the SBLive card I have to run because my mobo doesn't have a gameport connector.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Wed Jun 29, 2005 1:20 am

FYI, the device does not require any driver software on the PC. It behaves as a HID device of the type Joystick -- natively supported by 98SE, 2000 & XP (and probably linux and Macs). Plug & Play :)

Still working on the schematic/layout..
User avatar
Sergeant Thorne
DBB Material Defender
DBB Material Defender
Posts: 4627
Joined: Sun Nov 25, 2001 3:01 am
Location: Indiana, U.S.A.

Post by Sergeant Thorne » Wed Jun 29, 2005 9:43 am

You might even think about marketing this outside of D3. Old controller... upgrade to new computer with no gameport... "whatever will I do?!"... ;) Seriously.

I realize it is probably a rare need, but a rare need among as many computer users as there are in the U.S. alone could still be worth looking into.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Wed Jun 29, 2005 11:32 am

True, esp. if I'd make it work for some older Logitech sticks (Interceptor, CyberMan 2.) But then it's a one man enthusiast project, not a product -- I simply don't have the resources to make it one. Even on this scale it's a lot of work (heck, I'm struggling w/ the layout already :)) and I'd like to keep the follow-up work at a minimum. I'm glad to help out and try to fix things if they break, but I don't want someone to sue me because I couldn't make it work in a particular case (if it would be a product: product liability..)
User avatar
SuperSheep
DBB Benefactor
DBB Benefactor
Posts: 935
Joined: Sun Jun 03, 2001 2:01 am
Location: Illinois

Post by SuperSheep » Wed Jun 29, 2005 12:11 pm

I don't think product liability would be to big a concern in this case, and if you're really worried just stick one of those "WE ARE NOT LIABLE FOR..." in the readme.

Send me the schematic and I can use my layout software if you'd like.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Wed Jun 29, 2005 4:58 pm

Thx for the offer Sheep -- DipTrace didn't work out for me so I'll recapture the schematic later on w/ DXP 2004 (our EE here gave me the 5min tour :)). Will report back tomorrow..
User avatar
Fusion
DBB Ace
DBB Ace
Posts: 379
Joined: Sun Sep 07, 2003 2:01 am
Location: Valdez System, Underverse; 7 Stars, Azeroth

Post by Fusion » Wed Jun 29, 2005 9:06 pm

Grendel wrote:FYI, the device does not require any driver software on the PC. It behaves as a HID device of the type Joystick -- natively supported by 98SE, 2000 & XP (and probably linux and Macs). Plug & Play :)

Still working on the schematic/layout..
Gren, would that include the Mac ADB(Apple Desktop Bus) port? If yes, I might get my FireBird back. :D :) But that would require replacing the PC gameport connector w/a ADB one...Don't know if you can still get them...

Fus
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Wed Jun 29, 2005 10:02 pm

Nope, it's strictly a 3D Pro gameport-to-USB converter. I was assuming Mac's nowadays have USB ports and heed the HID specifications like real computers.. ;) IIRC the 3D Pro came in a ADB version, may be still one or two around somewhere..
User avatar
Fusion
DBB Ace
DBB Ace
Posts: 379
Joined: Sun Sep 07, 2003 2:01 am
Location: Valdez System, Underverse; 7 Stars, Azeroth

Post by Fusion » Thu Jun 30, 2005 12:17 am

Grendel wrote: IIRC the 3D Pro came in a ADB version, may be still one or two around somewhere..
Seen them at work now and then.(Goodwill) Find the PC platform sticks more often than the Mac version, both the 3D Pro and the non 3D Pro.(Although I don't think I ever saw a non Pro ver for Mac) At one point, had like 3 or more of them. :lol:

Fus
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Thu Jun 30, 2005 9:57 pm

I'm almost finished w/ the schematic -- can't get the USB B connector footprint into Protel tho. That software is a pain in the neck.. Will talk to the EE tomorrow..

So far it looks like this.
Post Reply