Embedded Software Engineer
* This is a highly skilled role in the field of embedded system development, focusing on STM32 microcontrollers.
We are seeking an experienced Embedded Software Engineer to join our team. The ideal candidate will have a strong background in C programming for embedded systems and familiarity with C++ for embedded applications.
The successful candidate will be responsible for designing, developing, and maintaining embedded software for STM32-based systems. This will include implementing robust, real-time motor control algorithms and developing firmware for a range of STM32 peripherals.
We require the following skills and experience:
* Good knowledge of STM32 ARM Cortex-M microcontrollers.
* C programming for embedded systems.
* Familiarity with C++ for embedded applications.
* In-depth understanding of STM32 communication protocols: UART, SPI, I2C, CAN, USB, Ethernet.
* Experience working with STM32 HAL and LL APIs.
* Confident in writing bare-metal firmware (without RTOS) when required.
* Skilled in debugging using ST-Link and working within IDEs such as STM32CubeIDE or VSCode.
* Proficient with Git for version control in collaborative environments.
We also look for desirable attributes and skills, including:
* Experience with FreeRTOS or RTOS concepts for multitasking.
* Using logic analysers, oscilloscopes, and multi-meters for troubleshooting.
* Strong analytical and problem-solving skills.
* Self-motivated and capable of working independently as well as part of a team.
The successful candidate can expect a competitive salary based on experience and opportunities for career development. We offer a supportive and collaborative working environment where you can work on innovative and technically challenging projects.