M$ Sidewinder 3D Pro on USB

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

Moderators: Krom, Grendel

User avatar
Sharpie
DBB Cadet
DBB Cadet
Posts: 14
Joined: Tue Feb 13, 2007 4:16 pm
Location: Pennsylvania
Contact:

Full Units

Post by Sharpie »

Are you still taking orders? If you are please put me down for two plz.

I hope I'm not late...
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 »

Please see here. This thread is for technical discussions only.
ImageImage
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 »

Updated the project archive to 2008-01-24 (grab it near the bottom of this page.)
ImageImage
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 »

Updated the project archive to 2008-02-09 (grab it near the bottom of this page.)

Started thinking about how to make the whole thing a bit less complex and designed a new prototype:

Image
Will take me a few days to build. If it works (using a single 555) it should make building-your-own simpler. Stay tuned..
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 »

Back to the drawing board. Lots of problems w/ the ATtiny chips, a single 555 seems not to work w/ the 3DP etc. etc. Still working on it tho.
ImageImage
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 »

Rev. 2 of above proto fixes the USB problems (tiny chips have different electrical characteristics vs the mega). Stacked a 2nd 555 on top of the 1st one -- fully featured converter. W/ one 555 the PP & FFP work fine, but not the 3DP. Waiting for some tax money to get a decent USB scope to check it out. Meanwhile I'll build another one w/ a 556, see if I can keep the wiring as simple..

Image
ImageImage
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 »

Here's a closeup of the \"tower\", I'm sure at least Duper will get a kick out of it :P

Image

Finished building a 2nd proto w/ rev 3 design, now w/ a 556. Pain in the neck, took me about 2.5hrs to build (works fine w/ all sticks tho.) Going to order a scope next week to do some analysis. The ideal situation would be to get rid of the 555's all together, that would make the design & DIY building real easy.

Image

Back:

Image

Stay tuned.
User avatar
WillyP
DBB Ace
DBB Ace
Posts: 461
Joined: Sat Feb 11, 2006 9:57 pm
Location: NH
Contact:

Re:

Post by WillyP »

Grendel wrote:Here's a closeup of the "tower", I'm sure at least Duper will get a kick out of it :P

(pic of two ic's piggy backed)
Wow, some fancy soldering there!
DigiJo
DBB Ace
DBB Ace
Posts: 491
Joined: Thu Jul 18, 2002 2:01 am
Location: Germany
Contact:

Post by DigiJo »

what kind of hundertwasser-style electronic soldering is that gren? i want an usb-converter for my 3dp and not modern art ;)
User avatar
Floyd
DBB Captain
DBB Captain
Posts: 561
Joined: Sat Apr 26, 2003 2:01 am
Location: Germany
Contact:

Post by Floyd »

lol @ the tower. nicely done. :)

how is this version less complex anyway, Grendel? judging by a quick view, it looks more complicated right now.
User avatar
WillyP
DBB Ace
DBB Ace
Posts: 461
Joined: Sat Feb 11, 2006 9:57 pm
Location: NH
Contact:

Re:

Post by WillyP »

Grendel wrote: Finished building a 2nd proto w/ rev 3 design, now w/ a 556. Pain in the neck, took me about 2.5hrs to build (works fine w/ all sticks tho.) Going to order a scope next week to do some analysis. The ideal situation would be to get rid of the 555's all together, that would make the design & DIY building real easy.
I think the stacked IC's were experimental and he is planning to have no 555's. :oops:
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Re:

Post by Grendel »

Floyd wrote:how is this version less complex anyway, Grendel? judging by a quick view, it looks more complicated right now.
It uses a smaller (cheaper) MCU, 20 pins vs 28. I tried to keep the layout simple by minimizing crossing lines to make copying easier. Most of the complexity right now is in the analog section (around the 556), I'm still hoping to design that chip out. The ISP header wouldn't be in a DIY version (J3, blue-ish connections) and R2, R8 & R9 are probably going to drop out as well.

