We are looking for a skilled Embedded Engineer Lead to design, develop, and validate firmware for industrial-grade embedded systems built on ARM Cortex-M4 platforms. The ideal candidate will have hands-on experience across the full embedded development lifecycle from bare-metal and RTOS-based firmware to board bring-up, protocol integration, and compliance with industrial safety and security standards. This role is well-suited for someone who enjoys working close to the hardware while also being comfortable with system-level Linux engineering and industrial communication protocols.
Key Responsibilities:
- Design, develop, and debug embedded firmware (bare-metal and RTOS-based) for ARM Cortex-M4 (32-bit / 64 Bit) controller platforms.
- Strong expertise in embedded software development, C/C++, Python, communication protocols, and automated test systems. The candidate should also have knowledge of build systems, Git, and the ability to read hardware schematics, and be capable of leading a team.
- Experience with industrial control and monitoring systems, cybersecurity, embedded operating systems (Linux, RTOS, etc.), SIL, and industrial communication protocols would also be an advantage.
- Additional RTOS and SIL Knowledge would be a plus.
- Perform board bring-up activities including peripheral initialization, clock configuration, and low-level device driver development.
- Develop and maintain device drivers for on-chip and external peripherals, ensuring robust hardware-software integration.
- Implement and troubleshoot communication interfaces such as UART, SPI, I2C, RS-232, and RS-485.
- Develop and integrate industrial communication protocols including CAN Bus, Modbus-RTU / TCP, HTTP, TCP/IP, and Ethernet-APL.
- Work on Linux-based backend systems for process automation and system-level diagnostics; write and maintain shell scripts for build, deployment, and automation workflows.
- Debug and validate firmware using JTAG, SWD, oscilloscopes, logic analyzers, and Wireshark; perform static code analysis using PC-Lint.
- Follow structured SDLC practices (V-model) and contribute to development in compliance with IEC 61508 (functional safety) and IEC 62443-4-1 (industrial cybersecurity) standards.
- Conduct protocol conformance testing to ensure interoperability and adherence to industrial communication standards.
- Use IAR Embedded Workbench for firmware development, debugging, and optimization.
- Manage source code using Git and collaborate on CI/CD pipelines and work tracking via Azure DevOps.
- Collaborate with cross-functional teams (hardware, QA, systems engineering) to troubleshoot integration issues and ensure product reliability.
- Prepare and maintain technical documentation, design specifications, and test reports in accordance with SDLC requirements.
Required Technical Skills:
Programming Languages: Embedded C, C++, Shell Scripting
Embedded Platforms: ARM Cortex-M4 (32-bit)
Firmware Development: Bare-metal firmware, RTOS-based firmware, board bring-up, device drivers, hardware-software integration
Communication Interfaces: UART, SPI, I2C, RS-232, RS-485
Industrial Protocols: EtherNet/IP, Modbus-TCP, HART, HTTP, TCP/IP, Ethernet-APL
Linux/System Engineering: Linux backend systems, process automation, shell scripting automation, system-level troubleshooting
Debugging & Validation Tools: JTAG, SWD, oscilloscopes, logic analyzers, Wireshark, PC-Lint
SDLC & Standards: V-model SDLC, IEC 61508, IEC 62443-4-1, protocol conformance testing
Development Tools: IAR Embedded Workbench, Git, Azure DevOps
Preferred to have:
- Prior experience working on process automation, industrial IoT, or field instrumentation products.
- Exposure to certification/compliance testing processes for industrial communication protocols.
- Experience working in Agile/hybrid SDLC environments using Azure DevOps for sprint and backlog management.