01 Oct
|
Naadyx Solutions
|
India
01 Oct
Naadyx Solutions
India
Embedded Software Engineer – Linux, Camera & Device Drivers (C/C++)
About us
We build rugged, low-power edge devices that combine camera imaging, sensing, and wireless connectivity on embedded Linux. Our small team owns the whole stack, from device tree and kernel drivers to the application layer, and we're looking for an engineer who likes working close to the hardware and writing code that is fast, lean, and reliable.
What you'll do
- Design, write, and optimize production-quality C and C++ code for embedded Linux on ARM64 (NXP i.MX8M Plus).
- Bring up and debug MIPI CSI-2 camera sensors: device tree configuration, sensor/ISP integration, V4L2 capture pipelines, and pixel-format handling.
- Develop and maintain Linux kernel modules and drivers (character/misc devices, GPIO, interrupts, I2C/SPI), and work with pinctrl and pad configuration.
- Build low-latency capture-and-encode paths (V4L2 + GStreamer for JPEG/H.264), with tight wake-to-capture time on event triggers.
- Profile and optimize for CPU usage, memory, latency, and power, including suspend/resume and wake-source handling.
- Work within Yocto-based builds and cross-compilation toolchains; package and deploy firmware to target hardware.
- Debug on real hardware using logic analyzers, oscilloscopes, serial consoles, and kernel debug interfaces (debugfs, /proc, dmesg, ftrace).
- Write explicit technical documentation and unit tests, and take part in code reviews.
Must have
- Strong command of C: pointers, memory management, bit manipulation, concurrency, and writing code for resource-constrained systems.
- Solid modern C++ (C++14/17): RAII, smart pointers, STL, multithreading, and an eye for performance.
- Hands-on experience with Linux camera drivers or V4L2 — sensor bring-up, device tree bindings, and media pipelines.
- Experience writing or modifying Linux kernel drivers (interrupt handling, workqueues, GPIO, device tree).
- Comfort with cross-compilation, Makefiles/CMake, and Git.
- Ability to read schematics and datasheets and debug hardware–software interaction.
- Proven track record of profiling and optimizing code, not just making it work.
Nice to have
- NXP i.MX8 family experience (ISI/ISP, MIPI CSI).
- Yocto/BitBake recipe and layer development.
- GStreamer plugin/pipeline development and hardware video encoding.
- Low-power design: suspend/resume, wake sources, power profiling.
- Networking on embedded devices (Wi-Fi, LTE modems, mesh, HTTP/2).
- Exposure to SDR/RF systems, or on-device ML inference on an NPU.
- Microcontroller experience (STM32) and MPU–MCU communication.
📌 Embedded Software Engineer (India)
🏢 Naadyx Solutions
📍 India