Igniter Controls and DAQ (2022)
As part of my role as the Director of Avionics at the Florida Rocket Lab, I developed the original controls and data acquisition system for our igniter. This system was divided into three sections: a Arduino based PLC (Controllino) for controls, a IO-Link Master for data acquisition and a computer to send and receive commands from both the PLC and IO-Link Master. The firmware for the Arduino based PLC was written in C++ and communicated with the computer over a custom UDP protocol. Then the computer communicated with the IO-Link Master over HTTP.
The software on the computer was split into two parts: a "agent" and UI. The agent was written entirely in Rust and communicates with the PLC and IO-Link Master, then the UI communicates with the "agent" via a custom RPC protocol.