logo[мetahunt]
> DOU

Embedded Engineer

OM Defence Systems
format:Remotecompany:Product
cyoctou-bootlinux kerneldevice treegstreamersystemdbasharmlinux
mavlinkpythonstm32
englishB2
domainDefTech
locationKyiv, Ukraine
> full description

About the project

We build an embedded compute module around NXP i.MX8MP for real-time video capture, processing in a constrained field environment.

You will own the Linux stack: BSP, kernel, device tree, userspace services and the video/networking pipeline.

Responsibilities

  • Maintain and extend the Linux BSP for NXP i.MX8MP (U-Boot, kernel, DT, low-level drivers).
  • Bring up and debug new hardware revisions.
  • Tune drivers / DT for CSI camera, I²C/SPI, GPIOs and storage.
  • Improve boot performance, reliability and recovery.
  • Maintain Yocto layers and recipes for a custom distribution.
  • Add/patch third-party components (GStreamer, networking, debug tools).
  • Design and maintain image update workflows (e.g. uuu, scripted updates, integrity checks).
  • Ensure reproducible builds and clear separation of BSP vs application layers.
  • Implement and debug GStreamer pipelines for CSI v4l2 capture, H.264 streaming and SD card recording.
  • Integrate camera-adapter firmware update tools and ensure safe update procedures.
  • Profile and optimize CPU/GPU/VPU load, memory bandwidth and latency.
  • Design and maintain systemd services (recorder, monitoring, watchdogs).
  • Handle power events, removable media and degraded conditions (I/O errors, low space, link loss).
  • Add health monitoring, metrics and logging for field diagnostics.
  • Configure and debug network links for throughput and latency.
  • Integrate the compute module with other modules via UART and similar interfaces.
  • Work with MCU/firmware developers on interfaces and update flows.
  • Develop CLI tools and scripts (Bash/Python) for flashing, testing and diagnostics.
  • Maintain concise technical documentation (bring-up, updates, troubleshooting).

Requirements

  • Proven experience as an Embedded Linux engineer on real hardware.
  • Strong C skills in a Linux/embedded environment (kernel or low-level userspace).
  • Hands-on Yocto experience:
  • Writing/modifying recipes and classes
  • Maintaining custom layers
  • Building and debugging board-specific images
  • Experience with U-Boot and Linux kernel on ARM SoCs (preferably NXP i.MX).
  • Confident with device tree (nodes, bindings, enabling peripherals).
  • Practical GStreamer experience for capture/encode/stream pipelines.
  • Solid systemd knowledge (units, targets, dependencies, journald, boot debugging).
  • Confident with Linux CLI and debugging tools: dmesg, journalctl, strace, gdb, perf, etc.
  • Basic hardware-level debugging (UART console, logic analyzer/oscilloscope).
  • Ability to read schematics and understand SW—HW interactions (power, reset, muxing).
  • Good written and spoken English for technical communication and documentation.

Nice to have

  • Direct experience with NXP i.MX8MP or similar multimedia SoCs.
  • Experience with wireless links in constrained/outdoor setups.
  • Experience with OTA update frameworks such as swupdate, Mender or similar (A/B updates, rollback strategies).
  • Exposure to UAV / robotics (MAVLink, UDP telemetry, etc.).
  • Experience with OpenWrt, Armbian or other embedded Linux distributions.
  • Python for tooling and data analysis (log parsing, small utilities).
  • Experience with MCUs (STM32, etc.) and firmware updates from Linux host.
  • Work on field-deployed systems with strong reliability and diagnostics requirements.

Personal profile

  • Methodical and skeptical: you rely on measurements and logs rather than assumptions.
  • Comfortable working end-to-end, from bootloader and kernel to services and scripts.
  • Willing to take ownership of a complex embedded Linux platform and keep it robust, debuggable and maintainable.
Відгукнутись на вакансію