Job Description: Firmware / Embedded Software EngineerRole OverviewWe are looking for a skilled Embedded Software Engineer to design, develop, and maintain firmware for microcontroller-based embedded systems. The role involves low-level programming in Embedded C, working with RTOS, and implementing communication protocols while interfacing with various hardware peripherals.Key Responsibilities- Design, develop, and debug embedded firmware using Embedded C - Develop and maintain applications on RTOS-based systems (FreeRTOS, ThreadX, Zephyr, etc.) - Implement and maintain communication protocols such as UART, SPI, I2C, CAN, USB, Ethernet, MQTT, or Modbus - Work with microcontrollers (ARM Cortex-M, STM32, NXP, TI, Microchip, etc.) - Configure and interface peripherals: GPIO, Timers, ADC, DAC, PWM, Watchdog, DMA - Perform board bring-up and low-level driver development - Debug using JTAG/SWD, logic analyzers, oscilloscopes - Optimize firmware for performance, memory, and power consumption - Collaborate with hardware, QA, and system teams - Follow coding standards, documentation, and version control (Git)Required Skills & Qualifications- Strong proficiency in Embedded C - Hands-on experience with RTOS concepts (tasks, scheduling, semaphores, mutexes, queues, interrupts) - Experience with microcontroller architectures - Solid understanding of embedded peripherals and registers - Experience implementing communication protocols - Familiarity with bare-metal and RTOS-based firmware - Debugging skills using hardware and software tools - Understanding of memory management, linker scripts, and boot processGood to Have- C++ for embedded systems - Embedded Linux exposure - Bootloaders and firmware update mechanisms (OTA) - Low-power design techniques - Safety or automotive standards (MISRA, ISO 26262) - Experience with CI/CD for embedded systemsEducation- Bachelor’s degree in Electronics, Computer Engineering, or related fieldExperience Level (Customize)- Senior: 6- 10 years
Job Title
Senior Firmware Engineer