Embedded Software Engineer
EraDrive Palo Alto, California, United States
Space Research and Technology · 2-10 employees
About the role
You will own the end-to-end embedded software architecture for the Era-Node flight autonomy module, from initial design to orbital deployment. This involves developing reliable firmware, optimizing low-level compute pipelines, and ensuring seamless hardware-software integration for space-based applications.
What they look for
Requirements
Candidates must have a degree in a relevant engineering field and proven experience developing embedded software for custom hardware in high-reliability environments. Proficiency in C/C++, low-level hardware interfaces, and debugging tools is essential for this role.
Full description
EraDrive’s goal is to revolutionize spaceflight through autonomy. EraDrive builds autonomy software and hardware that let spacecraft see, decide, and act with minimal human control. Our software is already flying in space, and we are growing it into a product family that covers rendezvous, on-orbit inspection, and space based sensing. You will be one of the early members of the EraDrive engineering team.
The Role
We're looking for a low-level embedded software engineer who will own the core firmware and embedded software foundation of Era-Node, our flight autonomy module. You will be responsible for taking the embedded architecture from a blank sheet of paper all the way into orbit. This means writing the device drivers, custom RTOS/bare-metal code, and deterministic state machines that interface our star trackers and compute systems with the host spacecraft.
This is a 0->1 role. You will define the firmware architecture, write the low-level hardware interfaces, and implement the logic that orchestrates microsecond-level sensor timing and serial communications. Crucially, you will bridge the gap between hardware and high-level autonomy by optimizing low-level compute pipelines, ensuring our onboard AI and GNC (Guidance, Navigation, and Control) algorithms run with maximum efficiency and minimal latency. You will work closely with the payload hardware and autonomy teams to ensure the software layer flawlessly manages hardware resources in the harsh, radiation-prone environment of space.
What you will do
- Own the end-to-end embedded software architecture for Era-Node, developing highly reliable bare-metal and RTOS-based firmware in C/C++.
- Optimize low-level compute pipelines, memory access patterns (e.g., DMA), and hardware accelerators to maximize performance and execution speed for onboard GNC algorithms and AI/ML computer vision models.
- Write and optimize low-level hardware drivers for image sensors, compute modules, memory devices, and spacecraft interfaces.
- Develop deterministic state machines and low-level logic to handle precise timing systems, interrupt routines, and hardware synchronization across multiple optical sensors and compute nodes.
- Implement, debug, and optimize robust serial communications software stacks spanning inter-board and spacecraft-to-payload links (e.g., RS-422, SpaceWire, CAN, SPI, I2C, UART).
- Implement software-level fault tolerance and radiation mitigation strategies, such as watchdog timers, memory scrubbing, and error handling for Single Event Upset (SEU) bit flips.
- Lead board bring-up for custom hardware, using debuggers (JTAG/SWD), oscilloscopes, and logic analyzers to verify hardware-software integration and timing constraints.
- Architect and implement microsecond-precise software timing and hardware triggering systems to flawlessly synchronize data capture between flight cameras and motion hardware on our robotic lab testbeds.
- Develop hardware-in-the-loop (HIL) test platforms that integrate flight computers, sensors, cameras.
- Support environmental test campaigns (thermal vacuum, vibration) by writing automated test scripts and diagnostic firmware to validate hardware health during stress testing.
What you bring
- A degree in computer engineering, computer science, electrical engineering, mechatronics, or a closely related field.
- Proven experience developing embedded software for custom hardware from initial bring-up through deployment (preferably for space, aerospace, robotics, or high-reliability applications).
- Deep understanding of hardware-software interfaces and low-level state machine design, with deep proficiency in writing bare-metal and RTOS-based C/C++.
- Experience optimizing embedded systems for computationally heavy workloads (e.g., GNC, computer vision, AI/ML), including familiarity with hardware acceleration, SIMD, memory bandwidth optimization, and managing real-time constraints.
- Extensive hands-on experience implementing and debugging device drivers for serial communications protocols (SPI, I2C, UART, CAN, RS-422/RS-485, etc.).
- Strong fundamentals in microcontroller/microprocessor architectures, memory management, bootloaders, and interrupt-driven programming.
- Direct experience with the realities of writing software for space: handling radiation effects (SEUs), implementing fault-tolerant code, and designing for systems that cannot be physically reset or repaired.
- High comfort level using embedded debugging tools (JTAG, SWD, GDB) and basic lab test equipment (oscilloscopes, logic analyzers) to troubleshoot code directly on the metal.
- Clear communication and documentation habits, with the ability to collaborate closely with electrical, systems, and autonomy engineers.
Bonus
- Experience with specific edge AI/ML accelerators, GPU programming (CUDA), or Neural Processing Units (NPUs) in a space or high-reliability context.
- Experience with FPGA development (Verilog/VHDL) or writing software that interfaces closely with FPGAs for high-speed data routing.
- Experience with embedded Linux, writing custom kernel modules, or device tree configuration.
- Having written core flight software or firmware for a successfully deployed spacecraft payload.
Similar roles
-
Summer 2027 - Embedded Software Engineering Internship
CesiumAstro Austin, Texas, United States
-
Senior Embedded Software Engineer
Intuitive Sunnyvale, California, United States · $160K–$271K/yr
-
Embedded Software Validation Engineer
Ford Palo Alto, California, United States · $100K–$168K/yr
-
Embedded Software Engineer
SLB Brazil
-
Manager Embedded Software Engineer 2
Northrop Grumman Baltimore, Maryland, United States · $154K–$231K/yr
-
Embedded Software Engineer II, Onsite
RTX El Segundo, California, United States · $76K–$144K/yr