Embedded Software Engineer - RTOS

Swasti 

📍 Hyderabad, India 🇮🇳

full-time
mid-level
Expired
Posted —
This job posting has expired View All Embedded Software Engineer Jobs

Key Skills

RTOSLwIPPWMUARTADC

Industry

Consumer ElectronicsIndustrial Automation

Job Description

Description

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

  • Bachelors or Masters 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.
  • 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)