Projects
Internships & research
-
NFAC Transducer Adaptor PCB
A six-year-old facility worknote described a signal-clipping condition on NFAC’s strain gauge amplifier boards. I designed a small KiCad adaptor PCB that ties excitation common to the negative signal leg and satisfies the amplifier’s 10 V window. Drawn entirely on airgapped machines, every footprint built by hand from datasheets.
-
Motor Control Architecture
Our five-bar legged testbed was talking to its motor controllers over USB, with enough timing jitter to limit how tightly we could close a loop. I moved it to a CAN bus on a Raspberry Pi with ODrive controllers and absolute encoder feedback.
UCSD Yonder Dynamics — Mars rover
-
Rover Fin-Ray End Effector
Competition rules change every year, so the manipulator has to grab objects we can't always specify in advance. A fin-ray gripper printed in TPU buckles its ribs in a controlled way and conforms to whatever it touches. It went to competition on our rover!
-
Carbon Fiber Wheel Hubs
Our rover was running close to our competition's weight limit, and our old high-infill PLA hubs were the easiest thing to cut weight from. Wood-lathed mould, three-ply vacuum-bag wet layup, CNC post-processing, 50% lighter than the originals.
-
Rover Power Distribution PCB
A 24 V / 60 A two-layer board rebuilt in Altium around new connectors, with trace widths scaled per channel, polygon pours for thermal headroom, and an indicator LED across every fuse to make blowouts a little more obvious. 20% smaller footprint.
Projects & coursework
-
Thermoacoustic Refrigerator
Put a standing wave in a sealed tube, and you can stabilize a pressure gradient across a heat stack to pump heat! No compressor, no refrigerant. Inspired by NASA's STS-42 study, I gathered a three-person team to mimic their results; found the resonator’s natural frequency in ANSYS Fluent, and got a steady 4°C drop.
-
Machined Kinematic Cannon
A spring-loaded ball bearing launcher I machined from supplied drawings in a machining seminar. Manual mill and lathe for the aluminium, CNC for the Delrin chassis and nozzle, every mating feature held to ± 0.003″.
-
Pirouette Recognition LSTM
An LSTM in MATLAB classifying turn type from IMU time series data, trained on a public dataset of about 85 labelled turns across six dancers, with joint torques backed out from inertia estimates fed in alongside the raw signal.
-
MAE3 Robotic Arm
Started inside a 10″ cube, we were able to roughly triple our height to put rings on a 3 ft model of UCSD's Sun God statue. I led the mechanical design around a 2:1 rack and pinion packed along the cube’s diagonal, reaching 28″ of vertical extension under load.
-
MAE3 Pendulum Clock
An escapement-wheel clock with a deliberately irregular (monkey-shaped) pendulum. A MATLAB optimisation placed eight adjustable weights to align the mass centre and hold a two-second period, landing inside 2.8% timing error.