Here's the old design, 2nd proto for comparison.
WillyP wrote:I think the stacked IC's were experimental and he is planning to have no 555's. :oops:
Correct. The 1st proto w/ the single 555 did work w/ the PP/FFP but not the 3DP. The latter needs a 2nd 555 which I stacked on the 1st one :) A 556 is a two-555-in-one chip, it works fine but I would like to get the 555/556 out if possible.

Edit:
DigiJo wrote:what kind of hundertwasser-style electronic soldering is that gren? i want an usb-converter for my 3dp and not modern art ;)
Actually, I promised that proto to someone who wants to frame it (after I'm done w/ it).. :)
ImageImage
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 »

Looking pretty good. W/ only one \"trigger channel\" consisting of a R/C combo (w/o the 555) it talks to the FFP/PP and switches the 3DP into 1-bit digital mode. Tomorrow I'll add the 2nd channel needed for the 3-bit mode, if all goes well things should get a lot simpler.

Dang, I need more space.. :)

Image
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 »

Looking very good -- built another proto (last one for a while, I used up some key parts :)):

Image

Works w/ all 4 sticks. It needs more testing and software work, but this will probably become the \"official\" 3DP-Vert rev2 :) I'll take a picture of the backside later and post it.
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 »

Here we go, front and back of the final proto:

ImageImage

Note that C8 & 9 are socketed in this version to allow me to swap them out quickly.

Here's a slightly improved version of the layout:

Image
User avatar
Aus-RED-5
DBB Friend
DBB Friend
Posts: 1604
Joined: Fri Apr 23, 2004 7:27 am
Location: Adelaide, South Australia
Contact:

Post by Aus-RED-5 »

Looking great Grendel! :D

Once you are satisfied with everything.

I take it you'll be releasing the details to make our own?
If so, how does one go about flashing the chip?
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 »

Thanks :)

Actually you could build the hardware w/ the information above already. As for getting a flashed chip, there are many ways -- idealy you find someone who owns an Atmel ISP programmer and have that person load the hex image into the chip (takes only 10s or so).. They come in many flavors (ISP MkII, STK500, JTAG MkII, home-brew programmers all over the place as well), chances are that there's one somewhere around you ;) If you want to play w/ microcontrollers you can buy the Atmel ISP MkII at Digikey for $36 -- that's what I use, plugs right onto that 6-pin header labled \"ISP\" and integrates seamlessly into the AVR Studio 4, very easy to use :)

The less prefered but more realistic way to get one is probably me buying a few chips, program them, and send them out at cost (MCU+s&h) to whoever needs one.

I will release the software under GPL as soon I find some time to write at least a little documentation about what to do and how to build it.

