Embedded Software Engineering Intern
Develop and test embedded Linux software, hardware interfaces, and system integrations for next-generation ground stations. The internship requires pursuing a technical degree and programming experience in languages such as C, C++, Rust, or Python.
About the job
Responsibilities
- Develop and test software for Linux-based embedded devices.
- Contribute to embedded Linux tooling, system configuration, and user-space applications.
- Help develop and improve over-the-air (OTA) software update capabilities.
- Debug software and hardware integration issues with firmware and hardware engineers.
- Work with I2C, SPI, UART, and USB hardware communication interfaces.
- Use oscilloscopes, logic analyzers, and multimeters to troubleshoot systems.
- Write tests and documentation to improve embedded-system reliability and maintainability.
- Collaborate with FPGA, electrical, firmware, and software engineers on system integration.
- Own an internship project and present the work and learnings at the end of the internship.
Requirements
- Currently pursuing a bachelor's or master's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical field.
- Programming experience in C, C++, Rust, Python, or a similar language through coursework, projects, research, or internships.
- Familiarity with Linux environments and command-line tools.
- Understanding of computer architecture and operating-system concepts.
- Familiarity with embedded systems, microcontrollers, or hardware/software interaction.
- Strong problem-solving skills and willingness to learn.
- Ability to collaborate in a hands-on engineering environment.
Nice-to-haves
- Embedded Linux experience with Yocto or PetaLinux.
- Experience with I2C, SPI, UART, or USB.
- Experience with microcontrollers, development boards, or FPGA-based systems.
- Familiarity with Zephyr or FreeRTOS.
- Networking fundamentals.
- Rust programming experience.
- Git and software development workflows.
- Experience with oscilloscopes, logic analyzers, multimeters, or other laboratory equipment.
- Projects involving embedded software, robotics, electronics, or similar systems.
Skills
C, C++, Rust, Python, Linux, Embedded Linux, Yocto, Petalinux, I2C, Spi, Uart, Usb, Microcontrollers, Fpga, Freertos
Similar jobs
Embedded Engineering jobsSupports government robotics projects by operating robotics software, running controlled adaptive-sanding trials, troubleshooting robotic cells, and analyzing process data. Requires an engineering or computer science degree, hands-on robotic or mechanical systems experience, and strong experimental and documentation skills.
Build real-time Linux and Rust applications and robotic control algorithms for semiconductor fabrication equipment. The internship requires a relevant bachelor’s degree in progress, Python/C/C++ proficiency, robotics software experience, and a hands-on project portfolio.
Designs and validates automotive electrical systems through wire harness development, HiL bench integration, firmware bringup, and automated testing. Requires a 2026 engineering or computer science graduate with hands-on lab experience and familiarity with embedded programming and vehicle communication protocols.
Automation software engineering intern developing real-time Linux and Rust applications and robotic control algorithms for semiconductor fabrication equipment. Requires active pursuit of a bachelor's degree or higher, programming proficiency, robotics software experience, and a project portfolio.
Embedded software interns develop real-time Linux applications, Rust firmware, and backend systems for semiconductor fabrication equipment. The role requires embedded systems and microcontroller programming experience, proficiency in Python/C/C++, and pursuit of a relevant bachelor's degree or higher.