Firmware Engineer
Basingstoke, Hampshire
R&D – Hardware /
Permanent, Full-time /
Hybrid
About the role
The successful candidate will design and develop embedded systems using C, C++, and VHDL, collaborating with development teams to deliver firmware solutions and resolve integration issues. They will also support Production by creating test apps and tools for fault diagnosis and work with suppliers to ensure PCB and subassembly testing at manufacture.
As part of the Hardware Team, the role involves close collaboration with Regulatory, Quality, Software, Production, Service teams, and third parties. Responsibilities include producing architecture and design documentation to meet safety and software quality standards.
This position is based in Basingstoke, with occasional travel to other offices or suppliers.
Key responsibilities will include
- Creating innovative and robust firmware designs and architecture
- Develop test harnesses and tools for fault finding and ensuring production quality
- Provide early input into projects to ensure hardware/firmware are well-matched
- Documenting firmware and recording deliverables
- Writing and maintaining firmware documentation
- Holding code reviews and verifying firmware designs
- Ensuring configuration management/keeping designs under revision control
- Ensure code meets regulatory requirements, i.e., IEC 62304, EN 60601-1
- Work at least 3 days a week in the Basingstoke office
- Travel occasionally when necessary
Desirable Skills & Experience
- Azure DevOps
- Experienced with Xilinx Vivado, Vitis & Intel Quartus FPGA development tools
- Familiar with Xilinx (Artix), Intel [Altera] (Max10, Cyclone) design flow and third-party simulation tools, e.g. ModelSim
- Embedded Microblaze softcore processors
- Embedded C for a range of microcontrollers (e.g. STM32)
- Experience with Imaging Systems and/or medical products
- Knowledge of high-speed interfaces USB 3.0 etc.
- Knowledge of peripheral interfaces Serial UART, I2C, SPI etc.
- Linux, Python, and scripting experience
- Free RTOS & bare metal processor design experience
- Experience of reading schematics and data sheets to assist in software and hardware debugging
- Strong build, debug, and test skills, comfortable with using test equipment (DMMs, oscilloscopes, logic analysers) and software debug tools
