PORTFOLIO > FPGA AI for Super Mario Bros.

Categories , ,
When? March 2013 - May 2013
Cyclone II FPGA
Mario gets a Brain Upgrade.

Cramming a Cyclone II FPGA … into Mario’s Brain

Jason Wright, Sima Mitra, and I built an FPGA-based (Field Programmable-Gate Array) AI that uses video input from an NES console to automatically play the game Super Mario Bros. All of the video analysis and AI techniques are performed using Verilog-compiled hardware running on an Altera DE2 Cyclone board. The project combines NTSC decoding, VGA output, kernel-based pattern matching, real-time image manipulation, and NES controller emulation. We launched a website that explains the working of the system in extreme detail.  Visit the website to get all the nitty-gritty technical details.

Video of our FPGA AI in Action

This video shows the AI beating World 1-1 of Super Mario Bros. without breaking a sweat:

Supporting Documentation, Schematics, and Code

The Nintendo Ninja Super Mario FPGA AI is released as entirely open source hardware and software.   All materials are distributed under the GNU General Public (Open-Source) License.  Please Attribute and Share-Alike.  All files are hosted on GitHub.


GNU GPL LicenseOpen Source HardwareGet it on GitHub


Nintendo Ninja in the News

Blog Posts about the Nintendo Ninja