Firmware Engineer

ROBOTIC MINDS LLC
Palo Alto, United States of America
31 days ago

Role details

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

Job location

Palo Alto, United States of America

Tech stack

Board Bringup
Application Layers
Automation of Tests
C++
Communications Protocols
Computer Engineering
Software Debugging
Linux
EtherCAT
Firmware
FreeRTOS
Design of User Interfaces
Hardware-In-The-Loop Simulation
Joint Test Action (IEEE Standards)
Real-Time Operating Systems
Regression Testing
Universal Asynchronous Receiver/Transmitter
Data Logging
Scripting (Bash/Python/Go/Ruby)
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