BMS Firmware Engineer
Role Overview
We are looking for an experienced BMS Firmware Engineer with strong expertise in State-of-X (SoC / SoH / SoP / SoS / SoR / SoE / SoF) algorithms , embedded systems, and battery modelling. The role involves developing, implementing, and optimizing algorithms that estimate battery state parameters, ensuring safety, robustness, and accuracy across varying operating conditions.
Key Responsibilities
1. SoX Algorithm Implementation
- Convert battery models & equations into embedded-optimized C code .
- Ensure the implementation is :
- computationally efficient
- memory-optimized
- real-time safe
- MISRA-C compliant
- Handle fixed-point math, scaling, quantization, and precision issues.
2. Signal Processing & Data Infrastructure
Implement :ADC acquisition filtersSensor calibration (voltage, current, temperature)Noise filtering (moving average, IIR filters)Guarantee the data needed for SoX is clean, calibrated, low noise .3. Embedded Software Architecture
Own overall BMS firmware , such as :
Task scheduling for SoX updatesRTOS-based designsMemory & stack managementPower managementSafety task integrationTiming guarantees (1 ms, 10 ms, 100 ms tasks)4. Hardware & Driver Layer
Need to implement :
Cell voltage acquisition driversCurrent sensor driversTemperature sensing driversCommunication stack (CAN, LIN, RS232, BLE)5. Safety, Protections & Diagnostics
Responsible for integrating :
OV / UV, OC, OT / UT protectionsFault detection state machinesContactor control / charge-discharge enable logicFunctional safety (ISO 26262 compliance)SoX algorithms compatibility check with ASIL A / B / C / D levels.6. Validation & Testing Support
Unit testing of algorithm code after portingHIL / SIL test executionDebugging & fixing integration bugsEnsuring algorithm runs correctly in edge cases7. Production-Readiness
Bootloader updatesFlash memory managementDiagnostic services (UDS / ISO-TP)Firmware update over CAN or OTAFirmware Development
Develop embedded firmware for BMS microcontrollers (ARM Cortex-M, TI C2000, NXP, Renesas, etc.).Integrate algorithms into production firmware with low-latency and memory-efficient implementations.Write MISRA-C compliant firmware and follow automotive coding standards.Implement communication protocols (CAN, LIN, UDS, ISO-TP).Cross-Functional Collaboration
Work with battery testing teams for data acquisition and characterization.Coordinate with hardware engineers for sensor calibration, ADC accuracy, and signal conditioning.Validate feature engineering through collaboration with data team.Collaborate with IoT / cloud team to collect, process, clean up and validate the data required for battery SoX algorithms.Support system engineers with safety concepts (ISO 26262, functional safety requirements).Required Skills & Experience
Bachelor’s / Master’s in Electrical Engineering, Electronics, Embedded Systems, or related field.5–8 years of experience in battery management systems or embedded systems.Strong knowledge of :Lithium-ion cell behavior (LFP, NMC, etc.)SoX estimation techniques (EKF, UKF, PF, adaptive algorithms)Battery aging & degradation mechanismsECM modeling (Rint, Thevenin, PNGV, dual-RC models)Proficiency in C / C++ for embedded systems.Experience with MATLAB / Simulink, Python.Experience with tools like Vector CANalyzer, HIL systems, ALTAIR, etc. on debugging .dbc files to raw battery data.