| 13 Visits |
0 Applicants |
Job Description:
Software Engineer - Embedded Systems (STM32 & TouchGFX) I. Position Summary We are seeking a highly motivated and experienced Software Engineer to join our embedded systems development team. The successful candidate will be responsible for the full lifecycle development of firmware for next-generation products utilizing STMicroelectronics STM32 microcontrollers. A core component of this role involves designing, implementing, and maintaining high-performance, responsive graphical user interfaces (GUIs) using the TouchGFX framework. This role requires deep expertise in embedded C/C++ and proficiency with real-time operating systems (RTOS) and peripheral integration. II. Essential Technical Skills & Requirements A. Core Embedded Systems & C++ Proficiency Skill Category Required Competency Details Language Expert-level C/C++ Mandatory proficiency in modern C++ for embedded systems, including object-oriented design, templates, and memory management. Microcontrollers STM32 Architectures Deep understanding of various STM32 families (e.g., F4, H7, L4), memory maps, clock configuration, and power optimization techniques. RTOS Real-Time Operating Systems Extensive experience developing and debugging multi-threaded applications using an RTOS (e.g., FreeRTOS). Hardware Interfacing Peripheral Drivers Expert-level knowledge of major communication protocols (I2C, SPI, UART/USART, CAN, Ethernet) and memory interfaces (QSPI, SDRAM). Debugging/Testing Tools and Techniques Proficiency with hardware debugging tools (JTAG/SWD, logic analyzers, oscilloscopes) and unit testing frameworks for embedded code. Version Control Git Mandatory use of Git for source code control, including branching, merging, and pull request workflows. B. STM32CubeIDE/HAL Environment These skills pertain specifically to the STMicroelectronics development ecosystem. Skill Category Required Competency Details Development Tool STM32CubeIDE Full lifecycle development experience, including project setup, toolchain configuration, and build management within the IDE. Low-Level Code STM32CubeMX & HAL/LL Expert use of STM32CubeMX for peripheral configuration and code generation. Deep understanding of the Hardware Abstraction Layer (HAL) and/or Low-Layer (LL) libraries for writing efficient driver code. DMA/Interrupts Efficient Data Handling Proven ability to configure and utilize DMA (Direct Memory Access) for high-speed data transfer (e.g., graphics buffers, streaming audio) and robust interrupt handling. C. TouchGFX Development These skills are crucial for developing the device's user interface. Skill Category Required Competency Details Framework Expertise TouchGFX Designer Advanced knowledge of the TouchGFX framework, including the Model-View-Presenter (MVP) architecture for GUI applications. UI Implementation Widgets & Custom Drawing Proficiency in using standard TouchGFX widgets (containers, buttons, lists, charts) and creating custom widgets using draw() and handleTickEvent(). Data Interaction Backend Integration Experience in bridging the TouchGFX layer (Presenter/Model) with the underlying C/C++ application logic and hardware data (e.g., sensors, network stack). Optimization Performance & Memory Proven ability to optimize GUI performance, including reducing rendering time, managing texture/image memory (external flash/SDRAM), and avoiding tearing/flicker (double buffering). Asset Management Typography & Graphics Managing and optimizing assets (images, fonts, translations) within the TouchGFX Designer for efficient use of embedded memory resources. III. Qualifications and Experience Experience with industrial communication protocols (e.g., Modbus, EtherCAT) is a strong plus
Candidate Requirements:
Experience with industrial communication protocols (e.g., Modbus, EtherCAT) is a strong plus
| Source: | Company website |
| Posted on: | 31 Dec 2025 (verified 03 Jan 2026) |
| Type of offer: | Graduate job |
| Languages: | English |