Avionics
Overview
Avionics is the subteam responsible for designing, developing, and maintaining the electronic systems that control the rocket and support its mission. A major focus of the subteam is developing as much of the avionics system in-house as possible, from custom printed circuit boards and embedded software to communication systems and ground station tools. The custom PCBs that fly onboard perform critical functions throughout the flight, including collecting and storing flight data, monitoring sensors, triggering parachute deployment and other recovery events, and communicating with the ground control station through radio systems.
In addition to hardware development, Avionics is responsible for the software that operates these electronic systems. Embedded software is developed for the microcontrollers on each PCB, allowing the boards to process sensor data, execute flight logic, manage communications, and control connected hardware. The subteam also develops a user-friendly full-stack ground station application that receives, processes, and displays live telemetry, giving operators a clear view of the rocket’s status and performance before, during, and after flight.
Avionics also supports the rocket’s scientific experiment payloads. Depending on the requirements of each experiment, the team develops and integrates the electronics needed to power the payload, interface with sensors and actuators, collect experimental data, and communicate with other onboard systems.
Together, these responsibilities make Avionics the link between the rocket’s physical systems, onboard intelligence, scientific payloads, and ground operations, combining electrical engineering, embedded systems, software development, communications, and data acquisition into a complete flight electronics system.
Avionics Projects
AV1: Flight Computer Software
In combination with Flight Computer (FC) hardware, the FC Software project forms the basis of the central command center of the rocket. The system collects data from various sensors and controls actions in the propulsion, ejection, and ground station systems. The FC Software project architects and implements the computer code that goes on the FC. This year, our focus is on re-architecting the system for concurrent programming and improved efficiency. We're also implementing robust dev-ops practices, including unit testing, code formatting, and comprehensive documentation. This initiative provides an excellent opportunity to learn industry-standard practices in a collaborative environment.
As a member of the FC Software project, you'll be writing real, flight-critical code using C/C++ and possibly Assembly. You'll develop low-level device drivers and interrupt handlers, implement efficient algorithms for real-time data processing, and work on a real-time operating system (RTOS) for precise timing control. Joining our project offers unique experiences you won't come across in most university classes!
AV2: Flight Computer Hardware
The Flight Computer (FC) system is analogous to the human nervous system: a central command center that controls actions and gathers data through a network of peripheral devices and sensors. The FC Hardware project designs the electronic hardware that controls, monitors, and integrates the other subsystems of the rocket. For this design cycle, the goal is to develop the 9th generation of the FC system. The to-do and R&D lists are extensive, so now is a great time to join the FC Hardware project!
As a member of this project, you will help develop the hardware for the FC system through extensive prototyping and designing of various printed circuit boards (PCB). These tasks will involve theoretical research and development with practical testing and debugging. You will develop skills in research, circuit design and simulation, PCB manufacturing, and hardware debugging! These skills will make you stand out as a candidate for research opportunities, internships, and jobs.
AV3: Flight Computer Tester
The Flight Computer (FC) Tester project is essential to thoroughly test the flight computers and their interactions with other flight-critical rocket systems. The most thorough way to test the full avionics system is to fly it on multiple rockets with varying flight profiles and flight conditions, but this is impractical and expensive! One of the goals of FC Tester is to extend our existing hardware-in-the-loop (HIL) tester that allows the team to simulate flights and perform extensive testing on the ground. FC Tester will also work closely with FC Software and FC Hardware to develop Python testing setups to efficiently and extensively run unit, integration, and system tests on our avionics.
As a member of this project, you will help develop our HIL tester and Python embedded systems testing suite to enable proper system validation. This includes hands-on work with FC Hardware and delving into FC Software as we investigate how to write effective tests and actually run these tests on our systems!
AV4: Radios
The radio system is responsible for the communication between the rocket and the ground station. To monitor the rocket’s status and control its behavior, information is sent and received through the various radios linking the rocket and the ground station. With our rocket now going higher than we’ve ever launched one, a more robust radio system must be implemented to ensure constant communication between the ground and the rocket. Range testing conditions must also be adapted to account for the greater range, and we will need to ensure everything works to near perfection as this subsystem is flight critical.
Members on this project will be able to work both on hardware and software with our two main projects: a software revamp of the current radios system and a student research and designed (SRAD) radio. The software revamp involves rewriting the entirety of the radios’ code, implementing new drivers, and installing a more robust message queue system to handle messages to and from the GUI. The SRAD radio deals with circuit and PCB design around a LoRa module. Members will have the chance to create and debug hardware, software, as well as participate in a number of validation and integration tests to evaluate the radio performance.
AV5: Ground Station Controls
Ground Station Controls develops systems that provide a user-friendly way for operators to interface with our rocket systems. This project is responsible for maintaining both the hardware and software that team members use to test and fly the rocket. The biggest component of this project is the Ground Station Graphical User Interface (GUI), which is a full-stack software application that communicates with every system on the rocket and on the ground. It’s responsible for collecting telemetry, sending commands, and displaying all data in real time. It’s also responsible for saving the data for post-flight review. As a member of this comprehensive software project, you’ll get hands-on experience with real-world software development practices and be able to see your code used to launch a real rocket! You’ll learn things such as:
- The creation of new, data-driven UI elements using React.js
- Implementing new data/signal processing algorithms
- Creating new REST APIs to communicate between different parts of GS GUI
- Important OOP design decisions
- Adding support for new communication protocols and devices
A secondary responsibility of this project is also maintaining the physical computer and control box, hardware which are deployed at the test site and in the field. Any member is free to work on whichever side they would like, whether it be hardware or software.
AV6: Antennas
The antennas project takes care of any hardware allowing signal transmission between the ground station and the rocket. The more advanced our rocket, the more vital telemetry becomes. It is crucial for antennas to transmit signals with enough power and efficiency for radios to function, and subsequently the rest of the rocket.
Working with antennas means you will get experience designing PCBs for GPS, matching circuits, LNAs or other filter circuits. It is a great way to understand conceptually signal transmission and treatment while also getting hands-on experience by designing and soldering PCBs. There is also a key part of R&D, required to make research on and test new ideas to improve our antennas.
AV7: Payload Software
MRT’s Payload subteam runs experiments relevant to space travel on the human body, and as part of the scientific process we need to collect data! Payload (PA) Software develops the software necessary to support the various payload experiments that are flown on rockets throughout the year (see the Payload projects!).
In PA Software, you will program 32-bit STM32 microcontrollers based off of ARM Cortex-M processor cores using C/C++. Payload has its own flight controller (See AV8, Payload Hardware) which works in coordination with AV log data and send commands to and from the payload hub. Integration with AV FC is a major focus to ensure seamless communication! We will also work in coordination with AE6 (Payload Structure) and AV8 (Payload Hardware) to fully integrate software and hardware in our rockets.
This is the perfect place if you enjoy designing software and collaborating with a team on programming challenges to see your ideas come to life in action!
AV8: Payload Hardware
The AV Payload Hardware team designs and manufactures the electronics that measure and store the experimental conditions observed by the scientific experiments in the payload during flight. We develop experiment-specific PCBs for sensor interfacing, signal conditioning, data acquisition and data storage, while ensuring that the hardware operates reliably within the constraints of the rocket payload and independently from the rest of avionics.
As a member of this project, you will work on the complete hardware development process, from translating experiment requirements into circuit designs to building and validating flight-ready electronics. You will use industry-standard tools such as Altium and LTSpice to design and simulate circuits, then assemble, test and debug the resulting PCBs. You will collaborate closely with the payload, avionics, and software teams to integrate the hardware into the complete payload structure.