Projects

Over the years, I've felt the need to actually do something interesting with the very costly education I was getting. So, I tried to devote as much time as classes would allow to a few small projects. Some of these ended up being great for talking to employers.

CycleGAN

May 2020
Repository

This was a project a partner and I did for a deep learning class at the University of Illinois. We tried to recreate the results of the original CycleGAN paper by Zhu et al. CycleGANs perform image-to-image style transfer, but without the need for image pairs. For example, you can train the network to convert winter photos to summer photos and vice versa with a training set of a thousand winter photos and a thousand summer photos. You do not need to find images of the same spot in both winter and summer conditions.

Our respository contains result images and training instructions.


RISCV-Emulator

May 2019
Repository

This was a project a friend and I did for personal amusement. We created a simulator to run a RISCV program from an assembly file. You can step through a file instruction by instruction, set breakpoints, and view registers. We also included an assembler to convert from assembly to RISCV machine code.

This project was inspired by Spike , but is far less functional and lacks many of Spike's impressive features.


FPGA Laser Pointer Paint

December 2017
Repository Demo

This was a project a partner and I did for a digital design class. It would track the path of a laser pointer on a wall and draw the path to a screen. We uploaded our design to a DE2-115 FPGA with an attachable camera. The FPGA displayed output to a VGA monitor. We implemented logic for laser tracking, drawing to memory, and controlling the VGA display in Verilog.

A full writeup can be found in the repository's README.