ES

Embedded Software Engineer

Accepting applications

EOI Space · Lafayette, CO

Full-Time Mid_senior ARMC++EthernetFPGAI2C
Posted
2d ago
Category
Design
Experience
Mid_senior
Country
United States
Who We Are

EOI Space is developing and deploying a constellation of satellites in Very Low Earth Orbit (VLEO) to provide ultra-high-resolution Earth imagery. We aim to deliver timely and actionable data for commercial and defense applications.

We're working toward a number of industry firsts, and that takes a team willing to dig into hard problems, get hands-on, and work well together. EOI Space is looking for an Embedded Software Engineer to build the software and firmware that runs on our satellites: embedded Linux on the payload processor, bare-metal control loops on the microcontrollers, and the FPGA logic underneath. We care more about how you think and how fast you learn than whether you've already used our exact toolchain, so deep experience across this stack is great, but solid embedded fundamentals and a real willingness to learn the rest will get our attention too.

What You Will Do

You will design, write, and test the flight software and firmware for our next-generation spacecraft. You will work at the boundary between hardware and software: sitting with electrical engineers during board bring-up, reading schematics and datasheets, and tracing problems down to the register level when needed. You will collaborate across systems engineering, manufacturing, and test to deliver flight-ready software for satellite integration. This is a hands-on role in a lean and collaborative environment, and you will own meaningful pieces of the vehicle early.

Responsibilities

Develop and maintain embedded Linux software on Xilinx Zynq UltraScale+ platforms, including Yocto layers and recipes, BSP and device tree work, kernel drivers, and userspace applications
Write and test bare-metal firmware for TI C2000 microcontrollers, including real-time control loops, peripheral configuration, and communications interfaces
Develop and verify FPGA logic in Verilog for Xilinx and Microchip devices, including the interfaces between programmable logic and the processing system
Bring up new hardware alongside our electrical engineers, including first boot, driver bring-up, and debugging with JTAG, oscilloscopes, and logic analyzers
Build and improve the tooling that surrounds flight software, including build systems, version control practices, hardware-in-the-loop test benches, and automated regression
Collaborate with systems, electrical, mechanical, and test engineers to ensure software and hardware come together cleanly
Lead root cause investigations and system-level troubleshooting in both lab and on-orbit environments
Develop and maintain technical documentation, including interface control documents (ICDs), register maps, software design descriptions, and test plans
Support integration, environmental test, and launch campaigns, and help operate the software you wrote once it is on orbit

Required Qualifications

Bachelor's Electrical Engineering, Computer Science or equivalent hands-on experience
4-6 years of hands-on embedded software or firmware development. A sharp engineer earlier in their career who learns quickly will be considered alongside candidates with a decade of experience
Strong C, and C++ where it fits, in resource-constrained and real-time environments
Comfort working directly against hardware: reading schematics and datasheets, using JTAG debuggers, oscilloscopes, and logic analyzers, and reasoning about what the silicon is actually doing
Experience with, or a demonstrated ability and willingness to ramp quickly on, one or more of: Zynq UltraScale+ with Yocto-based embedded Linux, TI C2000 bare-metal firmware, and Verilog FPGA development for Xilinx and Microchip parts
Comfortable with ambiguity. Much of this work is new, specifications are incomplete, and the right answer is often found by building something and testing it
Strong problem-solving and communication skills, with the ability to convey technical information clearly to both technical and non-technical stakeholders
Collaborative team player who thrives in a fast-paced, agile environment
Authorized to work as a U.S. Person

Preferred Qualifications

Zephyr RTOS, or other RTOS experience such as FreeRTOS
Other microcontroller families, including ARM Cortex-M, STM32, MSP430, or similar
Yocto and OpenEmbedded layer authoring, U-Boot, and Linux device driver development
Embedded communications and high-speed interfaces: AXI, SPI, I2C, UART, CAN, Ethernet, SpaceWire
Real-time power or motor control firmware, including PWM generation, ADC sequencing, and closed-loop control
Space, avionics, or other high-reliability software experience, including fault detection, isolation, and recovery (FDIR) and radiation-tolerant design practices
Python for test automation, ground software, and data analysis
Timing analysis, constraint writing, and simulation for FPGA designs

Compensation

The salary range for this role is $133,000-$187,000 per year, depending on previous experience. Pay ranges are determined by role, level, location, and alignment with market data. Individual pay will be determined on a case-by-case basis and may vary based on the following considerations: interviews and an assessment of several factors that are unique to each candidate, job-related skills, relevant education and experience, certifications, abilities of the candidate, and internal equity.

Work Location & Schedule:

This role is based in Lafayette, CO.
Full-time.

Benefits

The health and safety of our employees and their families come first. In addition to competitive salary and equity, we offer medical, dental, vision, disability and life insurance coverage, unlimited paid time off, 12 paid holidays, parental leave, and 401K. The Company reserves the right to modify or change these benefits at any time.

The duties and responsibilities of this role are subject to change based on business needs.
Show more Show less