Start a Project →
What we do
Capabilities Services Industries
Our work
Company
About Careers Contact
Start a Project →
Medical device software development

Medical device software development.

We engineer the software and electronics that make clinical instruments and therapy devices work in the real world. That includes firmware, measurement systems, control software, touchscreen interfaces, connectivity and the supporting device infrastructure. Hardware and software are developed together, from an early bench prototype through to repeatable units ready for clinical evaluation and continued product development.

Start a Project → See delivered work
Our clients
NIBRA-CS Knobzz Dreep ODSSY

Where medical device software gets difficult

Working software is not the same as a finished engineering system.

A device can work correctly on the bench and still be missing the engineering evidence required to support the product. Requirements need to remain traceable to implementation and verification. Software risks need to be understood and addressed. Test results need to be recorded as part of development rather than reconstructed later.

A prototype and a clinical unit are different products.

A proof of concept can demonstrate that a measurement or therapy works. A device intended for real clinical use also needs predictable startup and shutdown behaviour, fault recovery, sensor fault handling, repeatable operation and serviceability. The engineering has to account for what happens when the device is used outside the conditions of the laboratory.

Measurement integrity is part of the product.

For a diagnostic instrument, the value presented to the clinician is the product. Sampling, timing, filtering, calibration, signal conditioning and drift all affect that value. A problem anywhere in the measurement chain can change the clinical result without being obvious at the user interface.

Interfaces are used under real clinical conditions.

The operator interface is part of the device, not just a visual layer placed on top of it. Controls, feedback, interrupted procedures, error handling and the behaviour of the device after an incorrect input all need to be considered in the system design.

How the engineering is organised

Requirements traced through to verification.

Software requirements, architecture, implementation and verification remain connected throughout development. This makes it possible to see what the device is intended to do, how that behaviour is implemented and how it has been verified as the product evolves.

Risk led engineering, not documentation added afterwards.

Software related hazards are considered early enough to influence architecture and implementation. Safety controls are designed into the system where possible rather than added after the main design has already been fixed.

Deterministic where the clinical outcome depends on it.

Dose control, stimulation timing, measurement windows and safety states are designed around defined timing behaviour and verified against those requirements. The system is not expected to behave correctly simply because it normally does so.

Third party software is treated as part of the product.

Operating systems, protocols, libraries and other third party components are identified, version controlled and assessed for their role in the system. The goal is to know what is inside the device, what it depends on and how those dependencies affect risk and maintenance.

Built to be handed over.

Source code, build environments, configuration, requirements, architecture and verification material are organised so the product can be maintained by your team, reviewed as part of the wider quality system, or transferred to the next engineering stage without depending on the original developers.

Medical device software development services

Medical device firmware development

Bare metal and RTOS firmware for instruments and therapy devices, developed around the timing, power, memory, hardware and safety constraints of the actual product.

Embedded software under IEC 62304 practices

Software development structured around the lifecycle practices defined by IEC 62304, including software architecture, implementation, verification and the engineering records produced throughout development. The process can be integrated with the client’s wider quality system and regulatory workflow.

Clinical measurement chains

Sensor interfaces, analogue front ends, sampling, filtering, calibration, signal processing and derived values, engineered as one measurement chain and characterised for repeatable performance across units and operating conditions.

Closed loop therapy control

Control systems in which the device continuously responds to sensor feedback, including pressure, flow, dose and stimulation control. Control behaviour, limits, fault states and recovery behaviour are defined and verified as part of the system.

Touchscreen and operator interface development

Clinical user interfaces running directly on the device, including protocol selection, live measurement display, alarms and status information, service functions, calibration modes and the data layer connecting the interface to the underlying system.

Connectivity, records and cloud

BLE, WiFi and cellular connectivity, device data storage, session records, synchronisation with hospital or client infrastructure, provisioning and secure software update mechanisms. Connectivity is designed around the operational and security requirements of the device rather than treated as a separate software layer.

Prototype to trial unit hardening

Taking a working proof of concept into repeatable engineering units through hardware and software integration, power management, fault recovery, manufacturing considerations, serviceability and field diagnostics.

