Senior Design Spotlight: Team NES 2.0
An important part of senior year for Purdue ECE students is senior design. Teams incorporate all of their previous coursework to take on a challenging engineering project. Students decide on a project and then design and test a system, component, or process to meet the goals they have set. And despite having to work remotely for several weeks after campus was closed due to COVID-19, students still managed to complete impressive projects.
Team NES 2.0 included students Nicholas Ebert, Courtney Huddleston, Christopher Jovanovic, and Dayne Michael. They designed and built the NES 2.0, a recreation of the Nintendo Entertainment System game console released in 1985. The project consists of an ESP32 microcontroller running an NES emulator developed by Espressif. Players use a real NES controller to play classic games like Super Mario Bros. and Mike Tyson Punch-Out with audio from the original games amplified on a speaker. A VGA monitor is used for the video output, and users can load a whole library of NES games onto an SD card that is read by the microcontroller.
Courtney Huddleston says the senior design process taught her the importance of seeing things to completion and not giving up in the face of disappointment.
“There is nothing as exciting as working hard all semester on a huge project and plugging it in one day to have it finally work,” she says. “Putting together our engineering knowledge from the last four years to create a project that is a lot of fun to use and has a lot of recognizability was an incredibly fulfilling experience. Overcoming the challenges of working remotely in the second half of the semester without lab access was difficult, but my team was passionate enough about this project that we were able to push through.”
Huddleston says the biggest challenge the team faced was getting the video output to work on a stand-alone VGA monitor instead of an SPI display. She says it took hours of debugging and modifying the design to get the NES games to appear with the correct colors and frame rate on the VGA monitor because the inherently large memory requirements of video pushed the memory requirements of the ESP32 to its limits.