Tag Archives: Eduardo Zola

PS3 controller hack lets you release combo moves with just one button

“Finish him” with just a press of a button. 

When it comes to action-packed fighting games like Mortal Kombat, a series of moves are required to do battle, or successfully at least. It doesn’t just stop at kicks and punches either; in fact, an experienced gamer knows that in order to hear the infamous words “finish him/her,” combinations of these commands are necessary. These combo moves require a player to press the proper buttons at the right time and in the correct order. Maker Eduardo Zola realized that there had to be an easier way to just release a super combo against an opponent with a single button. And, he did just that.


In a project he calls Mortal Kombat Macro Keys, or MK MK for short, the Maker decided to modify his dual-shock PlayStation 3 controller to simulate the buttons being pressed for him. This, of course, allows him to forgo countless hours of memorizing tricks, and continue take down his opponents in a more efficient and expedited manner.

“It is not something that you should always use, but sometimes worth to de-stress. Especially when you are not a great player,” he notes.


Zola was able to accomplish this impressive feat by tearing down his game controller, and utilizing an Arduino Uno to power the project. (The Maker does reveal that a standalone ATmega328 can be used as well.) Upon dissecting the PS3 accessory, the Maker found a pair of circuit boards connected by a ribbon cable with each individual pad for this cable appropriately labeled with a corresponding controller button. As you can imagine, this made it relatively easy to then hack the controller. The Maker went on to solder the various colored wires to these pads.


“Each wire is then broken out on the breadboard. The signal from each button is run through a 4n25 optoisolator. From there the signal makes its way back to various Arduino pins. The 4n25 chips keeps the controller circuit isolated from the Arduino’s electrical circuit,” Hackaday’s Rick Osgood explains.


A pair of push buttons, which are mounted to the controller, are connected to the Arduino. The ATmega328 based board senses each time a button is pushed and simulates the pressing of various controller buttons in a pre-programmed order. Zola mentions that more buttons can be added, however it will require additional wires and and optcouplers. While the mod appears to be catered to Mortal Kombat play, the controller can actually be used for a wide-range of games.

Looking to mod your controller? Head on over to the Maker’s official page for a step-by-step breakdown of the build. Meanwhile, for you Destiny fans out, you’ll also appreciate this recent auto-leveling hack as well.

Playing retro Tetris with Atmel and Adafruit

Eduardo Zola has created a retro Tetris game using Adafruit’s Neopixel Matrix (8×8, x2) paired with an Atmel-based Arduino Pro (ATmega328 MCU).

“The first thing I needed was an RGB display, push buttons or a small joystick and an enclosure. After some research, I found the Adafruit Neopixel Matrix 8×8, which is very easy to apply because it uses a just a single wire interface and simple handy library,” Zola explained in a recent YouTube post.

“So, I used two, which gave me a display of 16 rows and 8 columns of RGB LED (or pixels). For power, I used a LI battery of 3.7V 4400mAh. It was really necessary to put a capacitor (1000 µF, 6.3V or higher) across the positive and negative terminals of neopixel matrix.”

The next step? Determining how to control each Tetris “piece” in the game.

“Moves like left, right, down, fall and rotate – this could be done with five push-buttons – or just one small component [with a] 5-way navigation switch. For the enclosure I used an old plastic box, but any kind of box [will do],” Zola continued.

“After that, I added some sound effects [with] a small speaker 8 Ohm, [as well as] a vibrating motor, which is turned on for each completed line in the game. I also [included] a bar LED display to show the actual level of the game and another one to [display countdown info for the next level].”

On the software side, Zola employed a variation of Valentin Ivanov’s Tetris algorithm with a number of logic modifications to solve a specific memory allocation issue.

“You can create your own version, and add extras features like background music, or an alpha-numeric segment display to show the next coming piece in the game,” Zola concluded.

Interested in learning more? You can check out Zola’s lab page here.