Solenoid Rapidly Presses XBox 360 Controller Button

Picture of Solenoid Rapidly Presses XBox 360 Controller Button
We have a lot of unspent BadAss tokens in Borderlands 2. To spend each token, we have to press the "A" button twice - once to select the token and again to allocate the token to a particular buff. SPAMming the "A" button for several hours is boring and fatigueing. A method of pressing the button repeatedly and rapidly for an extended period of time was desired.

We have a similar problem in many other games. For us, this is not a one-time occurence.

There are two videos included with this instructable. A video demonstrating the assembly of the ciruit and a video demonstrating the intended use.

There are more ways to achieve our goal than just this method. Alternative methods will show up as future instructables. I just have some video editing and text drafting to do, first. So, for now, enjoy!
Remove these adsRemove these ads by Signing Up

Step 1: Safety Concerns.

Tools can hurt you. Altering the intended operation of a manufactured device almost always voids your warranty. This voids your warranty. Don't eat batterys because they have no nutrition. You are responsible for anything that happens, if you proceed to make one of these.

Step 2: You may need ... So lookie here and go get you some.

Some of the following items are left for you to determine the appropriate manner of use. It is assumed you understand how to power your game controller and other mundane requirements necessitated by our modification.

XBox 360 Controller with Batteries or Change and Play cable
Texas Instruments MSP430 LaunchPad or other microcontroller
M430G2553 for the LaunchPad or other microcontroller as appropriate
Breadboard Jumper Wires
2.2k Ohm Resistor
Breadboard Power Supply (Dual Rail 3.3v and 5v DC)
Battery Pack or Wall Wart or Other Power Supply (12v DC)
DC Jack
Plumbers' Tape
Alligator Clips (3)
Small Regular Head Screw Driver
Duct Tape
Rubber Band or Elastic
Blue Painters' Tape
1N4007 Diode
Tacky Glue
Popsicle Stick
A Television
An XBox 360
.32 caliber firearm
Video of how to assemble the circuit
A Few Minutes Of You Life That You Don't Have Anything Better To Do With

Step 3: Video instructions for assembling the circuit.

I need one of these, dang
vicvelcro (author)  PossibleFire1 year ago
There are several ways to do this. The solenoid demonstration was an exercise is 'quick and dirty'. A timer circuit can be used to pulse the electronics inside the controller, instead of button-mashing with coils.

I'm in the process (9 months in my spare time, a few minutes here and there) of making a complete 'breakout' direct from the circuit board of an XBox 360 wireless controller into a microcontroller. If you want to automate yours farther than just one button, that would be the direction to go.
Fredhack1 year ago
Can you tell where you got your solenoid and what are it's specs?
vicvelcro (author)  Fredhack1 year ago
I got my solenoid via mail order through Jameco.

The specs:
12VDC Stroke Push Solenoid

Coil Resistance: 45Ω
Power Consumption: 7.3W
Stroke: 0.125 inches
Size: 1.0" length x 0.5" diameter
Shaft Diameter: 0.060"
Weight: 0.1 lbs.
crjeea2 years ago
Just a thought but if you solder a capacitor across the solinoid and ten use the soilinoids pin as a switch to that it forms a buzzer. The speed would be limited down by the capacitor. If you want it to be adjustable just add a variable resistor. To the power supply. And so you could do away with the micro controller. (:
vicvelcro (author)  crjeea2 years ago
Indeed. Another method could be to use a 555 timer, instead of the microcontroller.
That would be a nice way to do this (:
555's are so useful at times. you could forgo the solenoid and fit one inside the controller with an extra switch for rapid fire and a set of rotary variable resistors to select the speed and pulse width. That would make for a nice neat build.
or just use a 555 and a transistor to accomplish the same thing inside the controller, like every turbo controller ever made
crjeea2 years ago
Maybe add an ldr and a colour filter to the screen with a blob of bluetac to decide when to stop pressing. Then you wouldn't have to stand and wait either (:
vicvelcro (author)  crjeea2 years ago
I had not thought of that. I have been thinking of other ways to do the same thing, but I like your suggestion.

Thanks for the input.
Thanks (:
Any time (:
its also possible to accomplish this using an npn switching tansistor and a timer, but space is limited in the controller and is very tricky to do so. great share!
vicvelcro (author)  out-of-the-box2 years ago
Thanks. Glad you liked it.

I'll have a couple more variations of this up in the future. Right now, I'm working on some custom conductive materials and trying to correct the variations in the autofocus of my video camera...

After spending our points using the quick and dirty solenoid version (we were in a hurry to spend those points and decided to redneck it for this go-round), I whipped together a few solid-state methods of spending points in the future (which is certain to happen with other games).
that is awesome haha