IEC 62304 · ISO 14971 · Linux Kernel

Validated Linux BSP for
Medical Devices

Pre-validated Yocto BSP, IEC 62304 §8 SOUP records, and ISO 14971 FMEA for Linux-based medical devices — written by an upstream Linux kernel contributor.

Get a quote kernel-soup-gen ↗

The problem

IEC 62304 compliance on Linux is expensive and slow

Medical device companies building on Linux face the same bottleneck: SOUP records for every kernel driver used in the device. Regulatory consultants charge €50k+ and still don't understand the kernel source.

⏱

6–12 month delays

Manually documenting kernel drivers for IEC 62304 §8 takes months per product. Each kernel version bump restarts the process.

💶

€50k+ consultant fees

Traditional regulatory consultants know the standard but cannot read kernel source. They ask your engineers to document everything manually.

🔄

Kernel version trap

Every LTS kernel upgrade requires re-validating SOUP records. Without automation, teams avoid upgrades — leaving security vulnerabilities unpatched.


Solution

Three packages, one engineer who knows both sides

Deliverables are written by someone with active upstream kernel contributions and IEC 62304 medical device experience — not a generic regulatory consultant.

SOUP Records Only

€2,500 / project
IEC 62304 §8 SOUP documentation for your existing kernel driver set.
  • SOUP record per driver (from kernel config)
  • Generated + reviewed by kernel contributor
  • CVE search links per driver
  • Maintainer and version traceability
  • Markdown output, ready for your DHF

Annual Maintenance

€2,000 / year
Keep SOUP records current across kernel version upgrades. No more compliance debt accumulation.
  • SOUP record regeneration per kernel bump
  • CVE impact assessment per driver
  • Change log for regulatory submissions
  • Email support for compliance questions

Open source tool

kernel-soup-gen

Auto-generate IEC 62304 §8 SOUP records for any Linux kernel driver directly from the source tree. Used to produce all SOUP deliverables in the packages above.

What it extracts

MODULE_* macros · copyright holders · kernel version · official maintainers · Kconfig dependencies · commit history · CVE search links


View on GitHub ↗
$ python3 kernel-soup-gen.py \ drivers/iio/adc/ti-ads1298.c # IEC 62304 §8 SOUP Record ## ti-ads1298 - Module: Texas Instruments ADS1298 - License: GPL-2.0-only - Maintainer: Mike Looijmans - Kernel: 6.15 - Commits: 47 (2021–2026) - Kconfig: CONFIG_TI_ADS1298 - CVE search: [NVD link]

Why trust this

Kernel contributor + biomedical engineer

SOUP records are only credible if the author understands what the driver actually does. Regulatory consultants don't read kernel C. This service does both.

Kernel patches merged
8 patches · 5 subsystems
IIO, SCSI, XFS, ASoC, Net
Active driver submissions
ADS1299 EEG · MAX86150
Under review in linux-iio
Zephyr RTOS
MAX30102 driver merged
Arm TSC reviewed · PR #108697
Education
M.HSc. Biomedical Eng.
University of Oulu, Finland
Medical device background
IEC 62304 + ISO 14971
Class IIb CE-marked firmware
Community
ELISA Project
Linux Foundation safety WG

New service

ROS 2 Medical Robotics Integration

Bridge any Linux IIO biosignal device to a ROS 2 surgical robot or monitoring system — complete open source stack, IEC 62304 documented.

Linux IIO to ROS 2 acquisition stack
⚡

Kernel space

Linux IIO driver for your biosignal ADC — SPI/I2C, DMA ring buffer, hardware interrupt trigger. Submitted upstream so you get free maintenance forever.

🔗

Userspace bridge

ros2_iio_medical reads the IIO kernel buffer via epoll — hardware-timed, no missed samples — and publishes typed ROS 2 topics for robot control or clinical logging.

📋

IEC 62304 package

SOUP records, SRS, SDS, FMEA for both the kernel driver and the ROS 2 bridge — ready to hand to your regulatory team.

Discuss your device ros2_iio_medical on GitHub
Supported devices
TI ADS1299 — 8ch 24-bit EEG/ECG ADI MAX86150 — ECG + PPG ADI MAX30102 — SpO₂ / HR TI ti-ads1298 — ECG Any Linux IIO device

Reference project

ADS1299 EEG/ECG driver — from silicon to IEC 62304

A complete example of what kernel driver work looks like end-to-end in a medical context.

⚡

Problem

The Texas Instruments ADS1299 is the dominant EEG/ECG acquisition chip used in medical BCI devices (OpenBCI, research-grade EEG headsets). No upstream Linux driver existed — medical device teams were each writing their own out-of-tree driver, with no shared maintenance and no compliance trail.

🔧

What was done

Wrote a full IIO subsystem driver for the ADS1298/ADS1299 family, submitted to the Linux kernel mailing list. Simultaneously generated the IEC 62304 §8 SOUP record using kernel-soup-gen — covering MODULE_*, Kconfig dependency, git history, maintainer contacts, and CVE search links. All fields verifiable directly from the kernel source tree.

✅

Outcome

Driver submitted to mainline Linux (IIO subsystem, Jonathan Cameron reviewing). Once merged: every medical device team using ADS1299 gets an upstream-maintained driver with a full SOUP record generated in under one second. Zero per-team duplication of compliance work.

View patch on lore.kernel.org ↗ See kernel-soup-gen ↗

Ready to talk?

Describe your hardware platform, target kernel version, and regulatory class.
Response within 1 business day.