Embedded Firmware Engineer

Sf Motors
Milpitas, CA, United States
6 days ago
Apply on www.dice.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Experienced
Experience required
3 years minimum
Compensation
$80,000.0 - $120,000.0
Working hours
Regular working hours
Languages
Chinese, English
Job source

Tech stack

Board Bringup Adobe InDesign Booting (BIOS) C++ (Programming Language) CANopen Configuration Management Code Review Computer Engineering Software Debugging Linux Ethernet EtherCAT
+14 more
Firmware FreeRTOS Hardware-In-The-Loop Simulation Joint Test Action (IEEE Standards) Python (Programming Language) Modbus Real-Time Operating Systems Robot Operating System Real Time Systems Concurrency Control Structures Hardware Testing Git Information Technology

Job description

  • Develop and maintain firmware for humanoid robot controllers, joint actuators, and dexterous hands; contribute to firmware architecture.
  • Develop embedded C/C++ firmware, peripheral drivers, and RTOS applications; support board bring-up and hardware validation.
  • Implement CAN/CAN FD and Ethernet communication with deterministic timing and synchronized multi-joint actuation.
  • Work with controls engineers to implement actuator control loops, sensor integration, and calibration.
  • Collaborate with software and controls engineers on firmware interfaces, data models, and SDK integration.
  • Implement fault protection, diagnostics, bootloaders, firmware updates, and configuration management.
  • Debug hardware and firmware integration issues; develop Python test tools and support regression and hardware-in-the-loop testing.
  • Participate in design and code reviews; maintain technical documentation and support firmware releases.

Requirements

  • B.S., M.S., or Ph.D. in Electrical Engineering, Computer Engineering, Computer Science, or a related field, or equivalent professional experience.
  • 1~3 years of professional embedded firmware development experience in industry, including hands-on work with physical hardware.
  • Strong C proficiency and working knowledge of C++, real-time systems, interrupts, and concurrency.
  • Hands-on experience with STM32, TI, Renesas, or similar MCUs, peripheral drivers, and an RTOS such as FreeRTOS or Zephyr.
  • Experience with PCB bring-up, schematic interpretation, and oscilloscope, logic analyzer, and JTAG/SWD debugging.
  • Firmware experience in robotics, motor controllers, or multi-axis systems, including CAN/CAN FD and motor control fundamentals such as FOC, PID, and encoder feedback.
  • Ability to develop and validate firmware, troubleshoot issues, and collaborate using Git and code reviews, with effective technical communication in English., * Professional working proficiency in English and Mandarin for collaboration with engineering teams and suppliers.
  • Experience with humanoid robots, joint modules, dexterous hands, and BLDC/PMSM motor control, including torque or impedance control.
  • Familiarity with EtherCAT, CANopen, Modbus, ROS/ROS2, Linux, SDK development, or simulation integration.
  • Experience with Python automation, embedded CI/CD, hardware-in-the-loop testing, production calibration, or field diagnostics.

Base salary range: $80,000-$120,000 per year. The actual base salary offered will depend on the candidate’s experience, skills, qualifications, and other job-related considerations. This position may also be eligible for additional compensation and benefits.

Candidates must be legally authorized to work in the United States, and verification of employment authorization will be required at the time of hire.

Apply for this position

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

Apply on www.dice.com
Prepare application

Good distractions

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

3:51 min

Technical skills and collaborative mindsets for mobility engineering roles

Georg Kühberger +1 · LIVE

1:23 min

Raspberry Pi and Modbus for feeder control

Øivind Heggland Øivind Heggland · Europe 2026 Virtual

52 sec

Running persistent Linux environments directly on Windows

Ben Breard Ben Breard · World Congress 2025

6:21 min

Investigating push inefficiencies with upstream Git experts

Jonathan Creamer · Coffee With Developers

1:12 min

Abstracting physical machine boundaries using industrial edge gateways

Freya Menzel Freya Menzel +1 · Europe 2026 Virtual

3:55 min

Demonstrating .NET installation on Debian and Azure Linux

Silvano Coriani Silvano Coriani · Europe 2026 Virtual

Videos

See all

Related articles

See all