Page 1 of 10

M$ Sidewinder 3D Pro on USB

Posted: Tue Jun 21, 2005 7:17 pm
by Grendel
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 :)

Posted: Tue Jun 21, 2005 7:25 pm
by fliptw
once a 3dpro breaks, can it live again?

Posted: Tue Jun 21, 2005 7:37 pm
by Grendel
fliptw wrote:once a 3dpro breaks, can it live again?
Depends -- OTOH you can get one NIB for 11.25 shipped on eBay here ;)

Posted: Tue Jun 21, 2005 8:35 pm
by Duper
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.

Posted: Tue Jun 21, 2005 10:37 pm
by Grendel
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 ;)

Posted: Wed Jun 22, 2005 6:12 am
by WarAdvocat
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.

Posted: Wed Jun 22, 2005 11:33 am
by Top Gun
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

Posted: Wed Jun 22, 2005 9:26 pm
by Liquid Fire
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.

Posted: Wed Jun 22, 2005 9:34 pm
by ReadyMan
does the 3dp plug into your converter, which then plugs into a usb port?

Posted: Thu Jun 23, 2005 1:23 am
by Grendel
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.

Posted: Thu Jun 23, 2005 6:17 am
by Genghis
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.

Posted: Thu Jun 23, 2005 12:07 pm
by Admiral LSD
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.

Posted: Thu Jun 23, 2005 12:16 pm
by Grendel
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.

Posted: Thu Jun 23, 2005 3:07 pm
by Grendel
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.

Posted: Thu Jun 23, 2005 5:06 pm
by ReadyMan
count me in for one, Grendel. and Thanks!

Posted: Thu Jun 23, 2005 7:02 pm
by Top Gun
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

Posted: Fri Jun 24, 2005 1:37 am
by Ferno
Will you be able to knock off a few dollars for us that can assemble it via kit form?

Posted: Fri Jun 24, 2005 2:44 am
by Grendel
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 :))

Posted: Fri Jun 24, 2005 9:08 am
by Munk
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 ?

Posted: Fri Jun 24, 2005 12:15 pm
by Grendel
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.

Posted: Fri Jun 24, 2005 1:53 pm
by Pun
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.

Posted: Sat Jun 25, 2005 6:14 pm
by VonVulcan
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!

Posted: Sun Jun 26, 2005 2:42 am
by Motorman!
Ditto above, cept I won mine off eBay about a week ago. Count me in at $30!

Posted: Sun Jun 26, 2005 4:11 pm
by Grendel
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.

Posted: Sun Jun 26, 2005 4:44 pm
by Fusion
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

Posted: Sun Jun 26, 2005 5:35 pm
by SuperSheep
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.

Posted: Mon Jun 27, 2005 1:14 am
by Grendel
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.

Posted: Mon Jun 27, 2005 6:36 am
by Sergeant Thorne
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.

Posted: Mon Jun 27, 2005 1:37 pm
by Grendel
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.. :)

Posted: Mon Jun 27, 2005 1:46 pm
by Sergeant Thorne
You have it covered then. :) Excellent!

Posted: Mon Jun 27, 2005 4:22 pm
by Deadmeat
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.

Posted: Wed Jun 29, 2005 1:20 am
by Grendel
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..

Posted: Wed Jun 29, 2005 9:43 am
by Sergeant Thorne
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.

Posted: Wed Jun 29, 2005 11:32 am
by Grendel
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..)

Posted: Wed Jun 29, 2005 12:11 pm
by SuperSheep
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.

Posted: Wed Jun 29, 2005 4:58 pm
by Grendel
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..

Posted: Wed Jun 29, 2005 9:06 pm
by Fusion
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

Posted: Wed Jun 29, 2005 10:02 pm
by Grendel
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..

Posted: Thu Jun 30, 2005 12:17 am
by Fusion
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

Posted: Thu Jun 30, 2005 9:57 pm
by Grendel
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.