Senior Embedded Software Engineer
hace 3 días
Swadlincote
Senior Embedded Software Engineer (C/C++, STM32, FreeRTOS)Location: Derbyshire (On-site / Remote work available)Salary: £55,000 - £70,000 + BenefitsOverview An exciting opportunity has arisen for a Senior Embedded Software Engineer to design, develop, test and integrate embedded control systems for advanced industrial applications. This role is ideal for an experienced engineer with strong C/C++ embedded development skills, looking to work on real-time systems (RTOS) and ARM Cortex-M microcontrollers (STM32) within a collaborative, multi-disciplinary engineering environment. You will work closely with electrical, mechanical and systems engineering teams to deliver robust, safety-critical and cost-effective embedded software solutions for global customers.Key Responsibilities • Translate system and customer requirements into detailed software specifications and acceptance criteria, • Design and develop embedded software architecture for ARM-based microcontrollers (STM32), • Develop, test and integrate embedded C/C++ firmware for real-time control systems, • Work with FreeRTOS (or similar RTOS) including task scheduling, inter-task communication and debugging, • Implement and optimise communication protocols including Modbus/TCP, CAN, RS232/RS422/RS485 and Ethernet (TCP/UDP), • Interface with analogue and digital hardware (ADCs, DACs, sensors and actuators), • Perform unit testing, static code analysis, code coverage and peer reviews to ensure high-quality software, • Develop and maintain HIL/SIL test environments, • Produce clear technical documentation including specifications, architecture diagrams, and test plans, • Use Git (version control) within a trunk-based development environment with semantic versioning, • Support manufacturing, commissioning and field service teams with troubleshooting and issue resolution, • Drive continuous improvement in software processes, tools and engineering standardsSkills & Experience Required, • Proven experience in embedded software development or industrial control systems, • Strong programming skills in C and/or C++ for embedded systems, • Experience with ARM Cortex-M microcontrollers (STM32 preferred), • Solid understanding of real-time operating systems (FreeRTOS or similar), • Knowledge of functional safety and coding standards (MISRA C:2012, IEC 61508, CERT-C), • Experience with unit testing frameworks (e.g. Unity, Ceedling), static analysis tools and code coverage, • Strong experience with Git version control and modern development workflows, • Knowledge of industrial communication protocols (Modbus, CAN, Ethernet), • Experience integrating embedded systems with sensors and hardware interfaces, • Excellent problem-solving skills, teamwork and communication abilitiesDesirable Skills, • Experience with Python or MATLAB for automation, testing or data analysis, • Ability to read and interpret electrical and mechanical engineering drawings, • Experience working in safety-critical or regulated industries