jep, because of lack of config button when only using 6 button templates. hmmm any idea about this? Solve this different firmware version?
Extremely nice stuff Ben, well done!
starting then with heuristics I suppose. I think auto detection is then not robust… Has Chimp a bullet proof auto detect?
Well there really isn’t any need to enable/disable the triggers. Just keep them enabled. Do you keep the reset pin so you can continue using the AVRISP programmer? For the DS:SMD board after I program the bootloader through the AVRISP programmer I disable the reset pin. All firmware updates are done through usb and if the user needs trigger inversion then its there if not then no worries.
No, I`m updating only via USB. Jep, this is an option. I considered using this pins for some other extensions like support of other consoles. Other extension could be to support LS and RS setting in TE Dual Mods via this pins. Dual Strikes takes the settings via config mode and then sets the pins for the turbo pcb. So there is no need for the Turbo Hole anymore… What do you think about this idea?
Special Easter Offer this week. Buy a TE Plexi together with a Dual Strike and receive a 2? discount.

I’m not sure about the chimp, but its being offered with that option so it must be reliable enough… Maybe its something to consider going forward
bencao74 - I’ve read this topic with great interest, even more so because you’re based in Europe (potentially saving me considerable shipping & customs tax fees).
Sending you a PM…
Firmware 1.6.0
I just uploaded a new Firmware here with the following new possibilities for the pins S3 and S4 (of these only one can be active, this is configured in the configuration mode):
* emulation of the joystick mode switch (e.g. on MadCatz Fightsticks and -pads) - you can do without the turbo hole!
* reading of the joystick mode switch
* and inverted triggers support
See “readme.txt” for more details.
Have fun with it!
I can’t find it in any of the notes; is there support for player (1P/2P/3P/4P) LEDs in the firmware? I recognize that that may not be useful for most people (limited pin count on the C), but some people might want 1P/2P instead of 4K/4P. Or maybe somebody may want to port the firmware to a larger chip; who knows!
>.>
Thanks, and great work.
–UnderWing
don’t get it. Of course you can wire leds to the Dual Strike Board. For example LED lights up at button press:
VCC - LED Anode - LED Cathode - Resistor- Dual Strike Signal
no show stopper here. Wire 1P and 2P additionally to 4K/4P. Do i get it?
Sure ATmega16 and 32 is possible. But this is then a real hardware modification and new boards are needed.
some more words to firmware 1.6.0.
It`s now possible to control settings of the TE Turbo field (LS, RS, …) with the Dual Strike. Imagine youve connected xbox360 pcb via Dual Mod interface to your Dual Strike. For changing Stick mode on PS3 console the Dual Strike takes the job. But now you can even control xbox360 TE Stick mode with the Dual Strike PCB!
Wire down stick mode lines to the turbo pcb and you`re down. Now you can mod your TE without using this ugly turbo hole. Tutorial on this stuff will follow.
Sorry, I was unclear. By “Player LED’s” I mean the LEDs found on controllers telling you which player you are (in the case of fightsticks, usually you’re going to be player 1 or 2). The indicators tell you which player number the console recognizes you as, which then usually lets you know which side you’ll be on (1P on left, 2P on right). It’s not just an aesthetic thing, and it usually doesn’t flash/react to player actions or inputs: it’s simply an output from the console. A normal PS3 controller has four LEDs of this type, and on an XBox 360 controller they’re the quartiles of the “Ring of Light” around the Guide button.
And I’m actually looking at throwing the code on an AT90USB1287 that I have a development board for; it’s a weird little project that’s much more than just a stick. I’ll be using the AT90’s USB Co-Processor to act as one type of USB device while the Dual Strike’s firmware runs on the main processor to act as a HID controller – two completely separate devices with separated USB device stacks, running in tandem. It’s about 90% “because I can”. I’ll keep you updated when I make progress.
–UnderWing
Making the player LEDs work might be quite complicated, as this is information that the host (PS3 in this case) sends to the USB device. I couldn’t find any open-source projects supporting this, so copy & paste is not possible.
I suspect that we could get the player number somehow (then it would be easy to activate LEDs accordingly), but I don’t see how to do it without some means to protocol the messages sent from a USB host to a USB device (which I don’t have).:shake:
Got it
this is the best solution of course and for PS3 the only possible solution.
For xbox360 you can wire the leds among guide and put them where ever you want.
oh, nice idea. This should be the next step and lays down in my drawer in form of a AT90USBKey
The LUFA Framework looks great for starting point. To integrate the Dual Strike Descriptor should be possible of course.
keep us posted!
I extented my TE Dual Strike Mod Tutorial with the connection of the pins S3 und S4 to read or emulate the joystick mode switch.
http://pohl-michael.gmxhome.de/fighstickte_dualstrike_mod/images/thumb-fightstick_interior_switch_connected.jpg
Hehe, yeah, the AT90USBKey’s wonderful, isn’t it? I’ve got a little breakout board for it, and I love it as a general purpose development platform. I’m currently working on getting the code running. The LUFA stack is for using the co-processor for the USB communications, so I’m not actually porting to LUFA framework – I want the “software” (bit-banged) solution of the Dual Strike’s firmware to run on the primary processor (which is what I’m working on now), then I’m going to add something else special (not a HID stack) on the USB co-processor itself.
Though, if you ported to the AT90USB, the thing’s powerful enough you may be able to make a single composite USB device that acts as two arcade sticks to the host (PS3) potentially; I don’t know that much about composite USB devices. Would mean a single-PCB solution for multi-player panels, which could be interesting.
Like I said, I’ll keep you updated.
Hi!
I thought about doing a LED mod with my stick. I want to archive the following:
If the Dual Strike PCB is used as controller, light up the one kind of LEDs (red). If in pass-through mode use the other kind of LEDs (green).
What is the easiest solution? I thought about using the signal on the S1 and S2 pins, as S1 is high and S2 is low in Dual Strike mode (and vice versa).
And I have a question about the Dual Strikes USB switching: As I understand the schematic I got from bencao74, S1 is wired to the C and D controls of the 4066N switch (for D+ routing) and S2 is wired to the A and B controls (for D-). Aren’t there inverters in front of some the 4066N control pins (I suppose pin 6 and 7)?
And another question: Is Pin C7 used for anything? I couldn’t find it in the schematic. I’m thinking about using it for some kind of indicator LED (e.g. to indicate configuration mode).
Okay, the exported PNG in the package was wrong. This is the correct schematic.
[ATTACH=CONFIG]53828[/ATTACH]
S1 is the line to control USB Datalines D+ and D- for PS3. 4066N switches if S1 is high. Take S1 to low to cut of the PS3 USB Datalines.
S2 does the job for xbox360. You don’t need inverters, because Dual Strike drives the pins directly.
ATMega8 has no PC7.
Jep, this one are the indicators which PCB is active.
But you can`t drive that much current needed for lighting up your directly. I assume following environment
8 Button, each one with one LED. 8 LED, one led takes about 20mA -> 160 mA. Sounds easy, but do not drive with MCU Pins more than 20mA. I don’t have the right values at hand, but datasheet is your friend here. But it must be something in this area.
So what transistor do we need for this job?
Drive 5V to LED for active PCB
next post
Drive 5V to LED for active PCB
[ATTACH=CONFIG]53829[/ATTACH]
Base resistor configures PNP transistors. Now this circuit could drive all the leds behind. Add additional Leds with corresponding led resistors.
VCC is taken from 5V USB or from DualStrike Board. Do the same thing for GND.