Start date: April 20/21
End date: May 10/11
Lab: Final Project
Project Page Final Project Page
Project Detailed Description Final Project Document
Project IdeasFinal Project Ideas
Status Not Started

ECE 383 - Final Project

The final project in this class will be the design and implementation of an engineering prototype to address some need. The idea is to utilize what you have learned this semester with the Nexys Video Board to interface with a new I/O device in a new and innovative way. The final projects in this class are to be completed individually. The following are examples of projects completed in past years.

Final Project Ideas

Ideas from Spring 2024

<
Student Title/Video Description
Dan Blackjack Game created a one-player Blackjack game with a scoreboard. This game uses microblaze with custom VHDL hardware inside the FPGA with Grid Memory, and outputs the game on VGA monitor. Also creates sound effects using DSS and uses the IR controller for game control.
Aiden Minesweeper Game created a one-player Minesweeper game with a scoreboard. This game uses microblaze with custom VHDL hardware inside the FPGA with Grid Memory, and outputs the game on VGA monitor. Also creates sound effects using DSS and uses the NES controller for game control.
Quinn Asteroids Game created a one-player Asteroid's game with a scoreboard. This game uses microblaze with custom VHDL hardware inside the FPGA with Grid Memory, and outputs the game on VGA monitor. Also creates sound effects using DSS and uses the NES controller for game control.
Jack HDMI Ambilight Reads in an HDMI video signal, does some simple image processing (like averaging and edge detection), and outputs the raw HDMI video to the monitor or the processed data. Also, controls the ambient light LEDs based on the averaging. Does not use microblaze, but rather all custom VHDL hardware inside the FPGA.
Gunner Space Invader's Game created a one-player Space Invader's game with a scoreboard. This game uses microblaze with custom VHDL hardware inside the FPGA using grid memory for graphics, and outputs the game on VGA monitor. Also creates sound effects using DSS and uses a Bluetooth interface to a bluetooth controller for game control.
Ameen FPGA-based Guitar Tuner Uses custom VHDL hardware to accept audio input, process the sound with DFT, and display the waveform to the VGA monitor for a guitar tuner.
Jimmy 2D Dodging Dash Game created a one-player Dodging Dash game with a scoreboard. This game uses microblaze with custom VHDL hardware inside the FPGA using grid-memory for graphics, and outputs the game on VGA monitor. Also creates sound effects using DSS and uses the NES controller for game control.
Park Flappy Bird Game created a one-player Flappy Bird game with a scoreboard. This game uses microblaze with custom VHDL hardware inside the FPGA using grid-memory for graphics, and outputs the game on VGA monitor. Also creates sound effects using DSS and uses the NES controller for game control.
Yury Super Bomberman Game created a one-player Super Bomberman game. This game uses microblaze with custom VHDL hardware inside the FPGA using grid-memory for graphics, and outputs the game on VGA monitor. Also creates sound effects using DSS and uses the NES controller for game control.
Stephen Checkers Game created a two-player Checkers game with a scoreboard. This game uses microblaze with custom VHDL hardware inside the FPGA using grid-memory for graphics, and outputs the game on VGA monitor. Also creates sound effects using DSS and uses the NES controller for game control.
Matthew Dino Game created a one-player Dino game with a scoreboard. This game uses microblaze with custom VHDL hardware inside the FPGA using grid-memory for graphics, and outputs the game on VGA monitor. Also creates sound effects using DSS.

Ideas from Spring 2023

