Tuesday, January 10, 2012

Fully Adjustable Xbox 360 Rapid Fire Mod Using a Attiny85 - Arduino


NOTES: I do not condone the use of rapid fire mods on online games, it gives a unfair advantage and is cheating. No one likes being cheated. You will use one of the dual shock spaces for the circuit. This only has been tested with a old model wireless controller (Matrix). I'm sure it would work with the new CG ones, but some settings would have to be changed and configured. I started this mod with a CG then had to switch to a matrix so I will upload what I had done so far with the CG. Also the CG will need a different way to get power, like a transistor.


If someone wants to give me a CG controller then I will make a how-to for the CGs too. Comment below if you're interested. Oh, and you might want to send me a new camera too :/ sorry about the blurriness everyone.


To decide if your controller is a CG or Matrix, click here and compare.


My fully adjustable xbox 360 rapid fire mod


It works on Halo Reach, and BF3 for sure, but I can guess that it all works on MW1-3 as well








Ok this mod is pretty easy to do and use. The on/off switch on the left is rapid fire, and regular fire right. To use rapid fire turn the knob all the way left and flip the switch left then pull the trigger. If you want to slow it down, slowly turn the knob clockwise until it's where you want it. To use regular fire, flip the switch right, and turn the knob all the way to the right, then pull the trigger.

Note: The turning and switching directions may change depending on how you install the switch and potentiometer.

If the LED doesn't light up then that means the power from the controller isn't getting to the LED-which would sometimes mean that it isn't getting to the attiny85 (It's also possiable for the LED not to work and the chip to be fine too).

Items Needed:


Arduino or clone







 a way to program it.







Attiny85








Some wire











A 10uf capacitor









14.8k resistor










Panel Mount 3 Pins Vertical Slide Switch





A Potentiometer (any should work but mine was a 9K)








A cheap LED that will light at 2 volts







A breadboard










A little piece of protoboard








A Chip Socket










First Step:

Go to this site and setup your arduino for isp, your arduino software to the correct chip, and your breadboard  so you can program the attiny85 with your arduino. All instructions are on that site and must be completed unless you know how to program the attiny85 a different way.

Now upload this sketch to your attiny85 if you have the old matrix type controller.


const int knobPin = 3;
const int triggerPin = 2; 
const int outPin = 0;      
const int tranPin = 1;  


int knobValue = 0;
int triggerValue = 0; 


void setup() {
  pinMode(outPin, OUTPUT);  
  pinMode(tranPin, OUTPUT);
}


void loop() {
  
  triggerValue = analogRead(triggerPin); 
    
  if (triggerValue < 465) {
    
    knobValue = analogRead(knobPin); 
    
    if(knobValue > 970) {
      analogWrite(tranPin, triggerValue * 0.30);
    }  


    else {
      
      analogWrite(outPin, 0); 
      delay(40);
      analogWrite(outPin, 255); 
    
      triggerValue = analogRead(triggerPin); 
        if (triggerValue < 1) {
           knobValue = 0; 
        }
        delay(knobValue/5); 
        
        triggerValue = analogRead(triggerPin); 
        if (triggerValue < 1) {
           knobValue = 0; 
        }
        delay(knobValue/5); 
        
        triggerValue = analogRead(triggerPin); 
        if (triggerValue < 1) {
           knobValue = 0; 
        }
        delay(knobValue/5); 
        
        triggerValue = analogRead(triggerPin); 
        if (triggerValue < 1) {
           knobValue = 0; 
        }
        delay(knobValue/5); 
      
        triggerValue = analogRead(triggerPin); 
        if (triggerValue < 1) {
           knobValue = 0; 
        }
        delay(knobValue/5); 
    }
  }

  else {
    analogWrite(outPin, 255);
    analogWrite(tranPin, 165);
  }

}



If you have the CG you can try this one, but I don't know if it will work. You may have to change some stuff.


const int knobPin = 3;
const int triggerPin = 2; 
const int outPin = 0;      
const int tranPin = 1;  


int knobValue = 0;
int triggerValue = 0; 


void setup() {
  pinMode(outPin, OUTPUT);  
  pinMode(tranPin, OUTPUT);
}


void loop() {
  
  triggerValue = analogRead(triggerPin); 
    
  if (triggerValue > 160) {
    
    knobValue = analogRead(knobPin); 
    
    if(knobValue > 970) {
      analogWrite(tranPin, triggerValue * 0.2546);
    }  


    else {
      
      analogWrite(outPin, 255);  
      delay(40);  
      analogWrite(outPin, 0); 
    
      triggerValue = analogRead(triggerPin); 
        if (triggerValue < 1) {
           knobValue = 0; 
        }
        delay(knobValue/5); 
        
        triggerValue = analogRead(triggerPin); 
        if (triggerValue < 1) {
           knobValue = 0; 
        }
        delay(knobValue/5); 
        
        triggerValue = analogRead(triggerPin); 
        if (triggerValue < 1) {
           knobValue = 0; 
        }
        delay(knobValue/5); 
        
        triggerValue = analogRead(triggerPin); 
        if (triggerValue < 1) {
           knobValue = 0; 
        }
        delay(knobValue/5); 
      
        triggerValue = analogRead(triggerPin); 
        if (triggerValue < 1) {
           knobValue = 0; 
        }
        delay(knobValue/5); 
    }
  }
  
  else {
    analogWrite(outPin, 255);
    analogWrite(tranPin, 36);
  }
  
}

Second Step:

Solder 4 wires-one in each of these places:

This is your power auto on pin.

This is your ground or GND.

Now I will have to explain this one to you. You must desolder the three trigger pins shown in the picture below and remove the trigger assembly. Then shorten and bend the middle pin to the outside of the controller and solder a wire to it. Run the wire through the hole displayed below. Then solder the trigger assembly back in, ignoring the middle pin. Then solder a wire to the middle pin pad on the circuit board.

This is your trigger out pin. The wire coming threw the hole is your trigger in pin.

If for what ever reason you rip the pads off the board, then follow the traces till you find a place you think you can solder. I ripped the pwr off my trigger (bottom pin pad) so I had to wire the other sides trigger pwr to this sides.






Third Step:


Now this is where we test everything. So build this circuit on your breadboard and wire the controller into it. 






It should work as described before. If so, continue. Otherwise, check all your connections and components.







Fourth Step:

Now cut your holes in the face shell. 



Fifth Step:

Wire your switch  Potentiometer and LED to some long wire and mount them in the shell. Then b

uild the circuit on a piece of protoboard and cut off the extra and solder it all together..




Sixth Step:






Tape the wires down, wrap the circuit and extra wires up in tape.



Seventh Step:
Put it together, test it. You're done, enjoy. ;)














NEW MOD COMING SOON-ALL PRO GAMERS WILL HAVE TO HAVE IT! IT IS A COMPLETELY NEW IDEA, NEVER SEEN BEFORE. STAY TUNED. 
-SHAWN ;)

No comments:

Post a Comment