Embedded Firmware Engineer

Employment Type : Full Time
Location : Hyderabad
Department : Software

We are seeking a highly skilled and motivated Embedded Firmware Engineer to join our dynamic team. You will be responsible for the design, development, and implementation of firmware for embedded systems, with a focus on projects utilizing STM32 and SAM microcontrollers. A strong understanding of ARM architecture is essential for this role. You will collaborate with a multidisciplinary team to bring innovative products to life.

Key Responsibilities
  • Design, develop, and debug embedded firmware for microcontroller-based systems, particularly those utilizing STM32 and SAM microcontrollers.
  • Write efficient and reliable code in C and C++ for embedded environments.
  • Develop basic GUI applications in Qt/C++ for testing system functionality.
  • Develop low-level drivers for peripherals such as UART, SPI, I2C, and other communication interfaces.
  • Utilize your knowledge of ARM Cortex and other ARM architectures to optimize system performance.
  • Work with real-time operating systems (RTOS) such as FreeRTOS or similar platforms, understanding task scheduling and synchronization mechanisms.
  • Implement efficient interrupt handling to ensure real-time responsiveness.
  • Participate in hardware bring-up, debugging, and system integration activities.
  • Collaborate with hardware engineers to understand hardware capabilities and limitations.
  • Develop and execute unit and integration tests to ensure firmware quality and reliability.
  • Contribute to software framework development for continuous integration and development.
  • Prepare firmware design documentation and test plans.
  • Utilize debugging tools such as JTAG, oscilloscopes, and logic analyzers to identify and resolve issues.
  • Apply knowledge of power management strategies to optimize energy consumption in embedded systems.
  • Stay up-to-date with the latest advancements in embedded systems and microcontroller technologies.
Qualifications and Skills
  • Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, or a related field.
  • Minimum of 2 years of relevant experience in embedded firmware development.
  • Strong proficiency in Embedded C and C++ programming.
  • Demonstrated experience working with STM32 and/or SAM family of microcontrollers.
  • Solid understanding of ARM microcontroller architectures (e.g., ARM Cortex-M).
  • Experience with real-time operating systems (RTOS) concepts and their practical application.
  • Proficiency in low-level programming and microcontroller peripheral interfacing (SPI, I2C, UART, etc.).
  • Proficiency in Qt/C++ for developing basic GUI applications to support testing activities.
  • Experience with debugging and testing embedded systems using industry-standard tools.
  • Familiarity with version control systems (e.g., Git).
  • Strong problem-solving and analytical skills.
  • Excellent communication and teamwork skills.
Beneficial Experience/ Skills

  • Experience with other microcontroller families (e.g., AVR, MSP430).
  • Knowledge of communication protocols such as CAN, Ethernet, USB.
  • Experience with developing secure boot and firmware update mechanisms.
  • Familiarity with scripting languages such as Python for testing and automation.
  • Experience with agile development methodologies.

Apply for a Embedded Firmware Engineer Position

Browse