This is the classic Space Invaders game programmed in C and C++. The program focuses on the principles of embedded systems. Hardware and software go together in this program. The highlight of this project is that it is equipped with a PIT (Programmable Interval Timer) driver that allows the game speed to be changed on the fly. This is for sure one of the most challenging projects I've work on but it is so much fun!
This program is the final product of several layers of work, including Datapath, Control, I/O System, Pipelining, and Forwarding. Various hazards are properly detected and handled in order to ensure a successful processor.
This application demonstrates the knowledge of various design patterns and principles. It is scalable as its server utilizes Amazon Web Service, including Lambda, APIGateway, DynamoDB, SQS, S3Bucket, etc.
The Laser Tag System consists of both hardware and software elements. A frequency filter that accepts active players’ LED frequencies and a transmitter that shoots programable LED frequencies were designed and created. A C program is written that interfaces various subsystems allowing a successful game. Note: people in the video were my teammates and I was the camera man.
Unbeatable Tic-Tac-Toe focuses on complex recursive algorithms in embedded systems. The program runs on a ZYBO board with a touchscreen interface.
Simon Says focuses on basic state machines and graphic routines. The program is coded in C and runs on a ZYBO board with a touchscreen interface.
This is a C program showcasing low-level software development for embedded systems. The program runs on a ZYBO board with a touchscreen interface.
This Simple Clock program is implemented with a design of state machine. It is a system with split control and display code, a common design pattern for embedded systems. The program runs on a ZYBO board with a touchscreen interface.