<
Student Title/Video Description
Jabari Spectrum Analyzer with DFT Samples a live audio signal and displays (1) time domain plot (2) frequency domain plot of 12 frequencies (3) spectrogram (frequency versus time) on the VGA monitor. 1024 samples at 48 KHz are taken, then downcoverted to 64 samples at 1 KHz, and then the direct DFT is done for 12 frequencies corresponding to the fundamental frequency of 12 musical notes. The IR controller as the input controller, and is implemented in custom VHDL hardware (no microblaze).
Jabari Spectrum Analyzer with DFT .
Jabari Spectrum Analyzer with DFT .
Jabari Spectrum Analyzer with DFT .
Payton Tetris Game created a one-player Tetris game with a scoreboard. This game uses microblase with custom VHDL hardware inside the FPGA with Grid Memory, and outputs the game on VGA monitor. Also creates sound effects using DSS. Was planning on useing the NES controller, but ran out of time.
Payton Tetris Game .
Ryan Chess Game created a two-player Chess game. This game uses the NES controller as the input controller, and custom VHDL hardware inside the FPGA with Grid Memory and Random Number Generator, and outputs the game on VGA monitor. Also creates sound effects using DSS.
Marcus Pong Game created a one-player and two-player pong game, with audio effects using DSS. This game uses custom VHDL hardware inside the FPGA with sprites and outputs the game on VGA monitor. Attempted to add nunchunk controllers, but could not create the needed I2C bus
Luke Breakout Game created a one-player breakout game and outputs the game on VGA monitor. This game uses the NES controller as the input controller, and custom VHDL hardware inside the FPGA with Grid Memory for the bricks and sprites for the ball and paddle. Also creates realistic sound effects.
Keeley Music Player This music player's default mode is to play a song with the notes and duration stored in BRAM (Mary had a little lamb), and uses DSS to create the audio. It plots the note played (up to 8 notes) on a scale on the VGA monitor. It also has a 2nd mode where it plays a note manually selected by the user using an IR controller as the input controller. The system is implemented in custom VHDL hardware inside the FPGA with Grid Memory. An advanced mode was not implemented whereby the user could input notes via the IR controller into BRAM, and then plays back the song.

Ideas from Spring 2022

Student Title/Video Description
Nate Dino Game created a one-player Dino game, whereby a character runs and encounters obstacles to jump over and go under and upon hitting an obstacle the game will be over. This game uses the NES controller as the input controller, and custom VHDL hardware inside the FPGA with Grid Memory and Random Number Generator, and outputs the game on VGA monitor. Also creates sound effects using DSS.
Kevin Black Jack Game created a one-player "Black Jack" card game versus the computer, using the IR controller as the input controller, and custom VHDL hardware inside the FPGA and Random Number Generator, and outputs the game on VGA monitor. Also creates sound effects using DSS.
Kevin Black Jack Game
Kevin Black Jack Game
Kevin Black Jack Game
Pat Piano Game created a one-player game, displaying a piano keyboard on the VGA monitor and has a custom keyboard input device. The system displays notes on the screen that the user must hit in the proper sequence within a certain amount of time to get a good score. Proper frequencies are generated using DSS for each note and sent out the output speaker, and also can jump up or down octaves.
Ben Chroma Trigger Game created a one-player game, using a NES controller as the input controller, custom VHDL hardware inside the FPGA for game implementation and device control, and outputs the game on VGA monitor. Also creates sound effects using DSS.
Eva Dots and Boxes Game created a two-player game of "dots and boxes", with a grid of 6x6 boxes and displaying a two digit score for each player, using an IR controller as the input device, custom VHDL hardware on the FPGA board, and outputs to the VGA monitor and uses DSS to generate sound out the speaker
Jacob Checkers Game created a two-player Checkers game, using an NES controller as the input controller, custom VHDL hardware inside the FPGA, and outputs the game on VGA monitor. Also creates sound effects using DSS.
Homin Go Game created a two-player "Go" game with a 64x64 grid, using an IR controller, custom VHDL hardware on the FPGA with Grid Memory, and outputs the game on VGA monitor. Also creates sound effects.
Brandon Dance Dance Revolution Game created the Dance Dance Revolution music game, interface to a 3x3 input mat for the player to step on, and with graphics on the VGA monitor to indicate which square to step on next in the random sequence. Uses an IR controller for the player to control the game and speakes with sound created using DSS.
Brandon Dance Dance Revolution Game
Pete Wordle Game created a one-player Wordle game, using the IR controller as the input controller, custom VHDL hardware inside the FPGA for game implementation with random number generator, and outputs the game on VGA monitor. Also creates sound effects using DSS.
Alex Pokemon Tamagotchi Game created Tamagotichi, whereby the player must feed and care for their pet. Uses both the OLED display and VGA monitor display, with custom VHDL hardware, and outputs sound to the speakers using DSS.

Ideas from Spring 2021

