Projects


Basilisk Robotics

Basilisk Robotics

Developing an autonomous underwater robot for hull cleaning and inspection. Leading the electrical and software architecture, including embedded control, sensing, onboard compute, autonomy, and ROS 2 integration.

ROS 2, C++, STM32, Embedded Linux, Computer Vision

View Project →
CMU Racing Electronics

CMU Racing Electronics

Designed and tested embedded control and data-acquisition hardware for CMU Racing's electric race car, including STM32-based PCBs, vehicle networking, sensing, and real-time firmware.

Altium Designer, STM32, FreeRTOS, CAN

View Documentation →
Advanced Branch Prediction

Advanced Branch Prediction

Designed and optimized branch predictors under a 64 KiB hardware budget, exploring TAGE-SC, TAGE-NN, and TAGE-NN-L architectures with statistical and neural correctors on SPEC workloads.

C++, gem5, TAGE, Neural Networks, Computer Architecture

Pipelined RISC-V Processor

Pipelined RISC-V Processor

Designed a 7-stage RV32I processor with pipelined execution, caching, hazard handling, and adaptive branch prediction, then synthesized and evaluated the design for performance.

SystemVerilog, RISC-V, Xilinx Vivado, Computer Architecture

Preemptive Real-Time Operating System

Preemptive Real-Time OS

Built a preemptive embedded operating system for STM32 with rate-monotonic scheduling, task admission control, execution-time enforcement, and mutexes with priority-inversion protection.

C, STM32, ARM Cortex-M, Real-Time Systems

Computer Vision Projects

Computer Vision

Implemented visual tracking, feature matching, augmented reality, epipolar geometry, 3D reconstruction, neural networks, and prompt-based segmentation culminating in 3D object point-cloud reconstruction.

Python, OpenCV, NumPy, PyTorch, Segment Anything

Chron Smartwatch

Chron Smartwatch

Building a custom smartwatch with activity and biometric sensing, environmental sensors, gesture-based wake detection, and Bluetooth Low Energy connectivity on custom embedded hardware.

C, Zephyr, nRF54L15, BLE, Embedded Systems

View Documentation →
Constrained Reinforcement Learning

Constrained Reinforcement Learning

Explored reinforcement-learning agents operating under practical memory, numerical-precision, and inference-latency constraints, evaluating the tradeoffs between resource usage and policy performance.

Python, PyTorch, Reinforcement Learning

Wake 'n' Shake Alarm

Wake 'n' Shake Alarm

Built an interactive alarm clock that requires completing a cognitive or physical challenge before it can be dismissed, including memory games and vision-based exercise recognition.

Raspberry Pi, Python, OpenCV, MediaPipe

View Documentation →
FPGA Pong

FPGA Pong

Implemented Pong entirely in digital hardware, including game logic, real-time video generation, user input, and a VGA display interface.

SystemVerilog, FPGA, Xilinx Vivado, VGA

Fun With Robots

Fun With Robots

Developed labs and starter software for a CMU robotics course covering sensing, controls, actuation, computer vision, and autonomous robot navigation.

C++, Arduino, Robotics, Computer Vision

View Course Materials →