# Senior Firmware Engineer

**Company:** [Flusso Ltd](null/companies/wAT239TpYFVXAqpurjWsmq.md)
**Location:** Cambridge, United Kingdom
**Workplace:** on site
**Employment type:** Full-time
**Department:** Engineering

[Apply for this job](null/view/291593da-1214-44a6-b1fa-c1c6f6f5f47f)

## Description

**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
