Featured Project
Two-Wheel Self-Balancing Robot
- Modeled as an inverted pendulum on a custom 3D-printed chassis
- PID and a hand-derived 4-state LQR compared on identical hardware
- Full-state feedback gains from solving the algebraic Riccati equation in Java
- IMU + encoder sensor fusion, evaluated live over FTC Dashboard telemetry
JavaFTC SDKOnshapeControl TheoryLQR
View on GitHub →
$ make test
Compiling test/*.c ...
Assembling + linking (x86-64) ...
362/362 assertions passed
15 test programs, 0 failures
Small C Compiler
2,800+ lines: lexer, parser, AST, and direct x86-64 codegen. 362 assertions across 15 test programs.
Cx86-64
GitHub →
Fused PID + Feedforward Drivetrain
Kalman filter fusing PID on motor velocity with feedforward on voltage for the FTC drivetrain.
JavaKalman Filter
IR-Controlled Temp Regulator
Steinhart–Hart thermistor model actuates a fan above a 71°F setpoint via IR remote.
ATmega2560Arduino
GitHub →
Also built
- 4-Bit Counter Alarm — seven-segment counter, direct GPIO segment control
- Light-Scanning Servo System — photoconductive-cell sweep to find brightest direction
- Bidirectional DC Motor Controller — L293D H-bridge, joystick input, dead zone
- Two-Wheel Line-Following Robot — IR sensors, PID-controlled steering
- RC Filter Analysis — low-pass design verified in LTspice and on the bench
- Electronic Theremin — ultrasonic distance mapped to four tones
- Digital Thermometer with LCD — DHT11 sensor, real-time LCD readout
- Concert Audio Filter — MATLAB low-pass filter for a live recording