About this role
High-Performance Computing (HPC) refers to advanced computing systems designed to handle complex data processing and real-time decision-making in high-risk flight and extreme conditions. It is crucial for enabling autonomous operations, supporting advanced simulations, and managing large datasets in high-speed flight missions. This project supports NASA's High-Performance Spaceflight Computing (HPSC) platform and the Next-generation Research Flight Controls System (NuRFCS). This embedded version of HPC systems are built to endure harsh environments, ensuring reliable performance in both space and aerospace applications, ultimately driving the development of next-generation aircraft and spacecraft.
This internship is open to full-time students willing to work on-site. Seeking motivated and technically proficient embedded software development intern to join our high-performance computing and flight control systems team.
This internship will be focused on working on cutting-edge aerospace and embedded systems, contributing to the development of real-time flight control software and compute-intensive algorithms deployed in safety-critical environments.
Key Responsibilities:
• Assist in the design, development, and optimization of real-time and high-performance software systems in C/C++.
• Implement parallel programming and multithreaded solutions for deterministic, time-sensitive applications.
• Contribute to software running on Unix/Linux systems and real-time operating systems (RTOS) with support for preemptive scheduling.
• Participate in unit testing and system-level integration. Contribute to hardware-in-the-loop (HIL) testing simulations, supporting closed-loop validation of control software with real sensor and actuator interfaces.
• Develop and maintain low-level drivers and interfaces for common communication protocols including UART, CAN, Ethernet, SPI, and I2C.
• Support implementation and tuning of flight control algorithms, including sensor fusion, control law execution, and fault-tolerant redundancy.
• Follow rigorous development processes aligned with safety-critical standards such as DO-178C, including documentation, traceability, verification and validation.
Preferred Qualifications:
• Pursuing a degree in Computer Science, Computer Engineering, Aerospace Engineering, Electrical Engineering, or related field.
• Proficiency in C, C++ and Python programming.
• Experience with Unix/Linux development environments, shell scripting, and toolchains.
• Familiarity with multithreaded programming, real-time systems, and RTOS concepts.
• Basic knowledge of RTOS architectures and preemptive scheduling .
• Understanding of flight control systems, control theory, and embedded systems.
• Knowledge of communication protocols (UART, CAN, SPI, I2C, Ethernet) and experience writing or integrating device drivers.
• Familiarity with flight software frameworks such as F Prime and cFS.
At the end of the internship, the student is expected to gain direct experience working on high-assurance software, with practical exposure to the full development lifecycle, from low-level drivers to control algorithms. They will also receive mentorship from engineers with expertise in avionics, embedded software, and high-performance computing (HPC).
**Eligible Applicants:** Student
**Academic Level:** Undergraduate Senior, Graduate Master's, Graduate Doctoral
**Activity Type:** In-person
**Citizenship:** US Citizen Only
**Type:** Internships