Embedded Firmware EngineerDuties and Responsibilities- Develop and maintain firmware on STM32 / TI / Renesas MCU platforms
- Implement and debug low-level drivers (ADC, GPIO, PWM, SPI, I2C, UART, DMA, Timers)
- Support PCB bring-up, board validation, and hardware debugging
- Develop and optimize communication stacks (CAN, CANFD, Ethernet, Modbus, etc.)
- Write clean, maintainable C/C++ for real-time embedded systems
- Diagnose hardware and firmware integration issues
- Collaborate closely with hardware and controls engineers
- Develop internal tools and test scripts (Python preferred)
- Support firmware release cycles, regression testing, and documentation
- Contribute to code reviews and design discussions
- Design and implement firmware architectures that support scalable multi-actuator robotic systems
- Design command, state, telemetry, and fault-management abstractions for multi-joint robotic systems
- Define data models and interfaces for joint states, actuator feedback, control parameters, and real-time robot status
- Collaborate with controls and robotics engineers to translate motion-control requirements into stable firmware and SDK interfaces
- Support integration of SDK interfaces with higher-level robotics frameworks, simulation environments, and ROS/ROS2 when applicable
- Design unified motion-control APIs that abstract individual actuator communication and expose intuitive joint-level and whole-robot control interfaces to upper-layer applications
- Support kinematics-related data exchange and synchronization across distributed nodes
- Ensure deterministic timing and low-latency communication across robotic joints
- Participate in system-level debugging across firmware, SDK, and control layers
- Optimize performance for multi-joint coordination and synchronized actuation
Qualifications- B.S. or M.S. in Computer Engineering, Electrical Engineering, or related field
- 1 - 3 years of embedded firmware experience
- Strong proficiency in C (C++ a plus)
- Hands-on experience with MCU peripherals and low-level driver development
- Experience with board bring-up and debugging tools (oscilloscope, logic analyzer, JTAG)
- Experience with real-time systems
- Basic understanding of industrial communication protocols
- Experience developing firmware for robotic systems, motor controllers, or multi-axis motion platforms
- Understanding of motor control fundamentals (FOC, PID control, current/velocity/position loops)
- Experience working with CAN-based multi-node robotic architectures
- Familiarity with ROS / ROS2 or robotics middleware is a plus
- Experience designing clean, stable SDK APIs for hardware abstraction
- Familiarity with CI/CD workflows for embedded systems
- Experience writing Python scripts for automation or testing preferred
- Comfortable working independently in a fast-paced environment
Pay Range: $80,000- $120,000 per year. The actual base salary offered will depend on factors such as the candidate's experience, skills, qualifications, and job-related considerations. This position may also be eligible for additional compensation and benefits.