Universal Interface Stack
A hardware-agnostic C++ control stack for robots — motors, encoders, trajectories, tools, and motion planning, all swappable without touching application code.
Mostly a hardware-agnostic control stack for robots, plus the embedded drivers and control-theory libraries underneath it. Some repos are still private while in active development — get in touch if you'd like a look.
A hardware-agnostic C++ control stack for robots — motors, encoders, trajectories, tools, and motion planning, all swappable without touching application code.
Integration firmware for a modular 5-degree-of-freedom robot arm, built entirely on top of the Universal Interface Stack.
A browser-based servo range-finder and installation/calibration wizard, using an AS5600 magnetic encoder as ground truth — no software install required.
Low-level C++ libraries for the Raspberry Pi Pico: I2C/SPI bus implementations, an I2C device base class, and a current-sensor driver built on top.
A PID library for Arduino using the Tustin (bilinear/trapezoidal) discretization method, with anti-windup via integrator clamping.
A first-order Butterworth (IIR) filter for Arduino, discretized with the bilinear method.
A firmware bridge for reading the AS5047P magnetic encoder over its SSI interface.
A collection of custom control-system design functions for MATLAB.