BorgWarner Inc.

Senior Software Engineer

BorgWarner Inc.
Apply
2 hours ago
Shanghai, ChinaSenior

Responsibilities

  • Develop and optimize FOC algorithms for PMSM and BLDC motors, including current, speed, and position loops.
  • Implement SVPWM, MTPA, field weakening, and dead-time compensation.
  • Develop EtherCAT and CANopen protocol-stack drivers, including CiA 402 support.
  • Integrate absolute and magnetic encoders using BiSS, SSI, EnDat, and SPI.
  • Optimize real-time performance on ARM Cortex-M/R and TI C2000 platforms.
  • Collaborate with hardware engineers on board bring-up and hardware-software system debugging.
  • Provide technical guidance and troubleshooting support for manufacturing and production processes.
  • Follow safety, EHS, and workplace injury-reporting responsibilities.

Requirements

  • Bachelor’s degree or higher in Computer Science, Automation, Electronic Engineering, Mechatronics, or a related field.
  • At least 5 years of embedded software development experience, including at least 2 years focused on motor drives, servo control, or robotic joints.
  • Proficiency in C and C++; familiarity with assembly optimization and low-level register operations is required, while Python and Shell scripting are a plus.
  • Experience with ARM Cortex-M/Cortex-R platforms such as STM32, TC series, and TMS320; multi-core heterogeneous development is preferred.
  • Deep understanding of FOC, SVPWM, MTPA, and field-weakening control; sensorless FOC experience is a plus.
  • Proficiency with EtherCAT, SOEM/IGH, CANopen, and CiA 402; master/slave development experience is preferred.
  • Ability to use oscilloscopes, logic analyzers, and CAN analyzers for hardware-software co-debugging.
  • Familiarity with MATLAB/Simulink model-in-loop workflows and offline motor-model simulation.
  • Strong problem-solving, analytical, communication, teamwork, and interpersonal skills.

Tech Stack

CC++MATLABPython

Categories

BorgWarner Inc.

About BorgWarner Inc.

10,000+ employees
Contact me