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.