User Tools

Site Tools


arcade:universal_autofire

Universal Autofire

This project is the result of a specific need: autofire for any arcade cab or joystick where 5 Volts is available, and buttons are connected to ground when active. Which is most joysticks and console controllers.

This is not a complicated circuit, nor is it particularly creative or innovative. But when I wanted to build something that simply made button ground available or not, I couldn't find anything. Hence, this.

Theory

This circuit uses two primary components: a 555 timer chip and a transistor.

The 555 chip is a timer. It outputs an alternating logical high and low signal at a specific interval, but since the high output isn't required a transistor is used to connect the buttons to ground when the 555's output is high and effectively disconnect when the output is low.

Put another way: the 555 sends a signal and the transistor throws a switch.

The Circuit

Universal Autofire Circuit

Parts List:

  • 555 IC
  • 100Ω resistor
  • 1000Ω resistor
  • 22µF capacitor
  • 2N2222 transistor (any NPN transistor will do)

Modifications

LED Indicator

The LED and resistor are optional, but if you want a flashing indicator of the current speed, this is how you set it up. The LED draws its power through the resistor, and connects to ground when the transistor flicks the switch.

Different Speeds

The circuit was designed to be easily adjusted. You can change the speeds by swapping in different capacitors or resistors. As shown above it creates a 31Hz autofire. By swapping out the resistors or capacitors for different values different speeds can be achieved: 31, 20, 15 or 10Hz respectively. More or less, they're not exactly these speeds but they're very close.

The different values and speeds are:

Resistor Change Capacitor Change
Speed R2 C1 Speed R2 C1
31Hz 680Ω 33µF 31Hz 1kΩ 22µF
21Hz 1k 33µF 21Hz 1kΩ 33µF
14Hz 1.5k 33µF 15Hz 1kΩ 47µF
10Hz 2.2k 33µF 10Hz 1kΩ 68µF
Note: Change the capacitor or resistor.

You may replace the part, or put several into the circuit and select the active one with a switch. If you use a variable resistor for R2 you can dial in all the intermediate speeds as desired.

A dual 555 chip (or multiple 555s) could be used to provide several different ground points for different speeds on different buttons.

If desired, a circuit could be made where all four of these capacitors are included and a switch chooses between them. Or a dual 555 chip can be used to create two different speeds for different buttons, etc.


Credits

This design is released by NFG as CC Zero. It's public domain, free, do what you want with it. Credit NFG, and/or link to this page if you want, it's not required.

To generate the values for this circuit the rather excellent 555 Timer Calculator was used.

There is a great explainer about the 555 chip on eleccircuit.com.

The image of a transistor was yanked from the On Semiconductor PDF for the part.

arcade/universal_autofire.txt · Last modified: by NFG