Embedded System Engineer (Imaging & Vision Systems)
--10xEngineers--
Experience: 3–5 Years
We are looking for an Embedded Firmware Engineer with experience developing embedded software for FPGA- and SoC-based imaging and video platforms.
In this role, you will develop firmware, Linux device drivers, multimedia components, and Board Support Packages (BSPs) that enable custom FPGA IPs, camera sensors, Image Signal Processors (ISPs), and hardware accelerators across Altera, AMD/Xilinx, and NVIDIA Jetson platforms.
You will work across the complete embedded software stack from board bring-up and hardware initialization through Linux kernel development, camera enablement, multimedia frameworks, and platform software. You will closely collaborate with FPGA designers, RTL engineers, ISP developers, and validation teams to deliver production-ready imaging and vision solutions.
Responsibilities
- Develop embedded firmware, Linux platform software, and Board Support Packages (BSPs) for FPGA- and SoC-based imaging and vision platforms.
- Develop Linux kernel drivers and software interfaces for custom FPGA IPs, camera sensors, Image Signal Processors (ISP), DMA engines, PCIe devices, and embedded peripherals using Linux kernel frameworks, Device Tree, AXI4/AXI4-Stream, and memory-mapped I/O.
- Enable FPGA-based video and imaging IPs by developing reusable Linux drivers and exposing their functionality through V4L2, Media Controller, GStreamer, and zero-copy multimedia pipelines.
- Develop and integrate camera pipelines supporting MIPI CSI-2, RAW Bayer sensors, ISP integration, HDR imaging, and multimedia processing across Altera, AMD/Xilinx, and NVIDIA Jetson platforms.
- Develop Linux kernels, Device Trees, bootloaders, Yocto/BitBake/PetaLinux-based BSPs, and support board bring-up, platform enablement, and production deployments.
- Collaborate with HW, Algorithm Development, and Validation teams to define hardware/software interfaces, integrate new IPs, and resolve complex system-level issues.
- Contribute to software architecture, design reviews, code reviews, debugging, automated testing, CI/CD pipelines, technical documentation, and reusable software frameworks to improve platform scalability and quality.
- Mentor junior engineers through code reviews, technical guidance, and knowledge sharing while fostering engineering best practices and a collaborative team environment.
Qualifications
- BS/MS degree in Computer Engineering, Electrical Engineering, Computer Science, or a related discipline.
- 3 - 5 years of experience developing embedded firmware, Linux platform software, and low-level system software for embedded devices.
- Strong proficiency in C with working knowledge of C++, along with experience using Python or Bash for scripting, automation, and development workflows.
- Hands-on experience developing Linux kernel modules, platform drivers, Device Tree support, interrupt handling, DMA frameworks, memory management, and Linux kernel debugging.
- Strong understanding of embedded Linux architecture, Board Support Packages (BSP), U-Boot, cross-compilation, hardware abstraction layers, and platform software development.
- Experience developing Linux software for FPGA- or SoC-based systems using Altera, AMD/Xilinx platforms.
- Experience developing software for imaging and multimedia subsystems using V4L2, Videobuf2, GStreamer, and MIPI CSI-2.
- Strong understanding of AXI4/AXI4-Stream protocols, PCIe, memory-mapped peripherals, DMA engines, interrupt controllers, and hardware/software interaction.
- Experience working with Yocto, BitBake, Intel Embedded Linux, PetaLinux, and Linux BSP customization.
- Proficiency with Git and debugging tools including JTAG debuggers, oscilloscopes, and logic analyzers.
- Strong analytical, debugging, and problem-solving skills.
- Ability to communicate technical concepts clearly and collaborate effectively within multidisciplinary engineering teams.
Preferred Skills
- Experience developing Linux drivers for FPGA-based video, vision, or imaging IPs and integrating hardware accelerators into embedded Linux systems.
- Familiarity with Altera Video & Vision Processing Suite (VVP) IPs or AMD/Xilinx Video Processing Subsystem (VPSS).
- Familiarity with libArgus, libcamera, nvArgus.
- Experience with high-speed video interfaces including HDMI, SDI, or PCIe video transport.
- Experience with automated software testing, continuous integration, embedded software quality practices, and performance profiling.
- Experience mentoring junior engineers, participating in technical design discussions, and contributing to software architecture and engineering best practices.
- Contributions to open-source Linux, multimedia frameworks, embedded software projects, or FPGA enablement ecosystems are a plus.