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.