Key Responsibilities:
- Develop and maintain firmware for microcontrollers such as STM32 (STM32H7, STM32F4, STM32G0, etc.)
- Implement and manage communication protocols including UART, I2C, SPI, CAN, Modbus, RS485, and Ethernet
- Handle the complete lifecycle of embedded products from concept to deployment and field support
- Develop and integrate device drivers, middleware, and application-level code
- Collaborate with hardware and system design teams to ensure seamless hardware-software integration
- Debug, test, and optimize firmware for performance, memory usage, and power efficiency
- Create detailed technical documentation, test plans, and development reports
- Participate in code reviews and contribute to improving firmware development standards and practices
- Ensure compliance with embedded development standards (e.g., MISRA)
- Provide on-site support when required
Technical Skills Required:
- Proficiency in Embedded C/C++ programming
- Experience with microcontrollers and processors (STM32, TI, NXP, Microchip preferred)
- Hands-on experience with embedded debugging tools (JTAG, SWD, Logic Analyzer, Oscilloscope)
- Understanding of RTOS concepts (experience with FreeRTOS or similar is a plus)
- Familiarity with version control systems (Git)
- Knowledge of low-level hardware interfacing and peripheral configuration
Behavioural Skills Required:
- Strong problem-solving and debugging abilities
- Ability to work effectively both independently and within a team
- Excellent written and verbal communication skills
- Willingness to learn and adapt to new technologies