Embedded Engineer - Motor Control Firmware

Microsoft
Shanghai, VA, United States
about 2 months ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Experience required
8 years minimum
Working hours
Regular working hours
Languages
English
Job source

Tech stack

Application Programming Interfaces (APIs) Computing Platforms ARM Architecture Automation of Tests Computer Programming Computer Engineering Datasheets Software Debugging Embedded Software EtherCAT Firmware Hardware-In-The-Loop Simulation
+4 more
Python (Programming Language) 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

Apply for this position

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

Apply on mobileye.com

Good distractions

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

2:19 min

Orchestrating over-the-air firmware updates for vehicle modules

Denis Grahovac · WWC 2021

3:51 min

Technical skills and collaborative mindsets for mobility engineering roles

Georg Kühberger +1 · LIVE

2:20 min

Utilizing custom firmware for variable torque manipulation

Daniel Meilak Daniel Meilak +1 · WWC Europe 2026

1:19 min

Advancing autonomous driving capabilities with specialized software talent

Katrin Lehmann Katrin Lehmann +1 · Coffee With Developers

2:34 min

Selecting specific microcontrollers and fundamental programming languages for powertrains

David Romić · WWC 2023

2:13 min

Evaluating Rust for modernizing embedded C firmware

Michael Friedrich Michael Friedrich · WWC Europe 2026

Videos

See all

Related articles

See all