Wow, good shit dude. the MS is shaping up to be a fantastic addition for light mods
jep, this master strike is meant as multi purpose board. perhaps we
ve to think about a firmware collection. Next version has USB bootloader. Nevertheless it
s possible to use ISP. Looking forward to get mine…
Yes I will modify post #3 to list all the firmwares =)
I will try to get it up asap…
Yeah, a nice list of different firmwares with they’re attached function descriptions would be extremely helpful for those who don’t know how to fool around with code, nor have the tools. The USB bootloader as a default inclusion would be a good fit for that.
So Master Strike PCB V1 is red.
What color is V2? Red also?
V2 = MasterStrike REMIX… the color / design has not been finalized yet… it will basically be the same as V1 but with usb programming and 2 additional channels of control, and it will lose the LED indicator and cost about $5 more than v1… design is still in discussion…
LED indicator is noce, but unnecessary IMO. USB programming is nice. Price is what it is, so no major worry there.
What would be REALLY nice is a MS/Leo mashup. Maybe call it the Ultra Strike? All dreams at this point, of course…
I only coded enough to do the switching for the two led effects. Only had yesterday to truly test anything. I only managed to get the LED2 and ACC2 spots to actually turn on and off. Because of the nature of the led mod, I used one of the unused pins of the microcontroller to turn on/off the dimming.
I think the masterstrike will be a great way for people to learn how to program for microcontrollers as in order to take full advantage of the board you will most likely want to make changes to the default code. Giving the next version a bootloader will make it even better because no avrisp programmer will be needed.
Lol… Theres dualstrike and cthulu and many other setup types to consider too! With separate boards, you can get exactly what you need and be power efficient with it, not to mention more flexibility to place components in tight spaces
my reco!
V3 should be SMD!
Reading all this great ideas I thought to simplify the coding. Probably we work out a toolchain to support Ardunio ocde on masterstrike…
I will wait for this one then, because I don’t have an AVR Programmer and liked the way it works on the Dual Strike. Additional channels are always great and who cares about the LED indicator
I would recommend to make the system stay in bootloader mode until another key is pressed in contrast of how it works with the Dual Strike (pressing start for the whole process).
Did you think about making the configuration/bootloader proccess compatible with the Dual Strike as it might be a common combination? Compatibility with this or other PCBs might be interesting for the firmware list.
A good idea, should be possible as everything is open source. But I have no idea how complex the toolchain is, anyone had already a deeper look at it?
This made me have an idea, though: What about making a version being an Arduino Shield? There are various versions of it (e.g. a nano version) and I’m not yet in Arduino programming, but I thought about getting one some day (primarily for creating a good semi-analogue temperature-based fan control for my PC).
Another idea to simplify coding:
Create a domain specific language (like in the pseudo-code) and generate C code from it, this is compiled using gcc (like the AVR distribution) to make a new firmware.
I would implement the language in XML: use XML Schema to define the language and validate documents, use XSLT to generate the C code. The work to do after the specification is finished wouldn’t be too much. This might even be more non-programmer friendly than the Arduino code.
@Gummowned: I would love to see some pics/vids of the stick in (light) action…
Yeah this is an open issue, weve to deal with. Currently we
ve to hold the Start key to enable the dualstrike bootloader. But what happens when Dual Strike is combined with Master Strike? We`ve to differ the bootloaders here. USB interface has then the following modes :
- Bootloader Masterstrike
- Bootloader Dual Strike (Bootlaoder x)
- xbox360 Piggyback
- PS3 Dual Strike
I don`t like the idea to make a second usb plug.
Jep, we`re on the best way since I understand as arduino shield a piece of hardware supporting arduino IDE.
Good idea, but Arduino is very well documented and support is great. I doubt that any new code surrogate will get the quality Ardunio has. But what about the idea to support GUI like programming? We`ve 6 switches and 6 output channels. My idea is connect Master strike to a PC and then configure it via a PC Application. I.e. S1 activates Output1 and Output2…
http://www.obdev.at/products/vusb/usbasploader.html looks very comprising. However Dual Strike uses a different Bootloader
this projectgoes one step ahead and supports USB to Arduino Code. But currently we don’t need it for Master Strike.
Didn’t think about that as I don’t like it either
I meant those boards that are just plugged on top of a Arduino board…
I don’t have problems with Arduino, but I think most modders are not into C-Programming. A DSL might be easier to learn as it offers only those constructs needed in the domain.
Good idea, but this is basically (from a computer science point of view) just another DSL
This would be ideal to add Arduino support.
ah, no. If we integrate this usbasploader we can directly plug Master Strike to a Arduino IDE. If we use bootloaderhid, Dual Strikes Bootloader we can use at least the generated hex file from Ardunio…
Jep, correct, got me OK,then… DSL would be great
this would be nice. simply program on your arduino, pop the chip and place it in the masterstrike
you would need to provide the pinout mapping to the masterstrike
A0 - A5 = MS??? - MS???
D2 - D13 = same same
secondly
i have built standalone arduino on a breadboard and here you run into a decision
- use the internal 8mhz clock (with 1% error)
- use external 16mhz crystal
- use 16zhz resonator
btw, the bootloader only eats 1K
Jep, TBD for me
hmmm, Master remix v2 will use V-USB. V-USB uses 12Mhz, 16 Mhz or even 20Mhz external Clock. For Dual Strike we use 12Mhz external Clock. What issues do we face here when using Ardunio?
Ok this is starting to go above my knowledge level. LOL…
Here is the masterstikre remix schematic (revision 2)
@Iviphisto, if you could PM me your email address, i will give you edit permission on the folder that contains the MS Remix schematics. Same goes to anyone who wants to participate in the design and upload any revisions. All of your feedback and suggestions are welcome. Speak now or forever hold your peace! LOL
Bencao74 and I have discussed how to handle usb a bit in MasterStrike Remix (I will reffer to as MSR from now on). The challenge is that 4066N has only 4 channels (so 2x USB). Addition of 2 more channels and USB programmer has used up all available pins of ATMEGA88. And nobody wants a second USB port. Cost is also a factor! So the idea is this:
-
360 sync button (for wireless users) can be pulled low by ATMEGA88 Pin 1 (reset). Will this work? This is the only free pin left besides pin 10 (AREF)…
-
This eliminates the need for 360 USB connection (it was only used for sync purposes before on wireless, and Dualstrike / Cthulu have their own “IMP” switch)
-
ATMEGA88 usb lines can now take the place of 360 USB connection on the 4066N.
-
Default mode will be PS3 USB. With a certain button press combination, 4066N will switch to USB programming mode.
This will work for both wired and wireless users without needing an extra USB port. How?
Wired users:
-
External USB connection from Dualstrike/Cthulu would be routed to “PS3” USB connection on MSR
-
MSR will allow Dualstrike/Cthulu usb to be connected to external by default
-
When a certain button combination is pressed, MSR will switch 4066N to programming pins. So it doesnt really matter what dualstrike/Cthulu have switched to.
Wireless users:
-
Default mode is PS3 mode
-
When a certain button combination is pressed, MSR will switch 4066N for USB programming mode, exactly the same behavior as wired users. The only difference is that ATMEGA88 will be powered by 3.7v battery in this case, while USB has 5v. This is the purpose of the jumpers, to allow wireless users to separate +5v USB power from everything else.
-
when another button combination is pressed, ATMEGA88 pin 1 (reset) is pulled low. Since it is connected to controller sync, this will activate xbox wireless sync function.
What do you guys think? Anyone have a better idea?
here is the pinout and requirements for a standalone arduino