SoC Firmware Engineer

E-Space · Saratoga, CA

Ready to make connectivity from space universally accessible, secure and actionable? Then you’ve come to the right place!

E-Space is bridging Earth and space to enable hyper-scaled deployments of Internet of Things (IoT) solutions and services. We are building a highly-advanced low Earth orbit (LEO) space system that will fundamentally change the design, economics, manufacturing and service delivery associated with traditional satellite and terrestrial IoT systems.

We’re intentional, we’re unapologetically curious and we’re 100% committed to innovate space-based communications and deliver actionable intelligence that will expand global economies, protect space and our planet and enhance our overall quality of life.

We are seeking a highly skilled and motivated Embedded Software Engineer to design, develop, and optimize low-level software with a strong emphasis on software/hardware co-operation. The role involves working closely with hardware engineers to shape firmware architecture, drive hardware bring-up, and ensure seamless integration across the full embedded stack — from BSP and firmware drivers through RTOS services and platform-level software.

What you will do:

  • Core Responsibilities

    · Embedded Software Development: Plan, implement, and verify low-level software for embedded systems, including BSP, firmware drivers, and ROM code.

    · RTOS Application and Driver Development: Develop device drivers for accelerators and heterogeneous multi-processor platform applications, as well as system services for operating systems such as Zephyr RTOS or FreeRTOS.

    · Software/Hardware Co-design: Plan hardware accelerator usage models and software interfaces, including register definitions, task orchestration, and data flows.

    · System Verification: Perform verification tasks related to firmware and hardware interactions, such as data flow profiling and hardware benchmarking.

    · Embedded Security: Design and implement security mechanisms at the firmware level, including secure boot, trusted execution environments (TEE), and control flow integrity to ensure robust protection across the platform.

    Testing and Automation

    · Hardware Simulation and Emulation: Verify software functionality and hardware interactions using simulation and emulation environments, including Hardware-in-the-Loop (HIL) setups and hardware debugging tools.

    · Continuous Integration and Test Frameworks: Develop and maintain test frameworks and test vectors for embedded systems; integrate automated testing pipelines with CI/CD tools such as Jenkins, GitLab CI, or Azure DevOps.

    Collaboration and Documentation

    · Hardware Interaction: Work closely with hardware teams to ensure seamless software-hardware integration and accurate testing scenarios.

    · Documentation: Prepare and maintain technical documentation, including testing procedures, logs, and reports for software and hardware validation.

  • What you bring to this role:

  • · Embedded C Programming: Strong proficiency in C for embedded systems development; experience with Rust is a plus.

    · Scripting: Practical experience with scripting tools and languages such as Bash, awk, Python, Makefiles, and Tcl.

    · Embedded Architectures: Familiarity with ARM Corstone reference designs, ARM Cortex processors, and their associated toolchains.

    · Low Power Design: Understanding of low-power design principles, energy-efficient algorithms, and power profiling tools.

    · Debugging Tools: Proficiency with debugging tools like JTAG, GDB, and serial debuggers.

    · Automation Tools: Experience with CI/CD pipelines, Jenkins, GitLab CI, or similar tools.

    · Version Control: Expertise with Git or similar version control systems.

  • Bonus points for the following:

  • · Experience with TrustedFirmware-M and MCUboot.

    · Familiarity with PSA certification processes and requirements.

    · Experience with secure firmware updates (OTA) and bootloader development.

    · Knowledge of AMBA interconnect protocols (AXI, AHB, APB).

    · Knowledge of hardware protocols such as SPI, I2C, UART, and GPIO.

    · Familiarity with hardware simulation tools and mock environments for testing.

    · Knowledge of embedded security and cryptographic algorithms, including Post-Quantum Cryptography (PQC).

    · Familiarity with 3GPP network protocols.

    · Education: Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.

  • Apply →