Filtronic is seeking a highly skilled Embedded Software engineer with FPGA expertise to join our team, working on exciting products from conception through to volume production.
This role offers the opportunity to leverage expertise in real-time embedded software, FPGA development, and signal processing to contribute to a wide range of products, from low-volume niche devices to high-volume telecommunications and defence equipment.
Filtronic specialises in RF technologies, including telecoms, space and high-altitude communication systems, and radar.
You will be able to develop your skills and experience within a multidisciplinary team, utilising a wide range of development tools, target hardware, experienced engineers, and an extensive pre-existing codebase.
Purpose of Role The Embedded Software & FPGA Engineer will design and develop robust embedded software solutions and contribute to FPGA development to perform system management, control, calibration, and other functions within complex RF systems.
Working as part of a multidisciplinary team, you will be instrumental in the analysis and problem-solving of existing products, as well as developing new systems using a mixture of design methodologies.
This will include designing and implementing protocols for communication between FPGA, ARM Cortex-M, and other processing units.
Responsibilities Serve as the Senior Embedded Software and FPGA specialist within a multidisciplinary team.
Define and document embedded software requirements for system specifications as part of a project team.
Identify areas for improvement in embedded systems and lead their implementation.
Lead troubleshooting and root cause analysis of issues with embedded systems.
Effectively interface with Customers.
Drive improvements in design and methodology for Embedded Software and FPGA development.
Develop real-time control software on Xilinx Zynq UltraScale+ (ARM + FPGA) platforms.
Help support Verilog HDL for signal processing for data acquisition.
Design and implement protocols (Verilog + C/C++) for communication between FPGA, ARM Cortex-M, and other processing units.
Contribute to the development of multithreaded GUIs and C++ applications for image streaming, analysis, and TCP/IP data