Verification, test evidence and production transfer

Functional, timing, endurance and relevant environmental testing, with the engineering records needed to demonstrate what was tested and what the results showed. We also support production transfer through configuration control, test fixtures and manufacturing handover.

Scope breakdown
Instrument firmware

MCU and SoC firmware for diagnostic and therapy hardware, developed against the real board, peripherals and system constraints.

Sensor integration

Clinical and physical sensors using different interfaces and protocols, integrated into a consistent software and measurement architecture.

Signal processing on device

Filtering, feature extraction and derived measurements implemented on the device where latency, privacy, reliability or system architecture require local processing.

Embedded Linux for clinical devices

Yocto and Buildroot based systems, device services, update infrastructure, storage and application environments for instruments built around application processors.

Clinical GUI development

Qt, QML and LVGL interfaces for touchscreen devices, including operational screens, service functions and calibration workflows.

Session data and synchronisation

Local storage, session management, data reduction and reliable synchronisation with hospital or client systems.

Secure update and device security

Secure boot, signed firmware, authenticated and encrypted communications, controlled update paths and device security measures designed into the architecture from the beginning.

Quantum safe readiness

Assessment of where cryptography is used across the device and its connected systems, with architecture that supports cryptographic agility and future migration to post quantum cryptography where appropriate. This is particularly important for medical products with long operational lifecycles, where software and security mechanisms may need to evolve after the hardware is already deployed.

Design for verification

Test interfaces, logging, diagnostics and internal observability designed into the architecture so the system can be verified efficiently rather than instrumented at the end of development.

Traceability material

Requirements, architecture, implementation and verification records kept connected as the system changes.

Production support

Production test fixtures, configuration management, manufacturing documentation and engineering support during transfer into production.

From bench prototype to units a clinical team can use

Tell us what the device does, what has already been built and where the engineering currently stands. We can take ownership of the software work, support a specific engineering requirement, or help move an existing prototype into a more complete and repeatable product.

Start a Project →

What the engineering leaves behind

The measurement chain owned end to end.

Sensor interfaces, sampling, firmware, signal processing and the value presented to the clinician are engineered as one system. When something does not match expectations, the complete chain can be investigated rather than passed between separate suppliers.

Devices that behave consistently.

Measurement and therapy behaviour is characterised across units and relevant operating conditions so repeatability is designed into the product rather than dependent on a single successful prototype.

Evidence produced alongside the product.

Requirements, architecture, verification activities and test results are produced during development and organised so they can support the client’s quality process and technical documentation.

A prototype that becomes a device.

Bench proofs of concept are taken through the engineering needed to make them repeatable, serviceable and suitable for use beyond the laboratory.

Engineering that transfers to your team.

Source code, build environments, configuration and supporting engineering records are handed over in a form that allows your team to continue development, verification, regulatory work and production without being dependent on the original supplier.

Discuss your device →

Platforms, sensing and tooling

Embedded platforms

Microcontrollers, application processors and Embedded Linux platforms running on custom electronics and carrier boards.

Representative platforms include STM32, Nordic nRF, NXP i.MX, Texas Instruments and Raspberry Pi Compute Module.

Software environments

Bare metal, FreeRTOS, Zephyr, Embedded Linux, Yocto and Buildroot.

Languages and frameworks

C, C++, Python, Qt, QML and LVGL.

Sensing and measurement

Analogue front ends, ADC based acquisition, sampling, calibration routines and on device signal processing.

Interfaces and buses

UART, SPI, I2C, USB, CAN, RS 485, Modbus, Ethernet and analogue interfaces.

Connectivity

BLE, WiFi, cellular, MQTT, HTTPS, device provisioning and OTA software update.

Practice and tooling

Git, JTAG, SWD, GDB, OpenOCD, logic analysis, power analysis, continuous integration for firmware builds, and requirements and test traceability.

How a medical device engagement works

01

Review

We begin by understanding the existing hardware, firmware, requirements, intended use and known technical issues. This establishes where the product actually stands before implementation begins.

