Search by job, company or skills

rx100 ventures

Senior Embedded Software Engineer

Save
  • Posted 12 hours ago
  • Be among the first 10 applicants
Early Applicant

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.

More Info

Job Type:
Industry:
Function:
Employment Type:

About Company

Job ID: 148980645

Similar Jobs

Bengaluru, India

Skills:

arinc 429 SpiCUartRtosI2cEmbedded Software DevelopmentHIL TestingGitCanEmbedded debugging toolsDO-178C complianceARINC 664Sensor integrationAutopilot systemsData ProcessingFlight controllersUAV firmware