Right now the main software is finished, working very well so far. Things I have to look at are:
  • more testing
  • should I stick w/ the 16MHz crystal ? 16MHz is not the ideal timing. The original code was written for 12MHz, 3MHz increments up are easy to accomplish so 15MHz would result in more acurate USB timing. Since I just squeezed to code down to 3828 bytes I could go for the 15MHz crystal (+106 bytes code.)
  • since the ATtiny461 has 4kb flash memory, I can't add a boot loader to update the application via USB (+2kb.) If I use a ATtiny861 (8kb flash, + $0.60) I could try to write one (unfortunately not as straight forward as w/ the ATmega8 from the 1st run. That chip has \"native\" support for a boot loader.) Personally I feel more comfortable having the ability to reload the software w/o an ISP and I do have an 861 so I'll probably give it a shot, see how it works out.
  • I would like to do a PCB layout for having a (small) run of finished boards made (I do realize that building one isn't for everybody :)). If I have them loaded as well, I could go SMD and make the converter small enough to fit into a connector shell, dongle style. Would be cool, but needs some time and research.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Re:

Post by Grendel »

Grendel wrote:
  • should I stick w/ the 16MHz crystal ? 16MHz is not the ideal timing. The original code was written for 12MHz, 3MHz increments up are easy to accomplish so 15MHz would result in more acurate USB timing. Since I just squeezed to code down to 3828 bytes I could go for the 15MHz crystal (+106 bytes code.)
Testing w/ the 15MHz crystal for now. If you see me in game I'll be using the latest prototype :)
Grendel wrote:
  • since the ATtiny461 has 4kb flash memory, I can't add a boot loader to update the application via USB (+2kb.) If I use a ATtiny861 (8kb flash, + $0.60) I could try to write one (unfortunately not as straight forward as w/ the ATmega8 from the 1st run. That chip has "native" support for a boot loader.) Personally I feel more comfortable having the ability to reload the software w/o an ISP and I do have an 861 so I'll probably give it a shot, see how it works out.
Turns out that it's more complicated than I would care for. Having the vectors static makes it pretty much impossible to use the same boot loader structure as w/ the mega8. I'll keep it in mind but I'll probably go w/o.
User avatar
bakoti
DBB Cadet
DBB Cadet
Posts: 1
Joined: Mon Mar 10, 2008 6:30 am
Location: Rome - IT

Post by bakoti »

Hi,
I'm following this thread since I found out the existence of 3DP-VERT.

Amazing job Grendel!

Now, I'm trying to build one by myself, and I think have no problem to assemble the hardware (I hope).
I'm a little bit difficult about programming ATmega8.
BTW, the Readme file from \"Project archive 2008-02-09\" encourage me to change the 12Mhz Crystal w/ a 16 one, then
To compile the firmware, install the GNU toolchain for your operating system. Change to the firmware directory and run \"make all\".
???

Here I'm lost! :?
Is it possible to have a step by step guide to do that?

Tnx a lot!

Bak
Munk
DBB Ace
DBB Ace
Posts: 82
Joined: Tue Jan 28, 2003 3:01 am
Location: Germany

Re:

Post by Munk »

To compile the firmware, install the GNU toolchain for your operating system. Change to the firmware directory and run \"make all\".
???

Here I'm lost! :?
Is it possible to have a step to step guide to do that?
Step 1) install GNU toolchain.
Step 2) change to the firmware directory.
Step 3) run \"make all\".

I think this is pretty much a step-by-step guide.

For Windows Operating systems, you can use the GNU tools by installing cygwin with the GNU toolchain packages.
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 »

From the same readme.txt:
TOOLCHAIN
---------

The converter is realized using an Atmel ATmega8 AVR micro controller,
Objective Development's firmware-only USB driver AVR-USB, and Objective
Development's BootloadHID.

http://atmel.com/dyn/products/product_c ... rt_id=2004
http://www.obdev.at/products/avrusb/index.html
http://www.obdev.at/products/avrusb/bootloadhid.html

The 3DP-Vert firmware was developt under Windows XP Pro using WinAVR
20071221
and Atmel AVR Studio 4.13 SP2b571. The ISP programmer used
is PonyProg2000, v2.06f BETA.

-->> http://sourceforge.net/projects/winavr/ <<--
http://atmel.com/dyn/products/tools_car ... ol_id=2725
http://www.lancos.com/ppwin95.html
For other OS's you'll have to find the AVR GNU tools yourself ;)
User avatar
flip
DBB Material Defender
DBB Material Defender
Posts: 4871
Joined: Thu Oct 26, 2006 9:13 am

Post by flip »

Awesome work Grendal. Your last prototype definitely is a simpler one to make. I have a few friends on kali I'm making a few for. So far i've got a complete parts list except for C8,C9. 2.2n=22PF ??? I think I have the correct part# for digikey. It is (399-4220-ND). Mind taking a look and seeing if I have the right one?
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 »

2.2n = 2200p -- 399-4281-ND will do :) Are you planning to program the chips yourself ? If so, drop me a PM w/ your e-mail for sending you the hex image(s) (include how many you are making and what crystal you are using.)
ImageImage
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 »

I built one on the board that comes w/ the RadioShack box (270-283), will take some pics of it over the weekend.

Here's the current BOM.

Code: Select all

