Start date: April 7
End date: April 26
Lab: Final Project
Status: Complete
Project Page Final Project Page
Project Detailed Description Final Project Document
Project IdeasFinal Project Ideas

CSCE 436 - 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 2023

Student/Group Title Description
1 Battleship with NES Controller This project uses an NES controller to implement the classic game of Battleship to aid a user to hone their strategic skills against an opponent.
2 Space Invaders in VHDL This project re-creates the the game Space Invaders in VHDL to interact with an FPGA board and be controlled by a PS2 keyboard.
3 Simon Says on an FPGA This project developed a color memory game like Simon Says on an FPGA to improve the cognitive abilities of attention and concentration. The system takes user inputs from a controlled by a PS2 keyboard.
4 The AES Encryption Messaging System This project built an FPGA based AES Encryption Messaging System using a PS2 keyboard input and the OLED text display as an output. The system allows data privacy using a high speed hardware encrypted messaging system for secure communication between two users.
5 Conway's Game of Life This project implements Conway's Game of Life simulation on and FPGA and interfaces with the user inputs with a PS2 Keyboard and outputs to the video display.
6 Fingerprint Scanner This project created a fingerprint minutiae extraction process on an FPGA for identity verification using a GT-521F32 imaging sensor. Biometric scans, particulaly fingerprints, are one of the most effective ways to verify a person's identity.
7 High Speed Thrust Vector Control This project created a system to track positional and directional data in order to create a prototype flight computer for aerospace devices. The system used data inputs from an IMU to output thrust data to two servos to steer a rocket and output IMU data to the display.
8 HDMI Capture over USB This project aims to serve as an open-source platform for HDMI signal capture which can be built upon for signal modification, injection, etc. System captured HDMI input and streamed it out of the FPGA over USB.
9 Space Invaders using PS2 Keyboard This project implements Space Invaders on the FPGA with user inputs from a PS2 Keyboard.
10 Weeekly3006: Build a computer from scratch This project designed and built a new a new soft CISC microprocessor called Weeekly3006 on a Nexys Video FPGA to implement a new computer called Monday. Design included a new ISA and Assembler and interface with many of the I/O devices on the FPGA.
11 Implementation of FFT on FPGA This project implements a Fast Fourier Transform for analyzing audio signals in the frequency domain on an FPGA.
12 Edge Detection on an HDMI Input This project implements HDMI input edge detection for efficient image processing using the Laplacian of Gaussian algorithm.

Final Project Ideas

Ideas from Spring 2022

Student/Group Title Description
1 Bluetooth UART Wordle In this project the player will use a cellphone with a serial Bluetooth app to send UART signals through a HC-05 Bluetooth module that will be connected to the FPGA board. The player will guess a 5-letter word in the English language by typing in a 5-letter guess. Implementing a rudimentary version of Wordle.
2 GPS Augmentation for High Precision This project demonstrates simply building GPS capabilities into a smart home hub device to allow for accurate positioning of the user within a room of their home.
3 NESS13 - A low cost, versatile robot This project creates a low cost two wheeled robot that can be remotely controlled by an NES Controller installed on the Nexys Video FPGA and connected to the robot through a WiFi interface using an ESP 32 Wireless communication module.
4 Keyboard Teleoperations for UAS Control This project will interface a PS/3Keyboard with the Nexys Video FPGA to interpret incoming key commands to move a UAS visualization on the HDMI output as well as sending the commands to a UAS via a Raspberry Pi and RFD 900 telemetry radio.
5 Connect Four with IR Remote This project recreates the classic game of "Connect Four" as video game using an IR Remote interface for the user controls.
6 Sound Cryptor This project implements a low-cost AES encryption and decryption device using the audio codec on the Nexys Video FPGA.
7 FPGA Hero This project connects a 5-fret guitar controller to the Nexys Video FPGA by using a computer to send UART signals as game commands. The user plays the notes of a song based on the vertical location of color-coded notes on a screen.

Final Project Ideas

Ideas from Spring 2021

