Purpose of this role
The Senior Firmware Engineer is an individual technical contributor role, the primary purpose of which is to increase our skills and capacity to
- Develop firmware for application solutions that incorporate Flusso sensors, typically on ARM-based microcontrollers or ASIC cores
- Support the development of new sensing algorithms
- Port firmware to new processor variants or families.
Our products are being integrated into medical devices, so our firmware is developed to the following standards: IEC 62304, ISO 14971 and BS EN 60601-1.
Experience with development of Windows GUI applications for product evaluation kits would be an advantage in the role but is not essential.
Responsibilities:
All software and firmware development is carried out in accordance with the Flusso quality management system (QMS) and specifically the Software Development and Release Management Process.
General software and firmware development
- Collaboration with colleagues in Test and Applications Engineering, Hardware Design and Data Science to define cost-effective sensing Solution Architectures for target applications.
- Requirements capture/analysis, specification, design, implementation (with rigorous source code management), design reviews, code reviews, unit-testing and debug.
- Creation of internal releases for the Test Engineering team and investigation and resolution of issues uncovered during in-house testing
- Documentation for both internal and external use
- Contribution to continual improvement of our software development processes and quality standards
Firmware for sensor product and application solutions
Application solutions with Flusso sensor products (semiconductor/MEMS components) require firmware that runs on a standard microcontroller (MCU) or a processor core in an ASIC.
Sensing solution firmware development responsibilities include
- Design and development of code that implements functionality and interfaces of the agreed Solution Architecture.
- Participate in safety DFMEA and HAZOP processes
- Optimisation of code and creation of builds for sensor component and application circuit variants.
- Porting firmware to new target processors and/or application designs
Evaluation kit USB interface adapter firmware
We provide evaluation kits for prospective customers of Flusso products, typically:
- A sensor electronics module with the sensor, application circuit and firmware
- A flow or gas fixture that the sensor module is attached to
- A USB to I2C or CAN interface adapter for connecting to a host PC, with firmware running on a microcontroller that supports those interfaces
- A Windows 10 GUI application that gives the user an easy way to evaluate the Flusso product. Our current generation is written in C# using WPF.
The Senior Firmware Engineer will contribute to development of firmware for interface adapters and could work on PC-based GUIs too (depending on experience).
Design-in support
- When required, support Systems and Applications Engineers helping customers with firmware integration
- Assimilate feedback from customer engagement for improvement of software and firmware
Requirements
Qualification, knowledge, skills and experience
A bachelor’s degree in an engineering or science subject is a prerequisite.
Essential knowledge, skills and experience:
- Development of real-time firmware – in C – for ARM-based microcontrollers or ASICs, typically using ADCs, DACs and interfaces such as I2C, SPI and CAN.
- One or more of the main microcontroller families such as STM32 and EFM32
- Use of source code management systems (we use git)
- Use of tools such as Keil, IAR, STM32CubeMX and Eclipse/gnu.
- Debugging using JTAG interface adapters and test equipment such as oscilloscopes and logic analysers
- Automated testing of firmware builds for multiple targets, covering new product solutions, new features, performance enhancements and regression testing.
- Regression testing updates to existing sensing solutions on multiple targets
- Programming in Python
- Working to software lifecycle quality processes in an ISO9001 framework
Not essential, but would be an strong advantage:
- Development of firmware for functional-safety applications
- Development of firmware specifically for sensing solutions or applications
- Development of firmware for automotive or medical applications
- Experience with continuous integration (CI) systems
- Development of Windows 11 GUI applications in C# or Python (e.g. PyQT)
Profile
- Motivated by timely delivery to high quality standards.
- Detail conscious, rigorous and meticulous.
- Comfortable working in a fast-paced development environment.
- Pro-active, positive and enthusiastic by nature.
- Good at multi-tasking and responsive to changing needs of projects.
- Timely and accurate documentation and communication skills
Benefits
- Base salary
- Bonus (% of base salary) based on company and personal performance
- Workplace pension contribution 3% of full base salary (we can trade with salary level for higher)
- Bupa Cash Plan Level 3 (employee only)
- Private Medical insurance with cover for spouse/partner and dependent children
- Group Life Insurance covers up to 4 x salary
- 25 days holiday plus bank holidays (adjusted for part time roles)
- Support for relocation (loan discharged over two years service)
- Hybrid home/office working, by agreement with line manager
Skills Required
- Bachelor's degree in an engineering or science subject
- Real-time firmware development in C for ARM-based microcontrollers or ASICs
- Experience using ADCs, DACs, and interfaces such as I2C, SPI, and CAN
- Experience with microcontroller families such as STM32 and EFM32
- Experience with source code management systems, particularly Git
- Experience with Keil, IAR, STM32CubeMX, and Eclipse/GNU tools
- Debugging with JTAG interface adapters, oscilloscopes, and logic analyzers
- Automated testing of firmware builds across multiple targets
- Regression testing of sensing solutions across multiple targets
- Programming experience in Python
- Experience working within software lifecycle quality processes in an ISO 9001 framework
- Firmware development for functional-safety applications
- Firmware development for sensing solutions or applications
- Firmware development for automotive or medical applications
- Experience with continuous integration systems
- Windows GUI application development in C# or Python, such as PyQt
What We Do
Flusso is a fabless semiconductor company, spun-out from University of Cambridge, developing flow sensing solutions for use in low-cost, high-volume applications. Flusso's new FLS110 flow sensor, with a footprint of just 3.5 x 3.5 mm, is small enough to fit into virtually any product and can be positioned where measurements matter. It's part of a complete digital flow sensing solution for fast product development. Ideal for adding intelligent and reliable flow measurement into all your latest products. Flusso was founded in 2016 to commercialise an innovative sensor technology, first developed by the High Voltage Microelectronics and Sensors group at the Electrical Engineering Department, of the University of Cambridge. The company, fully embedded in the Cambridge tech cluster, has exceptionally strong links within the Cambridge ecosystem, as well as access to all the world-class technology expertise, skills and support that is readily available within one of the most entrepreneurial and enterprising cities in the world. Flusso has established an in-house team of over 20 scientists, engineers and semiconductor industry professionals. Bringing together unrivalled experience in fast-growing start-ups, sensors, MEMS design, fluidic integration and fabless industrialisation and scale up. Visit our website to know more about us or get in touch at [email protected] !