Quantity Digikey #	Description				Price	Schematic
---------------------------------------------------------------------------------
1	ATTINY461-20PU-ND IC MCU AVR 4K FLASH 20MHZ 20-DIP	$2.45	U1
1	ED3320-ND	IC SOCKET 20POS .300\" DIP GOLD		$1.61

1	X176-ND		CRYSTAL 16.000MHZ 20PF HC-49/US		$0.58	Y1
2	1N5227BDICT-ND	DIODE ZENER 3.6V 500MW 5% DO-35		$0.72	D1,D2

1 (5)	330QBK-ND	RES 330 OHM 1/4W 5% CARBON FILM		$0.27	R1
1 (5)	1.0MQBK-ND	RES 1.0M OHM 1/4W 5% CARBON FILM	$0.27	R2
2 (5)	68QBK-ND	RES 68 OHM 1/4W 5% CARBON FILM		$0.27	R3,R4
3 (5)	2.2KQBK-ND	RES 2.2K OHM 1/4W 5% CARBON FILM	$0.27	R5,R6,R7

1	P5177-ND	CAP 4.7UF 50V ALUM LYTIC RADIAL		$0.15	C1
2	399-4267-ND	CAP 15PF 200V 5% CER RADIAL		$0.58	C4,C5
2	399-4281-ND	CAP 2200PF 100V 5% CER RADIAL		$0.78	C8,C9
1	399-4264-ND	CAP .1UF 50V 10% CER RADIAL		$0.21	C3

1	ED90064-ND	CONN RECEPT USB TYPE B PCB		$1.34	J1

(1	182-15FE-ND	CONN DB15 FEMAL .318\" R/A NICKEL	$2.19	J2)
(1	MFR15K-ND	D-SUB CONN RECP 15POS W/O INSERT	$4.91	J2)

1 (10)	67-1647-ND	LED 3MM SHORT LENS SUPER RED CLR	$2.78	D3
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Re:

Post by Grendel »

Grendel wrote:I built one on the board that comes w/ the RadioShack box (270-283), will take some pics of it..
Here they are -- took me about 90min to build:

ImageImageImage

Working on the documentation for source code release.
crazy328
DBB Ace
DBB Ace
Posts: 29
Joined: Sun May 20, 2007 5:25 pm

Post by crazy328 »

just outta curiosity, where does the gameport go exactly? sorry if it's like.. right in front of my face =P
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 »

Good question. The protos I build have a header connector where the gameport connector goes -- it's the 15 pin black thing on the right side of the board (w/ the USB connector on the left). It maps 1:1 to a DB15F connector -- either replace the header w/ one or plug one of these onto the header.
KSeb
DBB Cadet
DBB Cadet
Posts: 3
Joined: Thu May 01, 2008 3:42 pm

M$ Sidewinder 3D Pro on USB

Post by KSeb »

Awesome work Grendel. I've been looking for something like this. I've got a PP and FFP and have been missing them.

I'm getting ready to build one (3 in the end) and want to know if this is the final design?
Have you come up with a board layout yet?
I'm using Eagle to design one. A Schematic would be nice but I'll work from your excellent pics if I must:)

I have everything in your BOM but I saw you were going to possibly use a different Crystal.
I was going to use the 16MHz Crystal. Should I be using something else?
Is there a place to get a copy of the Hex image?
Do you need any help writing documentation/instructions?

Thanks for the much needed solution.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Re: M$ Sidewinder 3D Pro on USB

Post by Grendel »

KSeb wrote:I'm getting ready to build one (3 in the end) and want to know if this is the final design?
Yes, the last two protos are the final design.
KSeb wrote:Have you come up with a board layout yet?
I'm using Eagle to design one. A Schematic would be nice but I'll work from your excellent pics if I must:)
Since I lost my access to Orcad there's no layout nor schematic different from what I posted here so far.
KSeb wrote:I have everything in your BOM but I saw you were going to possibly use a different Crystal.
I was going to use the 16MHz Crystal. Should I be using something else?
You have the choice betw. 16 and 12MHz. So far I have not found a noticeable difference, it's really up to you. You could socket the crystal to be sure :)
KSeb wrote:Is there a place to get a copy of the Hex image?
Not yet, if you need it immediately PM me your email address and I will send it to you.
KSeb wrote:Do you need any help writing documentation/instructions?
Think I'm ok, thanks for asking tho. Just need to find some time.. :/
ImageImage
KSeb
DBB Cadet
DBB Cadet
Posts: 3
Joined: Thu May 01, 2008 3:42 pm