Typical output
Technical assessment and defined engineering scope
02

Architecture

System behaviour, software structure, hardware interfaces, data flow and software related risks are defined before implementation. The architecture is shaped around the actual device, its constraints and the evidence the development process needs to produce.

Typical output
Software architecture and development plan
03

Implementation

Firmware, measurement and control software, operator interfaces and connectivity are developed against the target hardware. Requirements remain linked to what is implemented as the product develops.

Typical output
Working software integrated with the device
04

Integration

Hardware and software are brought together and characterised as one system. This includes normal operation, boundary conditions, interrupted procedures, disconnected sensors and other relevant fault conditions.

Typical output
Integrated device build
05

Verification

Functional, timing, endurance and relevant environmental testing is performed against the requirements established for the device. Results are recorded as development progresses so verification evidence grows with the product.

Typical output
Verified build and recorded test results
06

Handover

Source code, build environments, configuration, documentation and supporting engineering material are prepared for continued development, regulatory activities or manufacturing.

Typical output
Complete engineering handover

Frequently asked questions

What is medical device software development? ▼

It is the engineering of software that runs on and interacts with a medical device, including firmware, embedded applications, measurement and control software, operator interfaces and connected device functions. The development process needs to produce both working software and the engineering evidence that supports it.

Do you work to IEC 62304? ▼

Yes. Our software development process can be structured around the practices defined in IEC 62304, including software architecture, implementation, verification and associated engineering records. The exact activities and documentation are determined by the device, its software safety classification and the client’s quality and regulatory requirements. The standards our engineering is designed toward are set out on our standards page.

Who is the legal manufacturer of the device? ▼

The client remains the legal manufacturer. We provide engineering services and the technical development work associated with the software and embedded system. Regulatory submission, conformity assessment and market placement remain the responsibility of the manufacturer.

Which software safety class do you work to? ▼

The appropriate software safety classification is determined from the device risk analysis and the applicable regulatory framework. We do not assume a classification at the beginning of an engagement. The classification informs the depth of architecture, verification and documentation required.

How do you handle SOUP and third party components? ▼

Operating systems, libraries, middleware and other third party software are identified, version controlled and assessed for their role in the system and their contribution to risk. The objective is to maintain visibility of what the product depends on and why those dependencies are acceptable.

Can you take an existing prototype to trial units? ▼

Yes. A significant part of our work involves taking existing hardware and software beyond proof of concept. We first characterise the current system, then address the engineering required to make it repeatable, serviceable, diagnosable and suitable for use outside the laboratory.

Do you develop the touchscreen interface as well as the firmware? ▼

Yes. The operator interface and the software underneath it are developed as one system. This can include protocol selection, live measurements, device status, service and calibration functions, alarms, session handling and the underlying data flow.

Do you support usability engineering under IEC 62366? ▼

We develop interfaces around the actual operating context of the device and can support the software and interface work arising from the client’s usability engineering activities, including changes identified during formative evaluation.

What about device cybersecurity? ▼

Security is considered as part of the architecture rather than added near the end of development. Depending on the product, this can include secure boot, signed firmware, authenticated communications, encryption, access control, logging and controlled software update mechanisms. For longer lived products, we can also assess cryptographic dependencies and design for greater crypto agility so the device is better positioned for future migration to post quantum cryptography.

Who owns the IP? ▼

The client owns the intellectual property developed under the engagement according to the agreed commercial terms. The engineering materials produced as part of the project are transferred with the product so the client can continue development without being dependent on the supplier. The full position is set out on our IP and ownership page.

What do we receive at handover? ▼

You receive the source code, build environment, configuration and the architecture, verification and test material produced during development. The goal is a usable engineering handover that your own team can build on, maintain and integrate into the wider product and quality process.

Related: embedded software development for products outside healthcare, computer vision development, and the industries our engineering ends up in.

Need help with a medical device software requirement?

We can work with an existing engineering team, take responsibility for a defined part of the system, or develop the embedded software and supporting engineering for the product as a whole.

Start a Project →