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
Essential Skills & Experience
- At least 2 years’ experience in developing firmware using either Cor VHDL
- Bachelor’s Degree in Computer Science, Electronics Engineering, or related field
- A good understanding of firmware version control and revision control software
- Ability to analyse system and/or hardware level requirements and derive detailed firmware requirements
- Debugging firmware designs and supporting integration & verification at the hardware and system level
- Ability to coordinate day-to-day technical activities, liaising closely with the other team members
- Experience in writing technical reports/documentation
- Performing code reviews
- Excellent communication (oral & written) & interpersonal skills
- Ability to work in a fast-paced environment with multiple concurrent tasks/projects
- A critical thinker with good attention to detail and problem-solving skills as well as a demonstrable level of understanding of technical areas
- Must have a detail-oriented approach with a “can do” and adaptable attitude and ability to work in a team environment as well as individually with minimal supervision
Desirable Skills & Experience
- C++
- 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
- Driving licence and a Passport to permit potential off-site travel
