Talent.com
rx100 ventures
Senior Embedded Software Engineerrx100 ventures • Bengaluru / Bangalore, India
Senior Embedded Software Engineer

Senior Embedded Software Engineer

rx100 ventures • Bengaluru / Bangalore, India
30+ days ago
Job description

Role Overview

As the Senior Embedded Software Engineer [Robotics], you will design and implement the core embedded framework — a modular runtime that dynamically orchestrates robotic subsystems (sensors, control, communication, AI, and logging) at the bare-metal level.

Take ownership of hands-on development of the SDK kernel, peripheral driver layer, and event-based orchestration system — enabling deterministic, distributed, and scalable robotic control without the complexity of monolithic RTOS stacks.

Key Responsibilities

Design & Develop Core SDK Framework: Design a lightweight embedded runtime that enables real-time scheduling, inter-module communication, and asynchronous events.

Driver & Peripheral Layer Development: Own the design and development of bare-metal peripheral drivers (Ethernet, SPI, I2C, UART, QSPI, CAN, MDMA, ADC/DAC, Timers).

Communication & Networking: Build bare-metal Ethernet and LwIP-compatible drivers for high-throughput, low-latency data transfer.

Hardware Abstraction & Portability: Develop CMSIS-level MCU abstraction layers supporting multiple MCU's of various families.

Team & Technical Leadership: Support and guide the team in implementing high-quality embedded software architectures, frameworks, and system-level components.

Experience:

Strong grasp of ARM memory architecture, cache hierarchy, and bus-level data flow. Skilled in optimizing DMA/MDMA multi-channel controllers and memory-mapped I/O pipelines for minimal latency and deterministic performance.

Strong experience in bare-metal Ethernet, LwIP, UART, CAN, SPI, and I2C driver development, with ability to optimize for throughput and latency.

Hands-on with QSPI Flash, MDMA-based TX/RX, SDMMC, and NOR/NAND interfaces, including driver bring-up and timing tuning.

Deep understanding of Timer/PWM control, high-precision timebases, and event timestamping for real-time synchronization.

Expertise in interrupt models, cache coherency, memory alignment, latency profiling, and zero-copy data handling across modules.

Experience designing CMSIS-compliant peripheral frameworks, modular driver abstraction, and scalable SDK components.

Proficient with ARM-GCC, Makefiles, VSCode, GDB, and hardware debugging using logic analyzer/oscilloscope.

Required Skills & Experience

  • 6+ years of experience in embedded firmware design, with at least 2+ years in bare-metal or CMSIS-level development.
  • Strong understanding of ARM Cortex-M architecture, including memory hierarchy, bus interfaces (AHB/AXI), and cache optimization techniques.
  • Proven ability to write and optimize device drivers — particularly for Ethernet, SPI, I2C, and QSPI — from register level up.
  • Expertise in C/C++, hardware register programming, and low-level MCU architecture.
  • Deep knowledge of RTOS internals, while capable of building dynamic, event-driven frameworks that operate beyond traditional RTOS constraints.
  • Strong grasp of interrupt design, memory coherency, DMA pipelines, and real-time dataflow synchronization.
  • Experience with robotics systems, sensor data processing, or real-time control loops is a strong plus.
  • Familiarity with STM32 ARM-cortexM7 series or equivalent ARM-based MCU ecosystems.

Skills Required
Systems, RTOS Internals
Create a job alert for this search

Senior Embedded Software Engineer • Bengaluru / Bangalore, India

Similar jobs

Senior Software Engineer

Guidewire SoftwareBengaluru, Republic Of India, IN

Job Description Embark on a transformative career as a Guidewire Cloud Platform Software Engineer, where you will be at the forefront of revolutionizing how business leverage cloud technologies.We ... Show more

 • Promoted

Senior Embedded Linux Engineer

OiviBengaluru, Karnataka, India
Quick Apply

We are looking for a Senior Embedded Linux Engineer with strong hands-on experience in Linux kernel, device drivers, Yocto build system, and C/C++ development.The role requires working closely with... Show more