5-DOF Robotic Hand
Gesture-controlled hand powered by an ESP32-WROOM. Python + OpenCV/MediaPipe reads my webcam and streams joint targets to the arduino.
I designed the whole hand: palm, joints, pulleys, housings, and routed Bowden tendons. The fingers and thumb are print-in-place, so only the knuckles needed assembly. I wrote a Python program with MediaPipe that tracks my finger joints and streams angles over serial to an Arduino, which maps each finger to a servo angle. Built from scratch for under $100 in under three weeks.

Self-Balancing Robot
Two-wheel inverted pendulum that holds pitch and tracks velocity commands.
Complementary filter for angle; cascaded control (inner pitch, outer velocity); FIT0186 gearmotors with encoders; BTS7960 drivers and 3S LiPo/UBEC power. Tuned for quick recovery from bumps without oscillation.

Autonomous Scavenger Robot (Sorting System)
Rotary gate meters one pebble at a time—clockwise to trash by default, reverses on green to drop into the good bin.
To stay accurate in different lighting and with transparent or reflective pebbles, the system runs a quick calibration. You place three green pebbles one by one, it reads each RGB, and it learns a range from the min and max of those three samples. Anything inside that range counts as green, so sorting stays reliable across locations. This was a group project and I owned the sorting system design, build, and code.

Continuous Mechanical Iris (Sinusoidal Cam)
A circular sinusoidal cam drives follower pins on the blades, opening and closing the iris smoothly with continuous rotation.
The cam ring has a sinusoidal groove around its perimeter. As it turns, each blade’s follower rides the profile and translates the motion into clean radial travel, so the aperture cycles open and closed without stops. Built as a parametric Onshape model with printable blades and ring, low-friction pivots, and easy tuning by changing cam amplitude and phase.
4-Bar Linkage Tester
Modular rig to prototype 4-bar motions—swap link lengths and slide the input gear on the frame to explore configurations fast. (< 4 days full design and build)
Supports up to 10 link lengths you can mix and match. The gear drives the input and can slide to set the ground link. Attach one end of the linkage mechanism to the output shaft and the other end to the frame, observe the path, then scale the proportions for your final design. Demo shows a crank-rocker: s=3, l=6, p=6, q=5.
