A fully autonomous 4-DOF robotic arm that plays physical chess against a human opponent, seeing the board with computer vision, planning its own moves, and executing them with no human intervention between turns. Every subsystem, mechanical design, custom gearboxes, electronics, firmware, and computer vision, was designed and built from scratch. In a 105-move game, it detected every move correctly and executed every move with zero failures.
A 5-DOF robotic arm that autonomously writes user-defined text on a whiteboard. ROS 2 and MoveIt2 plan precise Cartesian trajectories, and custom Arduino firmware drives six Dynamixel servos across three different protocol families to execute the strokes with real pen-on-board contact.
A two-wheeled, self-balancing robot built entirely from scratch. Utilizes both a classical mathematically-derived PID controller and a modern state-space controller with a full order observer.
Driven with a custom remote over a wireless communication protocol.
A liquid-fuel rocket engine capstone for the Portland State Aerospace Society, covering chamber and nozzle geometry design, thrust validation, and modular injector CAD.
Mathematically proved that a regeneratively-cooled rocket engine would not be possible given existing test-stand constraints. Designed a modular chamber capable of quick nozzle replacement, conducted heat transfer and CFD analysis for a 240N engine, and co-authored a 200-page design guide for future students.
Designed two position controllers, a lead compensator and a full digital state-space controller with an observer and integral action, for an open-loop unstable hard-drive actuator.
Identified a DC motor's real transfer function experimentally rather than trusting the manufacturer's datasheet, then built three analog physical controllers using only op-amps and resistors: proportional, PI, and disturbance-rejection. The manufacturer's model turned out to be wrong, and even motors with identical part numbers had measurably different dynamics.
An access-controlled pet food bowl that uses RFID to make sure each pet only eats from its own dish. Built around a parametric 3D-printed housing, two RC522 RFID readers, and custom C++ firmware on an Arduino Uno that continuously polls for the correct tag.