Embedded Engineer - Motor Control Firmware

Microsoft
Redmond, United States of America
7 days ago

Role details

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

Job location

Shanghai, United States of America

Tech stack

API
Computing Platforms
ARM
Automation of Tests
Computer Programming
Computer Engineering
Datasheets
Software Debugging
Embedded Software
EtherCAT
Firmware
Hardware-In-The-Loop Simulation
Python
MISRA C (C Programming Language)
Real Time Systems
Bare Metal

Job description

  • Design and develop real-time firmware in C for the STM32-class MCU on the Motor Controller PCB - bare metal, no OS
  • Implement and optimize the control algorithms defined by the Motion Control Engineer: FOC commutation and current/velocity/position loops, with guaranteed loop timing
  • Own calibration routines (encoder offset, current sensing), protections, and fault handling (over-current, over-temperature, encoder loss)
  • Implement the EtherCAT/CAN slave stack and the joint-level communication API exposed to the robot's compute platform
  • Own bootloader, flashing, and fleet firmware-update flow across all joints
  • Work with high-speed peripherals: ADCs, DMA, timers/PWM, interrupts
  • Bring up new board revisions with the electrical engineer; debug with logic analyzers, oscilloscopes, and HIL setups
  • Take full ownership of your code - from bring-up to deployment on the walking robot

Requirements

  • A bare-metal firmware engineer who thinks in microseconds and interrupt priorities
  • Obsessive about determinism, correctness, and clean fault behavior
  • At home on the bench with a logic analyzer and an oscilloscope, * B.Sc. in Electrical Engineering, Computer Engineering, or a related field
  • 8+ years of embedded firmware development in bare-metal, hard real-time systems
  • Strong proficiency in C and STM32 (or equivalent ARM Cortex-M) programming
  • Hands-on experience with motor control firmware (FOC, current/velocity/position loops, encoder interfaces) and/or industrial protocols (EtherCAT, CAN)
  • Excellent debugging skills in both code and hardware environments
  • Comfortable with schematics, datasheets, and bench instrumentation

Advantages:

  • Deep EtherCAT knowledge, including slave stack integration and real-time tuning
  • Experience with servo drives, drone ESCs, or robot joint controllers
  • Exposure to Python for test automation
  • Familiarity with MISRA C or structured safety-oriented code practices
  • Comfortable communicating technical topics in English with international teams

About the company

Microsoft is a global technology company headquartered in Redmond, Washington. Our mission is to empower every person and every organization on the planet to achieve more. We develop, license, and support a wide range of software products, services, and devices that help individuals and businesses realize their full potential.

Our flagship products include the Microsoft 365 productivity cloud, Windows operating system, Azure cloud platform, and Dynamics 365 business applications. We are also a leader in areas such as artificial intelligence, cybersecurity, developer tools, and gaming through Xbox and Game Pass.

With operations in more than 190 countries and over 220,000 employees worldwide, Microsoft is committed to responsible innovation, inclusive economic growth, and sustainability. We work closely with governments, industries, and communities to ensure that technology serves the public good and helps address some of the world’s most pressing challenges.

As we celebrate our 50th anniversary in 2025, we continue to look forward—investing in AI, cloud, and quantum computing to shape the future of work, education, and society at large scale.

Apply for this position