ECE20007 Final Project