11 open roles
Embedded Software Engineer Mission Computer RT linux
Job description
Who Are We? At HyPrix, we're building attritable payload delivery systems for autonomy. Things that fly fast, we're enabling them with conscious software. Replicating the capabilities of expensive conventional frontline systems, we're building the cheapest micro and cruise missile systems on the planet. Built for a war of attrition, built for the era of software-defined warfare, built to cater to the front lines of battlefields where no man should stand in the future.
Learn more about us: https://hyprix.in What You’ll Do The Embedded Software Engineer – Mission Computer, RT Linux: owns the middleware on the Linux mission computer, and the data link between the mission computer and the flight computer. The position holder works to the platform architecture that the Avionics firmware/software team sets.
The Linux kernel, the BSP, drivers, payload algorithms, video compression and the air-to-ground link are not in the scope of this role. Process model. Define the process set, the startup order, the systemd units, the cgroup limits, the real-time classes and the CPU affinity on the PREEMPT_RT kernel. Process supervision.
Detect crashed or hung processes, restart them with backoff, and report each restart to the health framework. Escalate repeated faults to a defined degraded state. IPC middleware. Select and integrate the middleware for the mission computer: DDS, ROS 2, Zenoh or a shared-memory library. Bridge it to the message model of the flight computer with the same topic definitions.
Flight computer link. Design the transport above the link driver, with frames, sequence numbers, integrity checks, rate limits and topic bridges. Add a data dictionary version handshake at each connection. Isolation of the flight computer. Bound the inbound rates and buffers, and detect loss of the mission computer. Prove by test that a flood, a disconnect, a reboot or invalid data from the mission computer does not cause a deadline miss on the flight computer.
Onboard message security. Authenticate the messages between processors with message authentication codes and replay protection. Apply an allow-list of the topics and commands that the flight computer accepts from the mission computer. Application sandbox. Run each application as an unprivileged user with minimum capabilities, seccomp filters and a read-only image.
Isolate the applications that handle external data from the process that talks to the flight computer. Time, logs and health. Supply the PTP or PPS time-sync client, and report the clock offset as a health item. Supply the event log and the data recorder on Linux, aligned in time with the flight computer. Report CPU, memory, temperature, storage and process health to the flight computer.
Integration and test. Help payload, vision and mission engineers put their applications on the platform. Run the platform in SIL and on the HIL bench with the Testing team. Write the mission computer platform specification and the onboard communication security design.
Requirements
Minimum Experience (Years) 4 years of Linux systems software or robotics middleware development, with 2 years on embedded Linux targets. This includes middleware or IPC layer in a product. HyPrix prefers this experience, but it is not mandatory. Demonstrated capability is more important than years.
Required Skills
Modern C++. Strong C++17 or later on Linux, with unit tests, code review, Git and CI pipelines. Linux systems software. Processes, threads, signals, sockets, shared memory and epoll in user space. Middleware. Production work with at least one of DDS (Fast DDS, Cyclone DDS or RTI Connext), ROS 2, Zenoh, ZeroMQ, or gRPC with Protobuf.
Real-time Linux. systemd, cgroups, real-time classes and CPU affinity on PREEMPT_RT kernels. Embedded Linux targets. Hands-on work with NVIDIA Jetson, AMD Xilinx Zynq UltraScale+, NXP i.MX 8, TI AM6X or similar SoCs. Networks. UDP, TCP and multicast, with packet analysis in Wireshark. Linux security controls. Users and groups, capabilities, seccomp, namespaces and file permissions.
Debug and tools. Debug with gdb, strace, perf and system logs. Python for tools and test scripts. A bachelor's degree in electronics, electrical, computer engineering or computer science is preferred but not mandatory. Advantageous Skills/Qualifications Experience with Rust on Linux. Knowledge of PTP (IEEE 1588), chrony or PPS time synchronisation.
Knowledge of HMAC, AES-GCM, and TPM or HSM interfaces. Experience with Docker or Podman on embedded targets, and with Yocto or NixOS images. Experience with MAVLink or STANAG 4586 between an autopilot and a companion computer. Experience with GStreamer, CUDA or DeepStream pipelines. Experience with MCAP, Foxglove or PlotJuggler.
Experience on UAV, robotics or defence mission computers.
Benefits
Why Join HyPrix? HyPrix is a lean team with no rule book. Each person receives an end goal tied to a real product, and decides how to achieve it. The Mission Computer Middleware Engineer connects the most complex computer on each HyPrix flight system to the most critical one, and sets the rules that keep the flight computer safe.
Description copied from Hyprix Aviation's careers page. Read the full posting before you apply.
More jobs at Hyprix Aviation
Embedded Software Engineer
Hyprix Aviation· Bengaluru, IndiaEmbedded Software Engineer BSP Platform
Hyprix Aviation· Bengaluru, IndiaEmbedded Software Engineer Sensors Drivers Embedded Linux
Hyprix Aviation· Bengaluru, IndiaSenior Flight Softwarre Platform Engineer
Hyprix Aviation· Bengaluru, IndiaLead - Mechanical Engineer
Hyprix Aviation· Bengaluru, India