Embedded Software Engineering Intern
Core
Develop and test software for Linux-based embedded devices, focusing on system configuration, user-space applications, and over-the-air update capabilities.
Role type
Embedded Software Engineering Intern
Builds
Linux-based embedded devices and over-the-air software update systems
Domain
Embedded systems and hardware-software integration
Required skills
C, C++, Rust, Python, Linux environments, command-line tools, computer architecture, operating system fundamentals, embedded systems, microcontrollers, hardware/software interaction, problem-solving
Preferred skills
Yocto, PetaLinux, I2C, SPI, UART, USB, development boards, FPGA-based systems, networking fundamentals, Git, robotics, electronics projects
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 software update capabilities; Debug software and hardware integration issues; Work with I2C, SPI, UART, and USB hardware communication interfaces; Use oscilloscopes, logic analyzers, multimeters, and other laboratory equipment 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
