foundation-robotics •

Senior Firmware Engineer

San Francisco, CA, United States

Why We Are Hiring for This Role:


  • To develop, Develop, optimize, and maintain firmware in C and C++ for 32-bit microcontrollers.
  • Build applications on top of FreeRTOS and write bare-metal drivers.
  • Design and implement peripheral drivers and integrations: I2C, SPI, UART, PWM, ADC, and CAN-FD.
  • Bring up new hardware: validate power rails, clocks, peripherals, and communication buses.
  • Profile and tune firmware for timing, memory footprint, and power consumption.
  • Debug complex hardware/firmware issues at the bench using oscilloscopes, logic analyzersand multimeters.
  • Write clear, testable code with unit tests, on-target tests, and code reviews.
  • Collaborate with hardware engineers on schematic and layout reviews from a firmware perspective.
  • Document designs, bring-up procedures, and known issues.

What Kind of Person We Are Looking For:


  • Strong proficiency in C and modern C++ for embedded targets, including understanding of memory layout, linker scripts, startup code, and ISRs.
  • Hands-on experience building production firmware on **FreeRTOS** (tasks, queues, semaphores, mutexes, priority inversion, stack sizing) and on **bare-metal** systems (super-loops, interrupt-driven designs).
  • Solid working knowledge of **I2C**, **SPI**, **PWM** and **ADC**
  • Practical experience with **CAN-FD**: frame formats, bit timing, error handling, and integration with higher-layer protocols.
  • Experience with bootloaders, OTA/firmware updates, and secure boot.
  • Demonstrated ability to debug hardware/firmware interactions using **oscilloscopes** and **logic analyzers** (e.g., Saleae, Keysight, Tektronix)
  • capturing signals, decoding protocols, and reasoning from waveforms to root cause.
  • Comfortable reading datasheets, reference manuals, and schematics.
  • Proficient with Git, toolchains (GCC/Clang, arm-none-eabi), build systems (CMake/Make), and on-target debuggers (GDB, J-Link, ST-Link, OpenOCD).
  • *Motor control** experience: BLDC/PMSM and FOC
  • **Zephyr RTOS**: device tree, Kconfig, driver model, and writing out-of-tree modules.
  • EtherCat and FoE



Benefits


We provide market standard benefits (health, vision, dental, 401k, etc.). Join us for the culture and the mission, not for the benefits.


Salary


The annual compensation is expected to be between $180,000 - $260,000. Exact compensation may vary based on skills, experience, and location

Apply

Tailor your resume for this role?

We couldn't check your fit for this role — add a resume to your profile to see it next time.

A new version of ApplyChill is available