Orbit

Senior Embedded Software Engineer

San Francisco. Posted 4 days ago

The role

You will develop C++ software to control acquisition, configure peripherals, and manage recording sessions for a wearable brain-computer interface. You will design the path from raw sensor frames to a timestamped network stream and evolve a Yocto-based Linux platform.

What you will do

  • Develop C++ software that controls acquisition, configures peripherals, runs self-tests, and manages recording sessions.
  • Design and optimize the path from raw sensor frames through on-device signal processing to a timestamped network stream.
  • Evolve the Yocto-based Linux platform, including application integration, system configuration, and reproducible builds.
  • Solve timing, concurrency, memory, and throughput challenges across a high-performance wearable.
  • Collaborate with hardware and FPGA engineers to bring new sensing capabilities to life.
  • Build automated tests, performance measurements, and development tools.

Required qualifications

  • Degree in computer science, electrical engineering, computer engineering, or a related field.
  • At least five years of relevant professional experience.
  • Experienced in modern C++ for embedded systems, including resource management, concurrency, and debugging.
  • Comfortable developing on embedded Linux, with practical experience using Yocto.
  • Familiar with networked services or messaging protocols such as gRPC, MQTT, DDS, or ZeroMQ, and approaches to moving structured data between systems.
  • Comfortable reasoning across software and hardware boundaries and using measurements to explore design choices.

Nice to have

  • Experience with Verilog, SystemVerilog, or VHDL and FPGA-based acquisition.
  • Know ARM-based systems, AMD/Xilinx Zynq platforms, or AMD's Embedded Development Framework (EDF), with experience in board support packages (BSPs), device trees, or U-Boot.
  • Worked on timing, clock synchronization, digital signal processing (DSP), or high-throughput data acquisition (DAQ).
  • Related real-time operating system (RTOS) experience with FreeRTOS or Zephyr.
  • Developed Linux kernel device drivers or worked with DMA, SPI, I2C, or other hardware interfaces.
  • Experience with scientific instruments, optical sensing, robotics, or other precision measurement systems.
  • Used CMake, GoogleTest, Catch2, or hardware-in-the-loop (HIL) testing.
  • Additional embedded Linux experience with Buildroot, OpenEmbedded, cross-compilation, or debugging with GDB and JTAG.

About the company

Orbit is a team of engineers, neuroscientists, and designers working to deepen understanding of the human brain by building a wearable brain-computer interface and models that decode emotion.

Senior Embedded Software Engineer at Orbit | JobZoey