Firmware Engineer

Swasti 

📍 Maharashtra, India 🇮🇳

full-time
mid-level
Posted —

Key Skills

FirmwareRTOSTCP/IPADCUART

Industry

Consumer ElectronicsAutomotive

Job Description

Role : Firmware Engineer

Skills

  • Low-level development
  • Firmware development
  • Embedded C
  • Peripheral driver development
  • RTOS, microcontroller or SoC

We are looking for an Embedded Software Engineer with strong experience in bare-metal and RTOS-based development to design, implement, and validate low-level drivers, networking integration, and real-time control applications on embedded platforms.

Key Responsibilities

  • Design, develop, and validate low-level drivers for on-chip IPs (UART, SPI, I2C, Timers, GPIO, CAN, Crypto) in both bare-metal and RTOS (e.g., FreeRTOS) environments.
  • Implement initialization, interrupt-driven and DMA-based data transfer (where applicable), and configuration APIs for communication and control peripherals.
  • Develop RTOS-compatible driver APIs, including interrupt handlers and DMA support, along with unit test applications for functional validation and regression testing.
  • Port and integrate the LwIP TCP/IP stack on the target RTOS, interfacing with Ethernet MAC and PHY drivers.
  • Validate network functionality using TCP/UDP echo server/client demos and perform performance tuning and memory footprint optimization of the stack.
  • Develop drivers and demo applications for real-time control IPs, including :
  • Data acquisition and conversion : SAR ADC with BIST, Sigma-Delta ADC, DAC for waveform generation and voltage control.
  • Analog post-processing blocks : Filters, thresholding, comparator logic, and event generation using comparators.
  • PWM generation : High-speed and low-speed PWM for fine/coarse control, including dead-time insertion for motor/actuator control.
  • Implement real-time signal acquisition and processing flows, including closed-loop control loops where ADC inputs drive PWM outputs.
  • Create demo applications that showcase system behavior and control algorithms, with visualization and logging via UART or network interfaces.
  • Collaborate with hardware, systems, and test teams to review specifications, debug issues, and ensure robust, production-quality embedded software.

Required Qualifications

  • Bachelor's or Master's degree in Electronics, Electrical, Computer Engineering, or related field.
  • Strong experience in embedded C programming and microcontroller/microprocessor-based development.
  • Hands-on experience with bare-metal firmware and RTOS (preferably FreeRTOS) including tasks, ISRs, and synchronization mechanisms.
  • Solid understanding of communication interfaces : UART, SPI, I2C, CAN, GPIO, Timers, and basic cryptographic IP usage (AES/SHA/RNG).
  • Experience with TCP/IP networking on embedded systems, ideally with LwIP or similar lightweight stacks.
  • Familiarity with ADCs, DACs, comparators, PWM generation, and real-time control concepts.
  • Proficiency with embedded development tools: IDEs, debuggers, oscilloscopes, logic analyzers, and protocol analyzers.
  • Strong problem-solving, debugging, and documentation skills, with the ability to work in a cross-functional engineering team.

Preferred Skills

  • Experience with Ethernet MAC/PHY bring-up and debugging at the driver level.
  • Knowledge of control systems, digital signal processing, or motor control.
  • Experience writing unit tests and hardware validation demos for low-level drivers.
  • Exposure to safety- or reliability-focused development (e.g., BIST, diagnostics).

(ref:hirist.tech)