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
EnglishJob 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.