Job OverviewWe are looking for a Freelance Embedded Software Developer to join the RD team on a project basis. This role involves designing and developing embedded firmware using C++, STM32 microcontrollers, and Linux-based platforms for fire detection systems. The ideal candidate will be experienced, detail-oriented, and capable of delivering high-quality software for safety-critical applications.Key ResponsibilitiesDevelop embedded firmware in C++ for STM32-based platforms.Implement low-level drivers and communication interfaces (e.g., UART, SPI, CAN, I2C).Work with Linux-based development tools and environments, including kernel configuration and build systems.Collaborate with hardware engineers to ensure system integration and performance.Conduct rigorous testing and debugging to meet safety and reliability standards.Maintain documentation and support the product through the full development cycle.Required QualificationsSolid experience in embedded software development using C++.Proficiency with STM32 microcontrollers and embedded peripherals.Strong understanding of Linux OS in embedded contexts (e.g., Yocto, Buildroot).Comfortable with debugging tools such as GDB, oscilloscopes, and logic analyzers.Familiarity with Git and structured development workflows.Ability to work independently and meet technical and project deadlines.Desirable SkillsExperience with real-time operating systems (RTOS) like FreeRTOS.Knowledge of industry standards for fire detection or safety-critical systems (e.g., EN54).Fluency in French or Dutch is a plus.Contract DetailsType: Freelance / ContractStart Date: ASAPDuration: Determined by project scopeLocation: Liège, Belgium (Remote flexibility possible)Compensation: Competitive and commensurate with experience