Student Title/Video Description
Calen Frogger Game Frogger Game with excellect graphics. Uses Grid memory and a custom controller. 3D printed covers for the FPGA board and game controller. Also creates sound effects using DSS, keeps score, and tracks lives.
Matt Audio Effects Audio Effects: produces audio tones for 13 keyboard notes; used IR controller to play a song; Display shows keyboard, highlighting keys with each note
Sean Tetris Tetris game with excellent graphics. Uses Grid memory and Microblaze.
Casey Music Player Produces audio tones from 3 DSS sources (sine, triangle, square wave) and uses IR controller to select tones, and BRAM contains one fixed song for playback. Uses an IR controller as the input controller
Maddy Minesweeper Minesweeper: partially integrated
Ashley Rainbow Maker video game Rainbow Maker video game, with sound effects via DSS.
Luke Soduku Soduku with Graphics memory. Not fully integrated
Zach Strength and Diversity Mini-Game Strength and Diversity Mini-Game: uses Analog-to-Digital converter to sense a muscele sensor and display a strength bar which grows in magnitude with more strength. An audio signal is also produces that sweeps to higher frequency as the amplitude is increased. An IR controller is used to select modes
Anthony sport scoreboard Emulated the "All Sports" sport scoreboard (with one FPGA) and scoreboard controller (with another FPGA), and created a custom UART-like serial interface between the FPGA boards using the GPIO pins. Uses Microblaze and Grid memory
Jelani Snake Game Snake game, not sucessfully integrated.
Ryan Security System Emulated a security system, with the ability for the user to enable and disable the alarm with a security code (using the FPGA buttons/switches), senses a sensor opening a door, sends an IR signal to trigger a camera with an IR sensor to take a picture of the interuder, then flashes an alarm message on the monitor and signals an audio alarm.

Ideas from Spring 2020

Student Title/Video Description
Ryan Paper.io Game created a two-player game, using the NES controller and/or keyboard (through UART) as input controllers, microblaze soft-core processor and custom VHDL hardware inside the FPGA, and outputs the game on VGA monitor. Also creates sound effects using DSS.
Ryan Paper.io Game
Jared Frogger Game created a one-player game, using a NES controller, FPGA buttons, and custom VHDL hardware inside the FPGA, and outputs the game on VGA monitor. Also creates sound effects using DSS, keeps score, and tracks lives.
Ben Chroma Trigger Game created a one-player game, using a NES controller as the input controller, custom VHDL hardware inside the FPGA for game implementation and device control, and outputs the game on VGA monitor. Also creates sound effects using DSS.
Ben Chroma Trigger Game
Peter Flappy Bird Game created a one-player game, using an IR controller as the input controller, custom VHDL hardware inside the FPGA for game implementation and device control, and outputs the game on VGA monitor. Also creates sound effects using DSS.
Jon Space Force Game created a one-player game, using a NES controller, FPGA buttons, and/or keyboard (through UART) as input controllers, microblaze soft-core processor and custom VHDL hardware inside the FPGA, and outputs the game on VGA monitor and score to seven_seg display. Also creates sound effects.
Brooke Audio Looper channel audio looper with audio effects, OLED display and IR controller.
Jelani Snake Game created a one-player game, using the UART keyboard as the input controller, Microblaze C-code plus custom VHDL hardware inside the FPGA for game implementation and device control, and outputs the game on VGA monitor. Also creates sound effects using DSS.
Jelani Snake Game
Will Audio Looper 4-channel audio looper, using MIG7 DDR memory and displays the 4 audio waveforms visually on the monitor

Ideas from Spring 2019

Student Title Description
1 Pong Game classic pong game using Nunchuk input device, microblaze soft-core processor and custom VHDL hardware inside the FPGA, VGA-based monitor, and sound effects
2 Robot Arm Control Using SNES controllers for input device and microblaze soft-core processor and custom VHDL hardware inside the FPGA to control the lynxmotion robot arms, with sound effects
3 Guitar Preamp and Effects Processor Uses IR remote controllers to specify audio effects (such as distortion, Tremolo, Echo/Chorus, Bit crusher, etc), the FPGA recieves an audio signal from the guitar, processes the effects using custom VHDL hardware (State machine controlling a datapath), and outputs the audio stream, and displays a time domain plot of the original and modified signal on VGA monitor
4 Strategy Game created a two-player strategy game, using the NES controller and/or keyboard (through UART) as input controllers, microblaze soft-core processor and custom VHDL hardware inside the FPGA, and outputs the game on VGA monitor
5 2-player Tetris classic tetris game using NES input device for one player and FPGA buttons for other player, microblaze soft-core processor and custom VHDL hardware inside the FPGA, VGA-based monitor, and sound effects
6a Shooting Game Interfaced a PS2 mouse with the FPGA to be used as the "gun", plays the game using custom VHDL hardware (State machine controlling a datapath), and outputs the video of the moving targets on VGA monitor
6b Shooting Game
7 Aircraft Gas Detection & Alert System Interfaced a gas detection sensor through an ADC to the FPGA and an NES controller (for a sequence controller to "unlock" the system), with custom VHDL hardware (State machine controlling a datapath), and outputs a audio siren sound effect as an alarm
8 Breakout Video Game classic breakout video game using NES input device, microblaze soft-core processor and custom VHDL hardware inside the FPGA, VGA-based monitor, and sound effects
9 Camera Video Processing System Accepts Go-Pro High-def or thermal camera signals through HDMI port, and does several real-time image processing functions using custom VHDL hardware (State machine controlling a datapath), and outputs a high-def HDMI video on the monitor

