Full Job Description
You will own the development of Rhoda's low-level firmware stack for distributed real-time control across humanoid platforms. This role centers on deterministic communication, control-loop synchronization, and embedded software robustness in an EtherCAT environment spanning dozens of joints, sensors, and distributed controllers. You will design, implement, and validate firmware components that guarantee sub-millisecond coordination between motor drivers, safety controllers, and perception nodes - bridging the mechanical, electrical, and control domains.
This role is an MTS with a clear path to grow!
What You'll Do
• Select and tune RTOS; define priorities and scheduling; optimize interrupt and DMA paths; harden watchdogs and recovery; measure and guard timing budgets
• Design, implement, and maintain low-level firmware for real-time motion control nodes over EtherCAT
• Develop synchronization and communication layers ensuring deterministic cycle times (
• Configure and optimize EtherCAT masters and slaves (distributed clocks, mailbox protocols, PDO mapping)
• Implement real-time safety mechanisms (Safe Torque Off, watchdogs, and heartbeat monitoring)
• Collaborate with Electronics, Controls, and Systems teams to define timing budgets and data interfaces
• Contribute to the architecture of the hardware abstraction layer (HAL) and firmware APIs for actuator control
• Develop unit, HIL, and integration tests for firmware validation
• Profile and optimize ISR and DMA paths to minimize latency and jitter
• Support bring-up and debugging of custom actuator controllers and sensor boards
• Document firmware architecture, test results, and safety compliance evidence for design reviews
What We're Looking For
• Bachelor's or higher in Electrical Engineering, Computer Engineering, or Robotics
• 2+ years of experience in embedded firmware development for real-time control systems
• Experience with low-level system interfaces (I2C, SPI, Ethernet, USB, CAN bus)
• Experience with micro-controller firmware development across ARM Cortex-M and similar architectures
• Proficiency in C/C++ and experience with low-level debugging (JTAG, logic analyzers, oscilloscopes)
• Experience with real time operating systems (RTOS) (FreeRTOS, Zephyr RTOS)
• Familiarity with SPI, I²C, UART, PWM, ADC, and sensor interface design
• Demonstrated ability to write reliable, well-structured, and maintainable embedded code in safety-critical environments
• Evidence of shipping real-time-critical products
Nice to Have (But Not Required)
• Embedded Linux software development. Board Support Package (BSP) development and integration on Linux-based platforms
• Linux kernel programming: device tree, Kconfig, device drivers, kernel modules.
• Experience with GMSL2 and MIPI-CSI2 camera drivers (V4L2).
• Experience with Field-Oriented Control (FOC) implementation for BLDC motor drives
• Yocto Project / Bitbake for custom distribution builds.