Projects

Projects

Projects spanning robotics, fluid systems, simulation, materials analysis, and experimental physics. Open a project to see my role and the work behind it.

Robotics
Fall 2026

ME 2110 Competition Robot

First iteration · In progress

A team-built robot for a 40-second arena competition. I design, fabricate, and test the drivetrain that moves the robot, and work on mechanisms to knock over targets and raise a flag on the central pole.

Drivetrain optimizationFabricationTesting
View build and my contribution →
Fluid
Systems
Portable Hydroelectric Generator
2025

A Pelton-wheel impulse turbine designed for off-grid power in developing communities. A bucket wheel converts the kinetic energy of a high-velocity water jet into rotation, transmitted via a belt-driven motor assembly to generate electricity.

SolidWorks CAD Assembly Fluid Mechanics Pelton Turbine Drivetrain Design
Hydroelectric generator CAD rendering

My role — motor & drive assembly: I designed the motor housing geometry, mounting system, and full belt-driven drivetrain. The turbine wheel uses eight buckets that catch a high-velocity water jet from an adjustable nozzle, spinning a shaft that drives a pulley-and-belt system to the motor. A spear valve controls jet velocity via an external hand wheel.

View full case study →
Simulation
Portable Hydrokinetic Turbine — BEM Design Study
2025

A blade element momentum solver written from scratch to study a portable river turbine targeting 200 W in a 2 m/s current. Sizes the rotor, generates the performance map, builds a controlled power curve, and quantifies the risk of missing the target.

MATLAB Rotor Aerodynamics Numerical Methods Verification & Validation Uncertainty Analysis
Power curve, operating power coefficient, rpm and pitch control schedule, and thrust envelope for the hydrokinetic turbine

Results: Peak power coefficient of 0.423 — 71% of the Betz limit, the theoretical maximum any free-stream rotor can reach. 268 W electrical at the design point, 1202 kWh/yr, and a 93.5% probability of clearing the 200 W target once manufacturing tolerances and river variability are accounted for. Four verification checks run before any result is reported, including confirming the solver reproduces actuator disc theory to within 3.8%.

Wave
Physics
String Linear Density — Two-Method Metrology Comparison
2024

Two independent methods measuring the same quantity, tested for agreement using formal measurement uncertainty rather than a percent difference. The methods disagree by a factor of several hundred, and the analysis identifies why.

MATLAB Measurement Uncertainty Regression Analysis Root-Cause Analysis
Linear density from both measurement methods with expanded uncertainties, and the normalized error agreement test

What I found: The two methods disagree by factors of 375 to 919 — far beyond what measurement uncertainty can explain. The interesting part is that every regression fit scores R² above 0.98. The data is perfectly consistent with itself and still completely wrong, because R² only measures how well a line fits the points you gave it. I traced the fault to the recorded tension values, reported the negative result, and specified what needs re-measuring instead of publishing a number I could show was wrong.

Dynamics
Impact of Putter Design on Golf Ball Motion
2024

Physics-driven investigation into how putter geometry, angle, and material affect golf ball launch dynamics. Modeled contact mechanics and coefficient of restitution to quantify how design variables translate into on-green outcomes.

Impact Mechanics CoR Modeling MATLAB Experimental Design
Photo coming soon

Why it mattered: As a competitive golfer, I wanted to ground putter "feel" in measurable physics. By modeling coefficient of restitution across different face materials and loft angles, the project quantified why certain putter designs produce more consistent roll.

View full case study →

Kelvin and Octet lattice stress–strain modeling

I wrote a MATLAB least-squares polynomial fitting function and used it to compare two lattice stress–strain datasets. The script fits the region at strain ≤ 0.02 to estimate Young’s modulus, then compares polynomial orders 1–4 over each full dataset and reports R².

My contribution: the regression function, analysis script, and plotting workflow. This is coursework using experimental datasets; this page does not claim that I fabricated or physically tested the specimens.

Method boundary: the linear-region cutoff is an analysis choice. A good polynomial fit alone does not validate a material law or justify extrapolation.