Ideas from Spring 2018

Student Title Description
1a Karaoke Voice Stripper This project take an audio input of a song, and using the voice stripping technique to remove the lead singers voice, making a simple Karaoke machine. It also takes and FFT of the signal, and displays frequency bars
1b Karaoke Voice Stripper Karaoke with a special guest singer
2 Robotic Arm The purpose of this project is to have an SNES gaming controller control the movements of a robotic arm. To accomplish this, I used Nexsys Video Artix-7 development board to assist. The FPGA was split up into hardware and softcore logic in the form of custom hardware and a microcontroller.
3 Asteroid Video Game This project creates the Asteroid video game on the FPGA, using the SNES controller and keyboard for inputs and microblaze.
4 Minesweeper Video Game The purpose of this project is to play the minesweeper video game with the NES controller as the input device.
5 NES Zapper Gun The purpose of this project is to interface the NES zapper gun with the FPGA board and make a simple target shooting video game
6 Rokenbok RC control system The purpose of this project is to interface the FPGA board with the Rokenbok RC control system, which can then control up to 8 RC vehicles
7 Pong Video Game The purpose of this project is to make the Pong video game with simulated seven-segment displays on the monitor for tracking the score and IR remote controller for the input device
8 Snake Game with NES Controller This project involves programming the Snake Game on the FPGA. The Monitor will be the game display and the NES Controller will be the user interface. Addition features such as sound, 2-player mode, and scoreboard will be added.

Ideas from Spring 2017

Student Title Description
1 Digital Door Lock Security and Exploitation This project models the threat of circumventing and exploiting digital access control systems to gain unauthorized entry into physical assets. By understanding how digital locking systems may be compromised, the integrity of Air Force digital locking solutions can be strengthened.
2 Tron Light Cycles A strategy arcade game where the object is to trap the other player in your light trail without getting caught in your own. Players are controlled by the WASD and IJKL keys of the laptop keyboard.
3 EOD robot Creating a simple EOD robot using off the shelf parts to allow for low cost and expendable use in the field. This project takes input from an Xbox One S controller via Bluetooth and uses that command input to control a deconstructed remote control car chassis.
4 GalagaNC This project will incorporate the Nintendo Wii Nun Chuck Controller to improve hand-eye coordination of fellow Airmen and allow them to practice using non-familiar devices in order to promote adaptation to new devices for mission success. The game Galaga will be controlled using the Wii Nun Chuck and will allow Airmen to have fun and learn at the same time.
5 Space Survival The Project simulation will allow the Air Force to cheaply and effectively train Space Shuttle Door Gunners by using an Xbox controller to wirelessly interface with a simulated combat environment being displayed to the screen.
6 Snake Game with NES Controller This project allows a player to play the classic game ‘Snake’ on the FPGA Nexys Video with a NES controller.
7 The Music Machine This device uses a PS2 keyboard and sinewave data loaded into the microBlaze softcore processor to enable the user to play various sounds/tones based upon the keyboard button pressed.
8 Asteroids This project allows for cheap and practical training of future Air Force Astronauts. This simulation use s an Xbox controller to train pilots to blast incoming asteroids much like the ones they are guaranteed to experience during space travel.
9 FPGA Pong with IR Remote An incredibly simple yet intelligent design to implement the incredibly simple yet intelligent game of Pong on an FPGA. Airmen will develop their reaction time as they slide their way to defeat each other and a computerized AI in a game of Pong using standard IR remotes.
10 Digital Cornhole – A Computerized Version of an Outdoor Classic This project implements the game of Cornhole using a Wii Nunchuck to control the toss of the bags.
11 Pong! Recreating the classic Pong game with some additional features such as multiple balls, changing game physics and more. Using a PS2 Keyboard for the user inputs.
12 Lu Light Cycle Based off of the Tron Light Cycles arcade game, player 1 will use a NES controller with player 2 use the WASD keys on the keyboard to controller each player with the objective being to trap the other in their light trail.
13 Snake Game with NES Controller This project involves programming the Snake Game on the FPGA. The Monitor will be the game display and the NES Controller will be the user interface. Addition features such as sound, 2-player mode, and scoreboard will be added.