Schematic and board design

Post by KSeb »

Here is my version of this awesome project.

Sorry about the schematic, it's been a while since I did one.

Can someone verify this for me.

The front image is reversed, for those of you who make your own.

If you want the eagle files I can post those also.
Thanks,
Ks

Image


Image


Image
User avatar
bugmenot
DBB Ace
DBB Ace
Posts: 23
Joined: Fri Nov 12, 2004 6:15 am
Location: www.bugmenot.com
Contact:

Post by bugmenot »

I can't reach Grendels Site anymore, i was hoping to find the updated version of his zip.

Grendel, what happened?
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 »

I don't know :( It's hosted on Koolbears server -- KB, are you listening ?

Edit: http://koolbear.com says \"Account suspended\" :(
ImageImage
User avatar
Aus-RED-5
DBB Friend
DBB Friend
Posts: 1604
Joined: Fri Apr 23, 2004 7:27 am
Location: Adelaide, South Australia
Contact:

Post by Aus-RED-5 »

KB is looking into the matter. ;)
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 »

It's back ! Thx KB.

Not updated yet, almost there tho.. ;)
ImageImage
ahjinle
DBB Cadet
DBB Cadet
Posts: 2
Joined: Thu Jun 05, 2008 9:23 pm

Post by ahjinle »

Hi Grendel,
Great job!

I'm new here, from china.
I'm trying to build one by myself to let my FFB working again.The last improved version, it using ATting461 seems easy to build. and I'm planning to program that chip by myself.So I want a copy of the Hex image(I just build one for myself, and going to use the 16MHz Crystal).

Thanks a lot!
ahjinle

[Mod edit] Obfuscated the email address. Will send the image later today.
KSeb
DBB Cadet
DBB Cadet
Posts: 3
Joined: Thu May 01, 2008 3:42 pm

FF Sidewinder

Post by KSeb »

Is the Force-Feedback part of the FFP supposed to work with this latest prototype? I've built one and my SWP and FFP joystick & buttons work fine but the FF never turns on/Activates so it never centers the JS.

Any ideas?
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 »

Grendel wrote:Just to clear this -- the converter in the current state does not support force feedback effects for the FFP and probably never will. Here's why:

Most gameports back in the day were located on a sound card sharing some pins with the cards MIDI interface. M$ added pin 12 to the FFP (MIDI TxD) and uses MIDI channel 6 to issue FF commands. It's too much work trying to reverse engineer the commands, add a MIDI interface to the 3DP-Vert (that's probably not possible anyway, since the MCU is pretty busy bit-banging the USB port) and modify its USB code to have a fully featured FF device. A limp stick is all you will get, sorry (I think. I never tried to plug power in..) Personally I prefer this -- I'm already busy with the game, I don't need to fight with the stick as well ;)
ImageImage
crazy328
DBB Ace
DBB Ace
Posts: 29
Joined: Sun May 20, 2007 5:25 pm

Post by crazy328 »

eh, i have an old school FFP and it has a power cable and one that hooks up the the comp.. when only the power is plugged in, i grab the stick and it centers right away.. dunno if you have that kind of stick, but if it has separate power, it should at least center
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 »

I released the rev2 project archive. You can find it here, look for the link \"Project archive 2008-06-22\" near the bottom of the page.
ImageImage
User avatar
bugmenot
DBB Ace
DBB Ace
Posts: 23
Joined: Fri Nov 12, 2004 6:15 am
Location: www.bugmenot.com
Contact:

Post by bugmenot »

It took slightly longer than expected, but thanks for the effort. Grendel, you are THE man!
Post Reply