IEC 62304 Class C Firmware Development for Medical Devices
Project in a Nutshell: For a European medical device manufacturer, Promwad developed firmware to IEC 62304 Class C, the highest safety class for medical software. The bare-metal design on an ARM Cortex-M4 STM32 spans the HAL, middleware, application, and communication layers, with ISO 14971 risk analysis and a built-in self-test that detects hardware and communication faults in real time, meeting a hard 10 ms response requirement. Promwad delivered on a fixed certification deadline that could not move, the device passed certification and went into mass production.
Challenge
The customer approached us to develop firmware in compliance with the IEC 62304 Class C. This standard guides the development of medical device software. In IEC 62304, software safety classes are used to categorise software based on its potential impact on patient safety.
Solution
The development process included the following layers:
- HAL,
- middleware,
- an application layer,
- a communication protocol.
We didn't use RTOS, this project was bare-metal and based on ARM Cortex-M4 STM32 by STMicroelectronics.
Our engineers used the following software development tools:
- Development environment: IAR.
- Programming languages: С, Python.
- Static coding analyzer: C-STAT, SciTools.
- Version control system: Git (Bitbucket).
- Device operation mode: hard conditions in real-time with response to external events – 10ms.
We performed a risk analysis by ISO14971 (PD/TR 80002-1) and implemented a built-in self-test (BIST) for detecting hardware and communication faults in real-time.
Business Value
The device was designed in accordance with the IEC 62304 standard and became an integral part of the client’s system. We successfully completed the project within a strict deadline, as the client was bound by a certification that couldn't be moved. The certification was successful, and the device went into mass production.
