Ideas from Spring 2016

Student Title Description
1 X-Box Checkers An innovative and novel system for improving the critical thinking skills and hand eye coordination of our Airmen. More and more the Air Force is gearing towards remotely controlled systems, and we have developed a way to train our Airmen to do that, while also making it enjoyable.
2 USB Keylogger This project uses an FPGA as a ‘man in the middle’ to intercept the signals of a USB keyboard connected to a computer. The FPGA then displays the intercepted characters onto a screen so the keypresses of the user can be viewed and analyzed.
3 The Maze Game with SNES Controller This project implements a Maze Game using a SNES controller as the user input.
4 The Head Motion Tracker The Head Motion Tracker is meant to use scaling head position inputs to impact the motion of a wheelchair or other vehicle. This will be completed with vhdl and c code on the Spartan-6 FPGA.
5 Connect Four with Keypad This project recreates the classic game of “Connect Four” as video game using a keypad interface for the user control.
6 Tic-Tac-Toe with a Wii Nunchuck This project will be used to play a Tic Tac Toe game on a monitor controlled by a Wii Nunchuck.
7 The Game of Space Invaders with SNES Controller and with Keyboard This project is implements the game of Space Invaders arcade game using a SNES controller for user input.
8 Snake: The Game with NES Controller This project implements a 2D Snake video game using SNES Controller an input for the user.
9 Light Cycles 2-axis Controller This project provides a capability for interfaces in RPA systems to be prototyped and built using cheap, proven, off-the-shelf components and will allow the Air Force to rapidly develop cost-effective replacements for aging interface and control systems.
10 Etch-A-Sketch with NES Controller The program draws lines to a monitor. It can be used to display a path a robot will take for EOD purposes.
11 Solar Striker with NES Controller This is a project to cheaply simulate space combat in the event of an alien space invasion using a Field Programmable Gate Array, an NES controller and an HDMI display.
12 Multi-Player Pong Game with NES Controller This project created a multiplayer variation of the Pong game which uses a Nintendo Entertainment System controller and the laptop keyboard as inputs.
13 The Modified FM Radio Transmitter This project is designed to improve radio communication. The device allows the user the capability to filter certain sounds out of transmission so the person who is receiving will have a better signal.

Ideas from Spring 2015

Student Title Description
1 Trigger Race A two person interactive game that improves the speed of the trigger finger using NES Zappers.
2 Multifunction Oscilloscope A Multifunction Oscilloscope that enables XY mode and FFT Mode in addition to the stantard Time Mode.
3 Data Transfer over FM Radio Use FM radio frequency to transmit information over an analog transmission medium.
4 RSA Cryptography in Hardware Encrypt and decrypt message being transmitted over UART connection.
5 Digital Modem Modem designed to use amplitude shift keying and frequency shift keying schemes.
6 Pong Created a two person Pong game
7 Matrix Reducer FPGA optimized matrix inversion algorithm
8 Bob the Security Robot Sentinal Robot operations using an RC Car chassis (IR Sensors, Siren, and Motor Control) controlled by an FPGA.
9 Karaoke Machine VHDL implemented Digital Filter to strip vocals from input music and output modified song to speakers.
10 Project MC Sparta Create two way Morse Code Communication System that translates text to morse code before transmission.
11 Connect Four Connect Four Game for 2 players using remotes or buttons on the Atlys board to move and drop pieces.
12 Snake Game Snake video arcade game using a Super Nintendo controller to FPGA.
13 Interface with Spartan 6 from a Bluetooth Device Using Bluetooth keyboard to interface with Spartan 6 FPGA using the PmodBT2 Module
14 HDMI Real Time Image Manipulation Real time manipulation of an incoming HDMI image, outputted to an external monitor.

Other Ideas from Related Courses

Project Ideas from Dr Coulston's CMPEN 352 Class @ Penn State (idea links might be dead)CMPEN352
Project Ideas from Dr Coulston's CENBD 452 Class @ Penn State (might not be able to find ideas)CENBD452