SPAN logo

Device - Software Engineer (Functional Safety)

SPAN
NewPosted today

LOCATION

Bengaluru · Onsite

EXPERIENCE

6+ Years

TYPE

FullTime

SKILLS REQUIRED

Functional SafetyC ProgrammingEmbedded SystemsReal-Time Operating SystemsARM Cortex-MUnit Testing

Job description

Overview

Device Software team role building and certifying the functional safety (FuSa) firmware for SPAN's Gen3 Smart Panel, a distributed STM32H5 (Arm Cortex-M33) system that controls real grid, home, solar, battery and EV power.

What you'll do

  • Define safety architecture and partitioning, including ARMv8-M TrustZone (Secure / Non-Secure) and MPU privilege levels, safety, interface and application thread classes, and the data/work-transfer layer across the safety boundary.
  • Migrate modules from FreeRTOS/GCC to a certified RTOS (Keil RTX5 FuSa RTS, CMSIS-RTOS2) and ARM Compiler 6 for FuSa, including thread safety classes, priorities and clang/newlib porting issues.
  • Integrate the ST Self-Test Library (CPU register, clock, incremental Flash CRC and March-C RAM tests), internal/external and software watchdogs, program-flow and interrupt monitoring, and root-cause hard faults affecting safe-state responses.
  • Implement PCS safety functions: feeder and busbar protection, grid-outage detection and PLL/grid transitions, power and voltage rationality checks, relay feedback verification, and fault state machines that move the panel into defined safe states (SS1–SS4) within required reaction times.
  • Design safe inter-module communication, including CAN heartbeat supervision and safety-message redesign with CRCs, receiver addressing and sequence numbers.
  • Build verification evidence: unit tests with enforced CI coverage, HITL tests for nominal and abnormal PCS behaviour, fault injection, static analysis, and system tests for certification witness testing.
  • Produce process and documentation: software FMEA, Jama requirement-to-code traceability, coding standards audits, and Annex H deliverables (development plan, safety requirements, architecture, module design, test reports) for certification.

What you'll need

  • Senior / Staff Firmware Engineer, Functional Safety: 6+ years writing production firmware in C and C++ for microcontrollers, with at least 2–3 years on safety-related products (Staff: 10+ years, including technical leadership of a safety-certified product from architecture through certification).
  • Hands-on delivery of firmware through a functional safety standard such as IEC/UL 60730 (Class B/C), IEC 61508, ISO 26262, IEC 62304, DO-178C or UL 1998, including producing the safety evidence.
  • Deep experience with ARM Cortex-M: MPU configuration, fault handlers and hard-fault analysis; ideally ARMv8-M TrustZone.
  • Strong RTOS fundamentals: priorities, priority inversion, ISR/thread interaction, stack sizing, deterministic timing.
  • Practical experience implementing MCU diagnostics: CPU/RAM/Flash self-tests, watchdog strategies, program-flow monitoring.
  • Experience with safety analyses (FMEA/FMEDA, FTA) and requirements traceability tools (e.g. Jama, DOORS, Polarion).
  • Solid test discipline: unit testing with mocks (GoogleTest or similar), coverage targets, HIL/HITL testing, static analysis and coding standards such as MISRA C/C++.
  • Debugging with JTAG/SWD, logic analysers and oscilloscopes; comfortable with CAN, SPI, I2C, UART.
  • Able to take an open-ended safety problem, break it down, drive decisions to resolution across firmware, systems, hardware and product, and explain reasoning clearly to non-specialists and assessors.
  • Junior Firmware Engineer, Functional Safety: 1–3 years of experience (including substantial internships or thesis work) writing firmware in C and/or C++ for microcontrollers.
  • Degree in Electronics, Electrical, Computer Engineering, Computer Science or a related field.
  • Good grasp of embedded fundamentals: memory layout (stack/heap/linker sections), interrupts, volatile and concurrency hazards, bit manipulation.
  • Working knowledge of an RTOS (FreeRTOS, Zephyr, RTX or similar) and at least one of CAN, SPI, I2C or UART.
  • Comfortable debugging on real hardware with a debugger (JTAG/SWD) and basic lab equipment.
  • Writes unit tests as a habit; familiar with Git and code review workflows.
  • Careful, detail-oriented and interested in why things fail.

Nice to have

  • STM32 (especially STM32H5/U5/L5) and the ST X-CUBE-STL self-test library.
  • Keil RTX5 / FuSa RTS, ARM Compiler 6 for FuSa, SafeRTOS, or similar certified toolchains.
  • UL 3141, UL 1741 / IEEE 1547, or other grid/inverter/power-control standards.
  • MCUboot or secure boot / OTA in safety-relevant systems.
  • Experience leading witness testing or audits with a certification body (UL, Intertek, TÜV, CSA).
  • Energy metering ICs, relay/contactor control, or power electronics.
  • Exposure to any functional safety standard (IEC 60730, IEC 61508, ISO 26262) or to MISRA C (Junior role).
  • ARM Cortex-M / STM32 experience, MPU or TrustZone exposure (Junior role).
  • GoogleTest/CppUTest, CI pipelines, Python for test automation (Junior role).
  • Hardware-in-the-loop test rigs, or power electronics / energy metering projects (Junior role).

Details

  • Location: Bengaluru.

Read the full description and apply on the company’s own careers page.

Stay safe

Hiring on Abekus is free for applicants

We never charge a fee, and employers are prohibited from doing so. If a recruiter asks for payment, please report them right away.

Device - Software Engineer (Functional Safety)