Firmware Engineer

ROBOTIC MINDS LLC
Palo Alto, CA, United States
about 2 months ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Job source

Tech stack

Board Bringup Application Layers Automation of Tests C++ (Programming Language) Communications Protocols Computer Engineering Software Debugging Linux EtherCAT Firmware FreeRTOS Design of User Interfaces
+10 more
Hardware-In-The-Loop Simulation Joint Test Action (IEEE Standards) Real-Time Operating Systems Regression Testing Universal Asynchronous Receiver/Transmitter Data Logging Scripting Serial Peripheral Interface Real Time Systems Hardware Testing

Job description

  • Write, test, and maintain production-quality firmware in C/C++ or Rust for microcontrollers and embedded processors across the robot
  • Implement and debug embedded communication protocols - CAN, EtherCAT, I2C, SPI, UART - across distributed hardware nodes
  • Configure and manage microcontroller peripherals - GPIO, ADC, PWM, timers, and DMA - to interface with sensors, actuators, and power electronics
  • Integrate sensors (encoders, IMUs, torque sensors, force/torque arrays) into the robot’s real-time pipeline
  • Work closely with electrical engineers on board bring-up, pinout definitions, and hardware-software interface design
  • Develop and tune real-time control loops for motors, actuators, and other physical systems under hard timing constraints
  • Build tooling to support firmware validation, regression testing, and hardware-in-the-loop systems
  • Triage and debug complex interactions between firmware, hardware, and higher-level software during development and field deployment

Requirements

Do you have experience in Universal asynchronous receiver-transmitter (UART) protocol?, * Technical degree in Electrical Engineering, Computer Engineering, or equivalent

  • Demonstrated experience (through work, research, or projects) building firmware for real physical systems - robots, motors, power electronics, or similar
  • Deep fluency in C/C++ and/or Rust for embedded targets; comfort reading datasheets and writing drivers
  • Hands-on experience with RTOS environments (FreeRTOS, Zephyr, or similar) - task scheduling, priority management, and real-time guarantees
  • Strong working knowledge of embedded communication protocols: CAN, EtherCAT, I2C, SPI, UART
  • Direct experience configuring microcontroller peripherals (GPIO, ADC, PWM, timers, DMA) and understanding their impact on system timing and performance
  • Experience integrating sensors and actuators at the firmware level - not just using libraries, but understanding the hardware underneath
  • Proven ability to debug across the hardware/software boundary with oscilloscopes, logic analyzers, and JTAG
  • You are comfortable with ambiguity, move fast, and have an “engineering curiosity” that drives you to understand how the entire system works, not just your part

Nice to Have

  • Experience with safety-critical or deterministic real-time systems (IEC 61508, ISO 26262, or similar)
  • Familiarity with field-oriented control (FOC) or other motor control algorithms
  • Experience with Linux-based embedded systems and the boundary between RTOS and application layers
  • Python scripting for test automation, data logging, or hardware validation

About the company

At Mind Robotics, we’re building generalized physical AI-robotic systems capable of dexterous, adaptive, and reasoning-intensive work in real-world industrial environments. Firmware is the connective tissue between intelligence and action; the layer where commands become motion.

We’re looking for a Firmware Engineer to own the embedded software that brings our robots to life - from low-level motor control and real-time scheduling to the communication buses that tie the whole system together.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on indeed.com

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

1:39 min

Core skills required for robust robotic systems

Falk-Moritz Schaefer · WWC 2022

52 sec

Running persistent Linux environments directly on Windows

Ben Breard Ben Breard · WWC 2025

2:19 min

Orchestrating over-the-air firmware updates for vehicle modules

Denis Grahovac · WWC 2021

2:13 min

Evaluating Rust for modernizing embedded C firmware

Michael Friedrich Michael Friedrich · WWC Europe 2026

2:39 min

Experiencing core Linux capabilities for DevOps administration

Michael Cade · LIVE

2:20 min

Utilizing custom firmware for variable torque manipulation

Daniel Meilak Daniel Meilak +1 · WWC Europe 2026

Videos

See all

Related articles

See all