Work Experience
Rebuilding the entire architecture and firmware structure of the
DiabloAvionics monorepo from the ground up — and reworking how every
board on the rocket talks to every other board. The repo today holds ~20 sibling
PlatformIO / Arduino projects (DAN-E flight computer on ESP32-C6, plus
ESP32-S3 sense boards: PT, LC, RTD, TC,
actuator, encoder, env-tracker, stacklight) along with shared
libraries and Python ground-station GUIs. The mess I'm cleaning up: duplicate
common/ directories, drifted platformio.ini configs, and old
variants (Old_PT_*, RTD_Old, Drafts/) tangled with
live code.
Target shape: one base platformio.ini with extends = so each
board file is ~5 lines, a single source of truth for shared headers, hotfire as an
[env:hotfire] per board (not a duplicate tree), and a comms layer that
replaces the ad-hoc UDP port pair (5005 / 5006) with a structured, framed protocol
the GUIs and boards can speak reliably through hotfire and flight. The end shape:
firmware/ · common/ · libraries/ · gui/ · archive/.
Owned the actuator-board cycle end-to-end: schematic, layout, bring-up, and firmware. Designed both V1 (hot-fired) and V2 in Altium — wider connector pads, larger bulk decoupling, and a separated analog return for status feedback. Brought V2 up on the bench and integrated it into the next round of avionics testing.
Real-time firmware in C on STM32 F4 for mass flow controllers, RF generators,
and heater subsystems. HRTIM register-level work for 13.56 MHz mixed-signal
sampling on a custom VI Probe —
wrote drivers and HAL from scratch, debugged timing against the F4 reference manual.
Implemented 1 kHz closed-loop PID for gas flow / pressure / thermal under
FreeRTOS, with timer-driven update cadence. Built a CAN-based distributed control
architecture across subsystems (watchdogs, fault detection, safety interlocks) and a
COBS-framed Protobuf serial protocol over USB for host telemetry.
Mixed-signal debug at the register level using J-Link SWD + Saleae.
Built automated test setups for aerospace-grade semiconductor devices using curve tracers, precision PSUs, and switching matrices. Wrote Python & MATLAB pipelines to ingest device logs, surface IV / thermal trends, and flag anomalies — outputs fed engineering design reviews. Authored formal test plans and ran systematic fault isolation on intermittents that turned out to be layout-related ground bounce.
Worked on Alula, STAR's first flyable liquid-powered rocket (LOX/ethanol). On the avionics side: helped design and debug custom Altium flight-module PCBs, supported power-distribution bring-up, and contributed firmware for sensor acquisition (IMU, pressure transducers, thermocouples) on STM32 / ESP32. Ground-tested with the airframe and recovery teams ahead of the Spring 2024 launch.
Led hands-on workshops on FreeRTOS basics, serial logging, and PCB bring-up for undergrads new to embedded. The goal: get them comfortable picking up a board they've never seen and figuring out what's wrong without panicking.