Scout Simulation LiDAR Processing
Documentation for the “Scout” Simulation LiDAR Processing Task. This task was used to verify the functionality of the LiDAR design and serve as a framework for implementing the RpLiDAR processing t...
Documentation for the “Scout” Simulation LiDAR Processing Task. This task was used to verify the functionality of the LiDAR design and serve as a framework for implementing the RpLiDAR processing t...
USB Interface: Documentation for the “Scout” USB CDC-ACM (Common Device Class - Abstract Control Model) interface built using FreeRTOS and Dmitry Filimonchuk’s libusb_stm32 Hardware Abstraction Lay...
Serial Layer: A Thread safe STM32F446 UART driver implementation built using FreeRTOS. This driver is designed to be an updated version of the driver I created two years ago. The improved driver u...

Liftoff is first-person drone racing simulator designed for human pilots to explore flying. To test autonomous drone control, I repurposed Liftoff to act as a high-fidelity testing environment. Wh...
This work evaluates the performance and scalability of grid-based and sampling-based motion planning algorithms in high-dimensional configuration spaces. Note: This work is unpublished, and no...
Crossfire (CRSF) is a high level communication protocol developed by Team Black Sheep (TBS) for transmitting control and telemetry data between a receiver and Flight Controller (FC). Originally int...

Incomplete: While the code may be finished, this article is currently incomplete. Nearly three years ago, I designed a simple VGA controller for use with my FPGA Pong game. Now, I am redoing t...
Linux and Windows are like two sides of the same coin. Most programs will function perfectly on either OS, some programs even seem to prefer Linux over Windows. However, there a few programs that s...
This report presents the design, implementation, and evaluation of the MiniSRC CPU, a 32-bit RISC-based processor architecture supporting integer arithmetic, including multiplication and division....

The objective of this project was to develop a miniature autonomous vehicle. Requirements for the vehicle included lane following, navigating intersections, and avoiding pedestrians. System Requir...