Embedded Software Engineer
Electrical Engineering
Control Systems
Embedded C
Embedded Development
Embedded Firmware
Embedded Rust
Embedded Software
Embedded Systems
Embedded Systems Software
Engineering
Ethercat
Hardware Software Co Design
Real Time Embedded Software
Software Development
Software Engineer
Software Engineering
Job Description
EO Solutions is looking for an Embedded Software Engineer to help develop, integrate, and test embedded control software for advanced High Energy Laser (HEL) systems. This onsite role in Huntsville, AL blends real-time firmware/software development with hands-on hardware work, so your code connects to sensors, actuators, electronics, communications hardware, and control systems.
What you’ll do
You will build embedded software and firmware for real-time control systems, focusing on reliable interfacing across the stack and strong verification practices.
- Develop embedded software and firmware in Rust or C/C++ for real-time control.
- Integrate software with sensors, actuators, motor controllers, communications interfaces, and other hardware components.
- Develop and test communications between embedded devices and higher-level control systems.
- Debug hardware/software interactions using lab equipment such as oscilloscopes, multimeters, and logic analyzers.
- Create automated unit, integration, and hardware-in-the-loop tests.
- Support system integration, laboratory testing, and field testing.
- Collaborate closely with software, electrical, mechanical, optical, and controls engineers.
- Maintain code quality using Git, code reviews, CI/CD, and automated testing.
- Document software interfaces, designs, test procedures, and results.
- Use modern AI-assisted software development tools while independently validating generated code for correctness, safety, and maintainability.
Required qualifications
- Bachelor’s degree in Computer Engineering, Electrical Engineering, Computer Science, or a related technical discipline.
- Experience programming in Rust, C, or C++ through professional work, internships, coursework, research, or personal projects.
- Understanding of embedded systems and basic electrical engineering concepts.
- Ability to read electrical schematics and troubleshoot hardware/software interfaces.
- Familiarity with embedded interfaces/protocols such as Ethernet, I2C, UART/RS-232/RS-422, or similar.
- Strong problem-solving skills and interest in hands-on hardware/software development.
- Ability to obtain and maintain a U.S. security clearance.
Helpful experience
- Experience with STM32 or other ARM-based microcontrollers.
- Embedded Rust or C/C++ firmware development.
- Ethernet, UDP/TCP, EtherCAT, or other real-time communications.
- Motor control, servo systems, sensors, or FPGA interfaces.
- Hardware-in-the-loop testing and automated test equipment.
- Python for test automation, analysis, or engineering tools.
- GitLab CI/CD or other automated build and test systems.
- Linux embedded development.
- Aerospace, defense, robotics, controls, or Directed Energy systems experience.
Tools and technologies you may work with
- Rust, C, C++
- Git, CI/CD, AI-assisted software development tools
- Ethernet, I2C, UART, RS-232, RS-422, EtherCAT, UDP/TCP
- STM32, ARM-based microcontrollers, Linux
- hardware-in-the-loop testing, oscilloscopes, multimeters, logic analyzers
- Electrical schematics, motor control, servo systems, FPGA interfaces
- Python, GitLab CI/CD
How you’ll show up
- Enjoys making software interact with real hardware.
- Comfortable working in the lab and troubleshooting system behavior beyond the software boundary.
- Emphasizes testing and correctness in embedded development.
- Curious about unfamiliar hardware, protocols, and technologies.
- Can work independently while collaborating effectively across a multidisciplinary team.
- Prefers simple, maintainable solutions over unnecessary complexity.