A collection of hardware, embedded systems, software, and data projects.
Selected by Alpha Metallurgical Resources to design a wireless sensor network for real-time data transmission in underground coal mining environments as part of the University of Alabama Senior Capstone Program.
Designed a modular calculator on the Digilent Basys3 FPGA in SystemVerilog. The architecture features a hierarchical FSM control unit for input parsing and operation sequencing, paired with a synchronous datapath that performs the actual arithmetic with clean control/datapath separation.
Collected and processed sonar log data to generate detailed bathymetric maps of lake environments. Applied GPS offset correction and signal filtering in ReefMaster, generated AT5-compatible overlays for marine electronics systems, and produced side-scan mosaics and bottom composition models.
Built a complete digital I/O system on an STM32 Nucleo board, interfacing a toggle switch, on-board push button, and a 7-segment LED display wired on a solderless breadboard. The firmware cycles hex digits 0-F on the display, then switches between two operating modes based on the toggle switch state.
Hardware implementation of the UART serial communication protocol on an FPGA. Handles baud-rate generation, start/stop bit framing, and reliable asynchronous data transmission at the register-transfer level.
Finite State Machine (FSM) design for a multi-floor elevator controller. Manages floor requests, direction logic, and door control using sequential digital logic synthesized on an FPGA board.
A Finite State Machine with Datapath (FSMD) modeling a vending machine. Combines control logic (FSM) with arithmetic datapath units to process coin inputs and dispense products correctly.
Custom implementations of core data structures in Python — including a HashMap with collision handling & dynamic rehashing, a Heap with percolation logic, a Binary Search Tree, and a Graph with adjacency list representation.
Algorithm implementations exploring dynamic programming, BFS/DFS on matrices and graphs, backtracking, and classic problems like Fibonacci with memoization and tabulation approaches.
A Python GUI automation tool built with Tkinter and pynput (~4,000 lines). Features multi-threaded macro execution with start/stop controls, keyboard and mouse automation, and iterative refinement across multiple versions.