Firmware case study
UW Orbital
This project centers on embedded telemetry and thermal-monitoring infrastructure built in C. The work includes register-level driver development, RTOS task design, and testing that supports more reliable behavior under real timing constraints.
Overview
Embedded work that balances low-level control with system reliability.
At UW Orbital, I worked on firmware for telemetry and thermal monitoring, with an emphasis on deterministic behavior and robust sensor communication. That meant thinking carefully about how the driver layer, task scheduling, and interrupt handling all fit together under realistic runtime conditions.
Technical highlights
Register-level I2C driver
Developed a driver for the LM75BD temperature sensor in C, including conversion logic, register communication, and error handling around the device interface.
FreeRTOS telemetry task
Implemented a thermal and telemetry task using queues and periodic scheduling so the system could process readings in a controlled and repeatable way.
Interrupt-aware architecture
Designed interrupt handling with queue-based deferral to keep ISR work minimal and move heavier processing into safer execution paths.
Why it matters
Projects like this are where embedded development becomes especially interesting: the code is not just about correctness in isolation, but about timing, responsiveness, recoverability, and how the full system behaves when multiple concerns interact.
Testing was part of that picture too. I validated the implementation with unit and integration tests using CMake and CTest, then debugged edge cases until the behavior was stable.