Bachelor'sMaster'sover-the-airPosition: Sr. Embedded Linux Developer (UAV Control Systems)
Experience Level: 5+ Years
Location: Bhubaneshwar
Department: Software
Job Type: Full-Time
Job Description
We are seeking a highly skilled Embedded Linux Developer with a strong background in developing real-time control software for Unmanned Aerial Vehicles (UAVs). The candidate will be responsible for designing, developing, testing, and optimizing embedded systems that interface with flight control hardware and support mission-critical UAV operations.
Key Responsibilities
- Develop, port, and maintain embedded Linux distributions (Yocto, Buildroot, or similar) for UAV avionics and companion computers.
- Implement and optimize real-time control applications interfacing with flight controllers (e.g. PX4, ArduPilot) via MAVLink or other protocols.
- Integrate sensor drivers (IMU, GPS, barometer, cameras) into Linux kernel space or user space as required.
- Develop and debug kernel modules and device trees for custom UAV hardware.
- Implement inter-process communication (IPC) and middleware between control software, mission planning systems, and onboard payloads.
- Collaborate with control systems engineers to translate flight algorithms (PID, LQR, MPC) into deployable embedded code.
- Support UAV system-level bring-up, including bootloader (U-Boot), firmware flashing, and diagnostics.
- Work with DevOps teams to streamline cross-compilation, CI/CD pipelines, and over-the-air (OTA) updates.
- Write unit tests, conduct software-in-the-loop (SITL) and hardware-in-the-loop (HITL) testing.
- Ensure compliance with aerospace software standards (e.g. DO-178C, MISRA) and cybersecurity best practices.
Required Skills
- Strong experience in embedded Linux development (Yocto/Buildroot).
- Kernel customization, device drivers, and BSP development.
- Familiarity with ARM-based SoCs (NXP, STM32MP, NVIDIA Jetson, Raspberry Pi, etc.).
- Proficiency in C/C++ and shell scripting.
- Experience with Python (for scripting, tools, or automation).
- Knowledge of UAV control systems, flight dynamics, and navigation.
- Experience with PX4 or ArduPilot and MAVLink communication.
- Understanding of control algorithms like PID, LQR, or Model Predictive Control (MPC).
- Familiarity with ROS/ROS2 for robotic middleware integration.
- Proficient in Git, CMake, and cross-compilation toolchains.
- Experience with SITL/HITL setups, debugging via JTAG/serial/UART.
- Familiarity with CAN, I2C, SPI, UART protocols.
- Good understanding of UAV mission planning, telemetry, and GCS interaction.
- Ability to read and understand schematics and hardware documentation.
Qualifications
- Bachelors or Masters degree in Electronics, Computer Engineering, Aerospace, or related fields.
- Prior experience with real-world UAV deployments or UAV product development lifecycle.
- Exposure to secure boot, OTA firmware, and secure communication protocols.
- Knowledge of simulation tools like Gazebo or MATLAB Simulink.