Medical-device case study
Neuroderm
Firmware, real-time software and the full test and tooling stack for a continuous drug-delivery infusion pump that treats Parkinson’s disease.
The device
Neuroderm’s wearable infusion pump delivers medication continuously to people with Parkinson’s disease. The software has to be safe, reliable and provable, the kind of device that cannot fail in the field. Novodes built the embedded software and the entire quality and tooling stack around it, across two product generations.
What we built
End to end: the software on the pump, the tests that prove it, the tools that produce it, and the documentation that certifies it.
Firmware & real-time software
- Bootloader and application in C and C++, across two generations: Gen1 bare-metal, Gen2 on an RTOS (RTX) with a FuSa-grade kernel and compiler.
- FOTA over BLE to update the application, the bootloader and the BLE stack in the field.
- BLE communication with the mobile app and the docking station.
Testing & V&V
- A lean unit-test framework we built from scratch, running unit and integration tests on the pump itself, with new tests added every sprint and run automatically as CI/CD regression.
- A full simulation that runs on the pump to model a lifetime of use for the V&V team.
- A fault-injection rig that forces hard-to-reproduce edge cases and verifies the software handles each one correctly.
Production & PC tooling
- ATE software to load the right firmware and parameters on the production line.
- PC tools with a rich GUI for QA and V&V to control the pump and analyse its performance in real time.
- A no-code tool that lets the QA team build their own full system tests.
Documentation & compliance
- SDD, test documentation and traceability to the SRS, kept continuously up to date.
- Static-analysis and code-coverage tools integrated into the pipeline: Cantata, Parasoft C/C++test and Testwell CTC++.
- Automation infrastructure and CI/CD running the full regression suite on every change.
Technologies & tools
CC++C#PythonRTOS (RTX) FuSaBootloaderFOTA over BLEBLECI/CDCantataParasoft C/C++testTestwell CTC++
Building something similar? Let’s talk about the software.
Talk to us