Embedded Software Developer – Battery Management Systems (BMS)

Pentangle Tech Services | P5 Group

Plymouth (MI)

On-site

USD 120,000 - 170,000

Full time

1 hour ago
Be an early applicant

Get a reply from this employer

Your resume and cover letter, tailored to exactly what they’re hiring for.

Get past ATS filters

Job summary

Pentangle Tech Services | P5 Group in Michigan is seeking an experienced Embedded Software Engineer with BMS expertise to design, develop, integrate, and validate embedded software for EV/HEV battery systems. The role focuses on safety-critical automotive software and requires hands-on programming in Embedded C/C++ on automotive MCUs.

You will work with CAN/CAN FD, ECU diagnostics, AUTOSAR Classic, and ISO 26262 guidelines, performing debugging with Vector CANoe/CANalyzer and Lauterbach TRACE32,

Qualifications

  • Bachelor's or Master's degree in Electrical Engineering, Electronics, Computer Engineering, or Computer Science.
  • Strong hands-on programming experience in Embedded C/C++.
  • Experience developing software for automotive embedded controllers or ECUs.
  • Experience with automotive microcontrollers such as Infineon AURIX, NXP S32K/S32G.

Responsibilities

  • Design, develop, and maintain embedded software for automotive Battery Management Systems (BMS).
  • Develop software functions for battery monitoring, SOC, SOH, SOP, cell balancing, and battery protection.
  • Implement battery safety features, fault management, contactor control, high-voltage interlock, and thermal management interfaces.
  • Develop production-quality embedded software using C/C++.
  • Develop and integrate low-level drivers, middleware, application software, and hardware abstraction layers.
  • Implement communication protocols including CAN, CAN FD, LIN, SPI, I2C, and UART.
  • Implement automotive diagnostics using UDS (ISO 14229), DTCs, and ECU diagnostic services.
  • Integrate software with battery monitoring ICs, sensors, actuators, and vehicle ECUs.
  • Perform debugging and troubleshooting using Vector CANoe/CANalyzer, Lauterbach TRACE32, oscilloscopes, and logic analyzers.
  • Support unit testing, software integration, SIL, HIL, and vehicle-level validation.
  • Perform root-cause analysis and resolve software defects.
  • Follow automotive software development standards, including AUTOSAR Classic, ASPICE, and ISO 26262.
  • Participate in software architecture reviews, code reviews, requirements analysis, and technical documentation.

Skills

Embedded C/C++
Real-time embedded systems
CAN/CAN FD
ECU diagnostics
Microcontroller programming
Debugging & root-cause analysis

Education

Bachelor's or Master's degree in Electrical Engineering/ Electronics/ Computer Engineering/ CS

Tools

Vector CANoe/CANalyzer
Lauterbach TRACE32
MATLAB/Simulink
Stateflow
ECU flashing tools

Job description

We are seeking an experienced Embedded Software Developer with expertise in Battery Management Systems (BMS) to design, develop, integrate, and validate embedded software for automotive battery management applications used in Electric Vehicles (EVs) and Hybrid Electric Vehicles (HEVs).

The ideal candidate will have strong hands-on experience in Embedded C/C++, automotive microcontrollers, CAN/CAN FD communication, ECU diagnostics, and real-time embedded software development. Experience with EV battery management, battery monitoring, protection mechanisms, and functional safety is highly preferred.

Key Responsibilities
  • Design, develop, and maintain embedded software for automotive Battery Management Systems (BMS).
  • Develop software functions for battery monitoring, State of Charge (SOC), State of Health (SOH), State of Power (SOP), cell balancing, and battery protection.
  • Implement battery safety features, fault management, contactor control, high-voltage interlock, and thermal management interfaces.
  • Develop production-quality embedded software using C/C++.
  • Develop and integrate low-level drivers, middleware, application software, and hardware abstraction layers.
  • Implement communication protocols including CAN, CAN FD, LIN, SPI, I2C, and UART.
  • Implement automotive diagnostics using UDS (ISO 14229), DTCs, and ECU diagnostic services.
  • Integrate software with battery monitoring ICs, sensors, actuators, and vehicle ECUs.
  • Perform debugging and troubleshooting using Vector CANoe/CANalyzer, Lauterbach TRACE32, oscilloscopes, and logic analyzers.
  • Support unit testing, software integration, SIL, HIL, and vehicle-level validation.
  • Perform root-cause analysis and resolve software defects.
  • Follow automotive software development standards, including AUTOSAR Classic, ASPICE, and ISO 26262.
  • Participate in software architecture reviews, code reviews, requirements analysis, and technical documentation.
