Handheld Diagnostic Consumer Device

Handheld Diagnostic Consumer Device

Client – Who are they/what do they do


Multinational consumer medical device manufacturer.

Challenge – What did they need us to do


The client has an existing handheld diagnostic consumer medial product (class B) targeted at emerging markets. As part of an expansion plan and a continual cost improvement programme, a product update was required with the following requirements:

  • Microprocessor change to a low cost variant from an alternative silicon manufacturer
  • Removal of external non-volatile memory storage
  • Utilise (the significantly smaller) onboard storage provided by the new microprocessor
  • External crystal change
  • Port existing hardware peripheral drivers to the new microprocessor
  • Port existing application to the new microprocessor
  • Document updates for regulatory submissions

Solution – How did we solve it for the client


A feasibility study was first carried out to identify the areas of change in the existing software. The following analysis was carried out:

  • Stub out all the hardware dependent code and create a preliminary build of the existing software to understand the code and memory space implications by reviewing the generated “map” files
  • Review the optimisation settings available in the new compiler toolchain
  • Mark up the configurable parameters that are candidates for removal or is to become hardcoded inside the embedded firmware application
  • Review other stored data and mark up those that can be reduced with further analysis to determine if it may cause any undesirable side effects

Upon completion of the above analysis, a report of the findings was produced and provided to the client. Ultimately, the conclusion was that it was technically feasible to formally productionise the required changes whilst maintaining the same functionality, performance, efficacy, and accuracy.

The productionised software and documentation followed the software development lifecycle as per IEC 62304. Silicon errata review, hardware schematic review, and software FMEA (failure modes and effects analysis) was also performed as per ISO 14971 throughout the duration of the project. Formal change control was adhered to for all software and document updates in accordance with ISO 13485.

Aligning with the baselined code base, the C++ language was selected for development and similarly, a coding standard identical to the baseline was maintained.

For verification and validation, multiple staggered dry run test cycles were performed including a design verification test cycle before the formal V&V software is released for production use. For each test cycle, the test execution is a mixture of automated, semi-automated, and manual tests consisting of unit, integration, and software sub-system test cases.

The project was delivered on time, on budget, and completed successfully with all the client’s requirements fulfilled.