← Back to home

Contributions

Architected the backend IoT telemetry pipeline and physical network infrastructure to ingest and log 10Hz flight data with zero-touch deployment capabilities.

Requirement: The system must establish a robust, low-latency link between the remote launch pad and mission control, reliably ingest high-frequency (10Hz) MQTT packets, and allow operators to boot a fully configured server stack on field laptops in under 60 seconds without internet access.

Result: The pipeline successfully achieves <50ms latency from hardware to database. Running docker compose up instantly provisions the server, auto-configuring TimescaleDB schemas and EMQX SQL routing rules seamlessly.

Engineered real-time digital signal processing queries and comprehensive mission control Grafana dashboards for live flight monitoring.

Requirement: The UI must display 10Hz flight data flawlessly, mathematically derive complex flight kinematics (Mach, wind drift, vertical velocity) live without lagging the system, and provide immediate situational awareness to the Launch Director.

Result: Grafana renders live maps and 10Hz dynamic graphs seamlessly. Mach and drift calculations are proven mathematically accurate and visually stable against a custom Python telemetry simulator I wrote to inject mock flight data and stress-test the MQTT-to-database pipeline.

Designed a custom mixed-signal PCB capable of distributing 44V/48V high-current motor power alongside sensitive 3.3V/5V RF and logic circuits without interference.

Requirement: The board must distribute unregulated power to two NEMA 23 stepper motors while simultaneously providing clean, highly stable 5V and 3.3V rails for dual microcontrollers, a 1W RF telemetry radio (RFD900X), and a GPS module, all within a compact 2-layer footprint.

Result: Power routing, fusing strategy, and ground plane separation pass initial schematic DRC and layout clearance checks. The star ground topology successfully isolates the high-power domain from the logic domain in the physical layout, theoretically eliminating ground loops.

Implemented a dual-microcontroller hardware architecture utilizing two Raspberry Pi Picos to decouple hard-real-time motor kinematics from asynchronous RF telemetry processing.

Requirement: The system must guarantee zero-jitter step generation for smooth mechanical antenna tracking while simultaneously handling high-throughput UART communication with the RFD900X, parsing NMEA GPS strings, and writing to an SD card via SPI.

Result: Schematic logic is fully defined, ensuring safe voltage translation to the motor drivers and correct pin mapping for all hardware SPI/UART peripherals. The architecture theoretically eliminates blocking delays between communications and kinematics.

Interfaces

FromToTypeNotes
Radio PicoMotor PicoelectricalHardwired UART inter-board link passing decoded GPS targets and tracking vectors to decouple RF processing from motor kinematics.
Motor PicoExternal Stepper Driverselectrical3.3V PIO logic signals (Step, Direction, Enable) shifted to clean 5V for robust motor driver triggering.
Radio PicoGround StationdataGround station WiFi connection enables streaming telemtry data directly into ground station's EMQX MQTT message broker.
Fill StationGround StationdataHigh-bandwidth wireless bridge carrying physical pad sensor states and zero-latency go2rtc camera feeds into TimescaleDB and Grafana.

Documents

Risks & Limitations

  • PCB design, layout, and assembly are complete, but comprehensive bench testing is pending.
  • True Hardware-in-the-Loop testing of ground station has not been conducted.
  • Real-world RF multipath fading and environmental packet loss metrics at high altitudes have not yet been characterized.

Lessons & Next Steps

  • Investing the time upfront to build the mission control backend entirely as Infrastructure as Code (Docker Compose) saved countless hours during field deployment testing.
  • If I were to do this again, I'd try to stick to a more uniform component list for my hardware design - having over 80 unique components on a single board is not easy to manage, both in terms of handling inventory and assembly.

Built something worth showing?

Document your project →