COMPLETED PROJECTS
Postcard Portfolio
Development of my own portfolio website, created with React through create-react-app alongside the React Transition Group library for animation and React Router for page navigation. This project taught me the fundamentals of designing functional components with react as well as incorporating some supporting libraries to expand reacts capabilities.
Development of my own portfolio website, created with React through create-react-app alongside the React Transition Group library for animation and React Router for page navigation. This project taught me the fundamentals of designing functional components with react as well as incorporating some supporting libraries to expand reacts capabilities.
Microprocessor Applications 2 Project: G8RTOS
A from scratch Cortex-M4 RTOS designed on a TIVA LaunchPad. Context switching is handled through the PendSV software interrupt triggered by a SysTick hardware interrupt. Features Round-Robin priority thread scheduling and peripheral access controlled through blocking semaphores. Supports periodic and aperiodic events, dynamic threading, yielding, sleeping, and interthread communication through custom FIFO data structures.
A from scratch Cortex-M4 RTOS designed on a TIVA LaunchPad. Context switching is handled through the PendSV software interrupt triggered by a SysTick hardware interrupt. Features Round-Robin priority thread scheduling and peripheral access controlled through blocking semaphores. Supports periodic and aperiodic events, dynamic threading, yielding, sleeping, and interthread communication through custom FIFO data structures.

Senior Design Project: Boda
A 4-DOF robotic arm with swappable end effectors designed to be open sourced. The base runs FreeRTOS on a STM32 Nucleo, with robotic motion controlled by a Bluetooth Flutter app. End effectors are designed on a RP2040 and communicate through SPI and custom created command system for identification, input, and sensor data processing. Custom STM32 thread controls an FSM for end effector connectivity and allows for hot swapping for changing use cases.
A 4-DOF robotic arm with swappable end effectors designed to be open sourced. The base runs FreeRTOS on a STM32 Nucleo, with robotic motion controlled by a Bluetooth Flutter app. End effectors are designed on a RP2040 and communicate through SPI and custom created command system for identification, input, and sensor data processing. Custom STM32 thread controls an FSM for end effector connectivity and allows for hot swapping for changing use cases.
6502 Emulator
A C++ 6502 Chip Emulator. System designed from 6502 documentation and features all 6502 official instructions, I/O NMI’s, and validity tested through community created ROMs. Validity tested with custom logging software written to log system state, internal registers, and cycle counts. To be expanded into an NES Emulator.
A C++ 6502 Chip Emulator. System designed from 6502 documentation and features all 6502 official instructions, I/O NMI’s, and validity tested through community created ROMs. Validity tested with custom logging software written to log system state, internal registers, and cycle counts. To be expanded into an NES Emulator.

FPGA MIPS CPU Architecture
MIPS CPU architecture designed on the DE10-Lite FPGA in VHDL. Replicated each element of the CPU with VHDL components and verified functionality through created testbench files used on ModelSim-Altera. Features 32 32-bit general purpose registers, 2 8-bit Input buses, 1 8-bit output bus, and ability to upload MIPS code through the DE10-Lite’s RAM.
MIPS CPU architecture designed on the DE10-Lite FPGA in VHDL. Replicated each element of the CPU with VHDL components and verified functionality through created testbench files used on ModelSim-Altera. Features 32 32-bit general purpose registers, 2 8-bit Input buses, 1 8-bit output bus, and ability to upload MIPS code through the DE10-Lite’s RAM.

Cellular Automaton
Development of a cellular automaton with user modifiable state machine settings to create unique results when ran. This project taught me the basics of JQuery, DOM manipulation, and how to handle user inputs.
Development of a cellular automaton with user modifiable state machine settings to create unique results when ran. This project taught me the basics of JQuery, DOM manipulation, and how to handle user inputs.
Boids Simulation
This project created a web simulation of a boid type AI. This was my first project involving JQuery and allowed me to use it for user inputs and some dynamic DOM manipulation.
This project created a web simulation of a boid type AI. This was my first project involving JQuery and allowed me to use it for user inputs and some dynamic DOM manipulation.
IN-PROGRESS PROJECTS
GITHUB