Search

Firmware Engineer

PublishedPublished: 6/14/2022
Technology

Job Description

Job Description Firmware Engineer – Job Description (JD)Job Title

Firmware Engineer

Job Summary

We are seeking a talented Firmware Engineer to design, develop, test, and maintain embedded firmware for microcontrollers, processors, and hardware devices. The ideal candidate should have strong expertise in embedded C/C , RTOS, device drivers, communication protocols, debugging tools, and hardware-software integration. The role involves developing reliable, high-performance firmware for embedded systems used in IoT, automotive, medical devices, consumer electronics, and industrial automation.

Key Responsibilities

  • Design, develop, and maintain embedded firmware for hardware devices.
  • Develop firmware for microcontrollers (MCUs), SoCs, and embedded processors.
  • Write efficient, reliable, and maintainable code in C/C .
  • Develop and integrate device drivers and hardware abstraction layers (HAL).
  • Implement communication protocols such as UART, SPI, I2C, CAN, USB, and Ethernet.
  • Debug firmware using oscilloscopes, logic analyzers, and JTAG/SWD debuggers.
  • Optimize firmware for memory, power consumption, and performance.
  • Collaborate with hardware, software, QA, and manufacturing teams.
  • Perform unit testing, integration testing, and hardware validation.
  • Maintain technical documentation and firmware release notes.
  • Participate in code reviews and design discussions.

Required SkillsEmbedded Programming

  • Embedded C
  • Embedded C
  • Assembly Language (Basic)
  • Object-Oriented Programming (OOP)
  • Memory Management
  • Interrupt Handling
  • Bootloaders
  • Linker Scripts

Embedded Systems

  • Microcontrollers (MCUs)
  • Microprocessors (MPUs)
  • System-on-Chip (SoC)
  • Embedded Linux
  • Bare Metal Programming
  • Real-Time Embedded Systems

RTOS (Real-Time Operating Systems)

  • FreeRTOS
  • Zephyr RTOS
  • ThreadX
  • VxWorks
  • QNX
  • Embedded Linux RT

Microcontrollers

Experience with one or more:

  • STM32
  • NXP LPC
  • Texas Instruments MSP430
  • PIC Microcontrollers
  • AVR
  • ESP32
  • Nordic nRF52
  • Renesas
  • Infineon
  • ARM Cortex-M Series

Communication Protocols

  • UART
  • SPI
  • I2C
  • CAN
  • CAN FD
  • LIN
  • USB
  • Ethernet
  • Modbus
  • RS-232
  • RS-485
  • BLE
  • Wi-Fi
  • Zigbee
  • MQTT

Device Drivers

  • GPIO
  • Timers
  • PWM
  • Client
  • DAC
  • DMA
  • RTC
  • Watchdog Timers
  • Flash Memory
  • EEPROM

Hardware Knowledge

  • Digital Electronics
  • Analog Electronics
  • PCB Basics
  • Schematics Reading
  • Signal Processing
  • Sensors & Actuators
  • Power Management

Debugging Tools

  • JTAG
  • SWD
  • GDB
  • OpenOCD
  • Oscilloscope
  • Logic Analyzer
  • Multimeter
  • Segger J-Link
  • ST-Link

Development Tools

  • Keil MDK
  • IAR Embedded Workbench
  • STM32CubeIDE
  • MPLAB X
  • Eclipse
  • VS Code
  • CMake
  • Makefiles

Version Control & CI/CD

  • Git
  • GitHub
  • GitLab
  • Jenkins
  • Azure DevOps

Testing

  • Unit Testing
  • Integration Testing
  • Hardware-in-the-Loop (HIL)
  • Firmware Validation
  • Regression Testing
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...