Senior Firmware Engineer
Senior Firmware Engineer
Department: TEC Electrical & Battery
Experience Level: 6–9 Years
Location: Chennai, India
Position Type: Full-Time / New Role
About the Role
As a Senior Firmware Engineer, you will spearhead the development and verification of safety-critical embedded code powering our in-house electronic systems for advanced aerial mobility. In this role, you will lead core firmware development and verification entirely in-house. Your software will drive the closed-loop control, monitoring, and fault handling of our Battery Management Systems (BMS SW), Traction Battery Pack safety logic, HV/LV DC-DC converters, chargers, and Battery Thermal Management System (BTMS) controllers, ensuring all sub-systems communicate deterministically to support aircraft-level integration.
What You Will Do
Core Sub-System Control: Design, implement, and validate production-grade firmware in Embedded C/C++ across our core power architectures:
BMS & Pack Safety: Core algorithmic firmware for state-of-charge (SoC), state-of-health (SoH), active/passive cell balancing, fault detection, and high-voltage contactor coordination.
HV/LV Converters: Real-time, high-frequency digital control loops for voltage/current regulation, power electronics modulation, and protective switching thresholds.
BTMS Logic: Actuator control loops (PWM, digital outputs) for pumps, fans, and active cooling/heating elements based on predictive thermal models.
Driver & Bootloader Authoring: Develop low-level bare-metal drivers for microcontrollers (ARM Cortex-M or safety-rated cores), peripheral chips (SPI, I2C, ADC), and custom, secure bootloaders for field-upgradable firmware.
Advanced Troubleshooting & Hardware Debugging: Diagnose complex, intermittent, and timing-critical system issues during hardware bring-up and qualification using JTAG/SWD debuggers, logic analyzers, oscilloscopes, and bus analyzers.
Aviation Verification & Tooling: Drive structural coverage analysis, static analysis, and dynamic code testing using static/dynamic verification suites such as LDRA, Rapita Systems (RapiTest/RapiCover), or equivalent aerospace-grade verification tools.
Deterministic Communication: Implement communication protocol stacks (CAN, CAN-FD) to interface seamlessly with the aircraft-level flight control computer, ensuring predictable timing, low jitter, and bounded latency.
In-House Code Ownership: Establish rigorous coding standards (MISRA C/C++), architectural design patterns, software-in-the-loop (SIL) testing frameworks using Python, and automated test environments to scale internal development capabilities.
Cross-Functional & Stakeholder Collaboration
With Flight Controls & Systems Integration: Define communication data dictionaries, telemetry bandwidth limits, network diagnostic trouble codes (DTCs), and vehicle-level fail-safe handling modes to ensure the battery powertrain responds correctly to autopilot or pilot commands.
With Hardware Design Engineers: Partner during hardware bring-up and verification loops to isolate hardware vs. software issues, validate low-level registry settings, tune sensor calibration curves, and debug board-level signal integrity/timing constraints.
With Battery Systems & Thermal System Engineers: Translate physical electrochemical safety thresholds, charging curves, and cooling fluid flow requirements into algorithmic state machines and deterministic control code.
With V&V Testing Teams: Provide testable software builds equipped with diagnostic hooks, supporting the execution of automated Hardware-in-the-Loop (HIL) testing, safety fault injection testing, and aerospace compliance validation pipelines.
What We Are Looking For (Must-Haves)
Experience: 6 to 9 years of hands-on embedded software development and verification experience, specifically with high-reliability real-time control loops in aviation/aerospace electronics or high-voltage electrical power products (e.g., BMS, power converters, flight controls, or smart grid power distribution).
Language & Tool Mastery: Expert-level mastery of Embedded C/C++, Python scripting for automated testing/data parsing, and modern bare-metal microcontroller architectures (ARM Cortex-M or safety-rated dual-core MCUs).
Firmware Verification Tools: Hands-on experience authoring test suites, executing static analysis, and measuring code coverage (statement/branch/MC/DC) using tools such as LDRA Tool Suite, Rapita Systems, VectorCAST, or Parasoft.
Troubleshooting & Debugging Excellence: Exceptional skills in isolating complex firmware defects using JTAG/SWD, trace analyzers, logic analyzers, oscilloscopes, and CAN bus analyzers under live power conditions.
Safety Frameworks & Quality: Proven track record writing production code adhering to MISRA C/C++ rules and robust exception/fault-handling architectures.
Consultant Transition Leadership: Ability to dissect existing codebases, abstract requirements from external partners, write clean & maintainable code, and take absolute internal code ownership.
Preferred Skills (Good-to-Have)
Direct exposure to aerospace software compliance standards such as RTCA DO-178C / EUROCAE ED-12C (Design Assurance Level DAL B or C).
Experience with worst-case execution time (WCET) analysis and timing verification tools (e.g., RapiTime or AbsInt aiT).
Formal software testing or quality certifications (e.g., ISTQB Foundation/Advanced, INCOSE).