Required Qualifications
  • Bachelor's or Master's degree in Electrical Engineering, Electronics, Computer Engineering, Computer Science, or a related field.
  • Strong hands-on programming experience in Embedded C/C++.
  • Experience developing software for automotive embedded controllers or ECUs.
  • Experience with automotive microcontrollers such as:
  • Infineon AURIX
  • NXP S32K/S32G
  • Strong understanding of real-time embedded systems, interrupts, timers, memory management, ADC, PWM, GPIO, watchdogs, and boot initialization.
  • Hands-on experience with CAN/CAN FD and automotive communication protocols.
  • Knowledge of UDS, DTCs, diagnostic sessions, and ECU diagnostics.
  • Experience with embedded software debugging and automotive network analysis tools.
Preferred BMS Experience

Candidates with experience in the following areas will be strongly preferred:

  • Automotive Battery Management Systems (BMS) for EV/HEV/PHEV applications.
  • Lithium-ion battery architectures and battery pack management.
  • Cell voltage, current, and temperature monitoring.
  • SOC, SOH, and SOP algorithms.
  • Cell monitoring and balancing.
  • Contactor and pre-charge control.
  • High-voltage safety and isolation monitoring.
  • Battery thermal protection and management.
  • Over-voltage, under-voltage, over-current, and short-circuit protection.
  • BMS diagnostics and fault management.
Technical Skills & Tools
Category
Technologies

Programming

Embedded C, C++, Python

Automotive

AUTOSAR Classic, UDS, CAN, CAN FD, LIN

Communication

SPI, I2C, UART

Microcontrollers

Model-Based Development

MATLAB, Simulink, Stateflow

Functional Safety

ISO 26262, ASPICE, MISRA C/C++

Testing

Unit Testing, SIL, HIL, Integration Testing

Configuration & ALM

Preferred Skills
  • Experience developing safety-critical automotive embedded software.
  • Understanding of ASIL-oriented software development and functional safety concepts.
  • Knowledge of MISRA C/C++ coding guidelines and static code analysis.
  • Experience with MATLAB/Simulink and model-based software development.
  • Knowledge of bootloaders and ECU flashing.
  • Familiarity with automotive ECU cybersecurity.
  • Strong debugging, troubleshooting, and root-cause analysis skills.
  • Ability to work collaboratively with hardware, systems, controls, validation, and functional safety teams.
Ideal Candidate Profile

We are looking for an Embedded Software Engineer with strong automotive ECU development experience and preferably direct hands-on BMS development experience. Candidates with EV battery management, Embedded C/C++, CAN/CAN FD, automotive microcontrollers, and functional safety backgrounds will be given preference.

Get your free, confidential resume review.

or drag and drop your file here.

Similar jobs

Similar jobs worth comparing

Embedded Software Developer – Battery Management Systems
Embedded Software Developer – Battery Management Systems

Pentangle Tech Services | P5 Group • Plymouth (MI)

On-site
USD 110,000 - 150,000
BMS Application Engineer
BMS Application Engineer

CloudIngest • Troy (MI)

On-site
USD 100,000 - 130,000
Senior Embedded Software Engineer
Senior Embedded Software Engineer

Our Next Energy • Novi (MI)

On-site
USD 100,000 - 150,000
Senior Software Engineer
Senior Software Engineer

Synergia Automotive LLC • Ann Arbor (MI)

On-site
USD 120,000 - 180,000
Lead BMS Software Engineer
Lead BMS Software Engineer

Carter Murray • Houston (TX)

On-site
USD 140,000 - 190,000
Embedded Software Engineer
Embedded Software Engineer

Emergent Staffing • Carlsbad (CA)

On-site
USD 150,000 - 210,000
Embedded Software Engineer
Embedded Software Engineer

Emergent Software • Carlsbad (CA)

On-site
USD 130,000 - 190,000
Embedded Software Engineer, Battery Management (BMS)
Embedded Software Engineer, Battery Management (BMS)

Pentangle Tech Services | P5 Group • Plymouth (MI)

On-site
USD 110,000 - 150,000
EV Battery Management Systems Embedded Engineer
EV Battery Management Systems Embedded Engineer

Pentangle Tech Services | P5 Group • Plymouth (MI)

On-site
USD 120,000 - 170,000
Battery Management Systems Engineer
Battery Management Systems Engineer

Global Connect Technologies • Milwaukee (WI)

On-site
USD 85,000 - 110,000