We are seeking a skilled Embedded Software Engineer to be a core member of our product development team. This role is responsible for designing, developing, and optimizing firmware for new IoT devices and integrating them with Real-Time Operating Systems (RTOS), requiring deep expertise in microcontroller hardware and low-level programming.
Design, implement, and debug robust firmware and drivers for new hardware architectures using C/C++.
Develop and maintain embedded software for IoT devices, focusing on connectivity, power management, and security.
Write efficient and reliable code for various microcontrollers (e.g., ARM Cortex-M, PIC, AVR) and peripheral interfaces (I2C, SPI, UART, ADC).
Work extensively with Real-Time Operating Systems (RTOS), including configuration, task scheduling, memory management, and inter-task communication.
Optimize system performance, memory usage, and real-time responsiveness to meet strict product requirements.
Conduct hardware-software integration, validation, and verification testing on prototype and production units.
Collaborate closely with Hardware Engineers on board bring-up, schematic review, and component selection.
Utilize lab equipment (oscilloscopes, logic analyzers) and debugging tools (JTAG, SWD) for hardware-software interface validation.
Manage version control and build processes using tools like Git and CMake.
Education: Bachelor's or Master's degree in Electrical Engineering, Computer Science, or a related technical field.
Experience: 2+ years of experience in embedded software development.
Technical Proficiency: Expert knowledge of C/C++ for embedded systems.
Domain Expertise: Mandatory hands-on experience with RTOS (e.g., FreeRTOS, Zephyr, or similar) and direct hardware interfacing.
Preferred: Experience with wireless technologies (Wi-Fi, Bluetooth, Zigbee) and low-power design.