Student/Group Title Description
1 Zapper Gun Training Program This project is intended to aid in improving player's reaction times using the NES zapper as a medium. The Zapper Gun Training Program is a game that will display a target in one of a few predetermined positions and the players will have to shoot it as quickly as possible.
2 Pong This project uses an NES controller to implement the classic game to aid in college student health. Students these days are working on homework for hours on end. To stay healthy, they should take 20-to-30-minute breaks to take their minds off school.
3 Brick Breaker with a SNES Controller This project mimics the classic arcade game Brick Breaker to provide a fun and relaxing exercise for training the user's coordination and reflexes. Users move a paddle on the screen left and right through button presses on the SNES controller.
4 Programmable Sound Generator This project will implment a Programmable Sound Generators (PSGs) like the ones used in arcade cabinets and early home consoles to make sounds, and they had enough flexibility to make music and sound effects, which greatly enhanced their attractiveness to the gaming community. The PSG will take inputs via the keyboard and a MicroBlaze input and output through the Nexyx Video Audio Codec.
5 Retro Pong This project created a two player version of the classic Pong game using a slide potentiometer controllers. Each controller moves the paddles on the screen to help improve hand-eye-coordination because Pong requires the user to hit the ball before it hits their side of the screen.
6 Bare Metal Ethernet on FPGA This project will attempt to implement a rudimentary MAC layer atop physical signal processing of the PHY layer by a PMOD ethernet port. This project allows for basic reception and transmission of Ethernet packets over an RJ45 port to increase Cybersecurity of the network.
7 Diggy Disco Rebellion This project will implement a cheaper alternative to the expensive game systems by implementing a fun game that would allow users to get a similar experience that Dance Dance Revolution provides while using SNES Controller.
8 Rocksmith Guitar Game The goal of this project is to develop a music education tool that will teach users how to play songs on an electric guitar in a video game format. The basic concept is similar to games such as Guitar Hero or Rocksmith. A player has a guitar interface they use to send commands to the FPGA, these commands are triggered by buttons or guitar pickups, and are to be sent when the display tells the player to.
9 The Keyboard Keylogger This project will implement a keyboard keylogger device. This device can capture keyboard presses from a USB keyboard, decode it, and store it in memory. Having a keylogger can be a useful tool, either for data backup or for security reasons.
10 Embedded Systems: K.O. This project will be porting an original 2D fighting game onto the Nexyx Video FPGA and will use the NES Controller. This fighting game will improve reflexes and reaction times. Players will have to learn to time their hits, dodges, and blocks.
11 3rd Party Trunnion Programmer The goal of this project is to create a controller to program the 5th axis Trunnion of a CNC machine trunnion using a Nintendo 64 controller. The controller would receive commands from the CNC machine when it is ready for the trunnion to go to the next position, and the controller would inform the CNC when the movement is complete and the CNC may continue.
12 The MAZE Test This project would aim to build a maze solving game that could be used to test and build cognitive ability in subjects using an NES controller. This could be useful in schools as a game to help children learn problem solving by completing the mazes.

Final Project Ideas

Ideas from Spring 2020

Student Title Description
1 Simple FreeRTOS Webserver The purpose of this project, as a demonstration of creating a basic webserver, will use "off the shelf" software (freeRTOS) that is then customized as needed to work with the Nexys Video development board.
2 Space Invaders This project re-created a classic video game Space Invaders using an FPGA and Nintendo Wii Nun Chuck Controller as a recruiting tool for engineering students.
3 The Box This project is effectively a game using a classic NES light gun requiring a user to hit a moving cube controlled by a secondary player using a NES controller. This will allow users to hone their point-and-shoot accuracy skills.
4 USB Keylogger The plan with this system was to be able to plug in a USB keyboard to the FPGA and get an output to a terminal on a window.
5 Maze Navigation Game The project was to create an interactive game where the user uses a Logitech 310 gamepad to navigate through a maze displayed on a Xilinx FPGA board via HDMI. The user will be scored based on how quickly the player can control his gnome such that it traverses through the maze with as few steps as possible in the shortest time.
6 An FPGA MIDI Synthesizer (Skrach Synth) This project explores digital synthesis of sound and its application in music: creating oscillators and interfacing with external controllers that utilize the MIDI protocol. Essentially building a synthesizer on a Nexys Video FPGA.
7 Darts using motion controls This project uses a Nexys Video board to create a simple game using the Wii remote in order to improve reaction speed. The project will attempt to make working on reactions more entertaining.

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.