Get a reply from this employer
Your resume and cover letter, tailored to exactly what they’re hiring for.
7RD in Delhi, India seeks a Firmware Engineer to translate product and system requirements into reliable firmware interfacing with hardware, sensors, actuators, and higher-level software. The engineer will own architecture through release, including testing and field support.
You will work with ROS/ROS 2, Yocto, ArduPilot, and RTOS-based development on STM32/ESP32 platforms, with embedded Linux cross-compilation, debugging, and board bring-up.
7RD is building the Counter Drone Swarm Stack, powered by our core product: an EdgeAI Module for drones, a neural chip based "brain" that runs autonomous mission planning, target tracking, and navigation entirely on the edge, with no cloud or GPS dependency.
Embedded Systems and Linux
Location:
Employment Type:
Full-time
Experience Level:
2-4 Years
Department:
Role Purpose
The engineer will convert product and system requirements into reliable firmware that interfaces correctly with electronic hardware, sensors, communication modules, actuators, and higher-level applications. The position requires practical ownership from architecture and driver development through integration, debugging, verification, release, and field support.
Key Responsibilities
Microcontroller firmware: Develop and maintain bare-metal or RTOS-based firmware for AVR, STM32, and ESP32 devices using C and C++.
Python development: Develop Python tools and utilities for test automation, build support, telemetry and log analysis, calibration, simulation, manufacturing, and system integration.
Robotics integration: Integrate embedded firmware with sensors, encoders, actuators, motor controllers, safety interlocks, and higher-level robotic software, including ROS or ROS 2 interfaces where applicable.
Embedded Linux: Configure cross-compilation toolchains, build applications and system components, integrate board support packages, and troubleshoot software on embedded Linux computers.
Yocto development: Create and maintain Yocto layers, recipes, image configurations, machine settings, package selections, and reproducible builds for target hardware.
ArduPilot customization: Understand the ArduPilot codebase, modify firmware for product-specific behavior, integrate sensors or peripherals, configure boards, and validate changes through bench and flight-oriented testing.
ESP32 development: Build connected firmware using ESP-IDF or an equivalent framework, including peripheral control, communication, networking, logging, update, and fault-recovery functions.
Drivers and board support: Develop and integrate low-level drivers, hardware abstraction layers, startup code, interrupt handling, timers, DMA, memory interfaces, and board configuration.
System communication: Implement and debug UART, SPI, I2C, CAN, USB, Ethernet, Wi-Fi, Bluetooth, MAVLink, and other product-specific protocols.
Firmware reliability: Design watchdog handling, error detection, safe-state behavior, configuration storage, bootloaders, firmware update mechanisms, and recovery paths appropriate to the product.
Verification and debugging: Create unit, integration, bench, and hardware-in-the-loop tests; diagnose timing, memory, concurrency, communication, and hardware-interface faults using suitable tools.
Release management: Maintain source control, build instructions, configuration records, change history, release notes, traceable binaries, and technical documentation.
Cross-functional support: Work with hardware, systems, controls, testing, manufacturing, and field teams to define interfaces, review risks, reproduce issues, and deliver corrective updates.
Strong embedded C and practical C++ knowledge, plus Python for automation, test tools, build support, simulation, telemetry processing, and log analysis.
AVR, STM32, and ESP32 architecture, clocks, GPIO, interrupts, timers, ADC, PWM, DMA, nonvolatile memory, low-power modes, and vendor SDKs.
Task design, scheduling, synchronization, queues, timing, interrupt interaction, resource sharing, and debugging in an RTOS such as FreeRTOS.
Cross-compilation, Linux processes and services, permissions, filesystems, networking, shell tools, system logs, device access, and deployment to target systems.
BitBake, recipes, layers, images, packages, machine configuration, SDK generation, build reproducibility, and integration of custom applications.
ArduPilot architecture, MAVLink, sensors, actuators, simulation and logging, together with robotic interfaces, motor controllers, safety interlocks, and ROS or ROS 2 integration awareness.
Schematic and datasheet interpretation, peripheral bring-up, protocol timing, electrical constraints, driver behavior, and cooperation with hardware engineers.
GDB, JTAG or SWD, serial logs, oscilloscopes, logic analyzers, static analysis, unit tests, integration tests, and repeatable fault reproduction.
Bachelor's degree or diploma in Electronics, Computer Engineering, Computer Science, Embedded Systems, or a closely related discipline.
Demonstrated experience developing production firmware for microcontrollers, including at least one STM32 or ESP32 platform and practical familiarity with AVR devices.
Strong programming ability in embedded C, working knowledge of C++ for constrained or real-time systems, and practical Python experience for automation, testing, build tooling, simulation, or data and log analysis.
Experience with embedded Linux cross-compilation and with configuring or maintaining Yocto-based software images.
Ability to read schematics and component datasheets, debug firmware at the boundary between software and hardware, and integrate robotic sensors, encoders, actuators, or motor controllers.
Experience using Git, structured code review, reproducible build procedures, issue tracking, and documented firmware releases.
Ability to investigate complex faults systematically and communicate findings through clear code, test evidence, and technical documentation.
Direct modification of ArduPilot firmware, including custom board support, sensor or actuator integration, MAVLink changes, parameter handling, or vehicle-specific behavior.
Use of ArduPilot simulation, software-in-the-loop testing, hardware-in-the-loop testing, flight logs, and controlled field-validation procedures.
Linux board support work involving U-Boot, device trees, kernel configuration, kernel modules, systemd services, or custom root filesystems.
Bootloader design, secure boot, signed firmware, over-the-air or field updates, rollback, and recovery mechanisms.
Experience with DroneCAN, CANopen, Ethernet-based protocols, GNSS receivers, inertial sensors, radio modules, motor controllers, or payload interfaces.
Familiarity with ROS 2 or micro-ROS, PX4 or another autopilot stack, robotic simulation tools, shell scripting, continuous integration, static analysis, and automated test equipment.
Firmware development for defence, aerospace, robotics, industrial control, automotive, or other reliability-sensitive systems.