Columna is a reusable embedded software foundation for regulated medical devices. It provides the architecture, the infrastructure services and the verification and documentation record, so the team's work goes into what makes your device yours.
Start with the foundation already built, and put the team on what really matters.
Hardware agnostic by design, so a shortage or an end-of-life notice never becomes a redesign.
Developed from the ground up to IEC 62304 Class C, with a record of everything. No SOUP justification.
THE PROBLEM
In embedded development, only a fraction of the effort goes into what makes the product yours. The rest disappears into building the low-level foundation, debugging it, and writing the documentation the auditor will ask for.
The first phase goes into buses, drivers and board bring-up. The function the device is built around waits behind work no user will ever see, and no investor will ever pay a premium for.
Your most expensive software time goes into the low-level layer. For a first product that is runway; for a company with several products it is the same invoice arriving again.
Every week added before a working prototype pushes verification, submission and market entry by the same week, and burns cash while it does.
With no logger, no live terminal and no structured error records, every question about a failure costs another build, another mount and dismount of the device, another day.
Low-level code that was never tested in isolation fails during EMC, integration or in the field, exactly where a fix means re-verification, re-documentation and a slipped date.
Requirements, design records and test evidence for code that already exists get written under submission pressure. It is a frequent source of findings, and it repeats with every product you add.
THE LIBRARY
Columna is the layer below your application: drivers, interfaces, runtime tooling and error management, developed under IEC 62304 with the documentation already written. It is designed for constrained memory: each capability is enabled or disabled at compile time, so a device only carries what it actually uses.
The hardware your device already contains, already written and verified: LEDs, ADCs, DACs, sensors, chargers, battery gauges, touch panels, displays, network PHYs, external memories and more.
Your software calls Columna interfaces, never a vendor SDK. A port exists per silicon family, so choosing or changing supplier stays a business decision instead of a rewrite.
RTOS ports and a formal state-machine engine give your team a frame to build in: states, events and transitions declared once, in clean and modular code. No more switch statements that grow with every feature.
Talk to the software while it runs: inspect tasks and memory usage, read and write any device through its own driver, scan a bus for what is answering. Alongside it, a levelled Logger traces what the software is doing, readable line by line in development and compiled out in production.
Error management comes built into every component, so your team never writes it: what failed, where and when is captured on its own and kept queryable by component, severity or time. It can be exported as JSON, so a failure is caught the same way on the bench and in the field.
Class C from the start, MISRA-C as the coding standard, requirement-to-test traceability throughout. Every component ships with its own record, so it enters your device file as developed software instead of SOUP you have to justify. We lay the regulatory base layer; your team writes the device-level documentation on top of it.
SIDE BY SIDE
Plug in Columna so your team focuses on the clinical function nobody else can write for you.
Start from the ground, on every project.
Start with a suite of components that pushes your development forward.
REGULATORY
Columna is developed inside an ISO 13485 quality system, under a software lifecycle that follows IEC 62304 and targets Class C from the first line. Requirements, architecture, detailed design, verification and release records exist for every component and are versioned with the code they describe.
Traceability is maintained end to end: every requirement links to a design element, every design element to a test case, and every test case to a recorded pass for that release. MISRA-C is the coding standard, and static analysis, unit tests and coverage run in the release pipeline, not as a one-off exercise.
That record is what changes the software's regulatory status. Third-party code normally enters your file as SOUP, software of unknown provenance, and has to be justified with nothing behind it. Software that can be shown to have been developed under a compliant lifecycle is developed software: the strongest provenance a component can carry into a device file.
Columna is a software component, not a medical device, and carries no CE mark of its own. We deliver the foundation, you build on top of it: the component record comes complete, and the device-level claims, hazard analysis and clinical evidence stay where they belong, with you.
DELIVERY
The engineering core is the same in every option. What changes is how much of it you receive, and what your regulatory submission can claim about it.
01
Compiled library for your MCU targets, plus a qualification kit: a runnable test suite you execute on your own hardware to verify the delivered binary.
Enters your device file with a verified binary and test evidence.
02
Adds the full Class C package: SRS, SDS, traceability matrix, V&V reports, software FMEA, safety manual with anomaly list, and an SBOM per release.
Enters as developed software, with the record behind it.
03
Components adapted to your device, new components developed for it, or the complete software built by our team, all executed inside an ISO 13485 quality system with the design records delivered as part of the work.
Engineering by Perdigó Medical, scoped per project.
Columna keeps growing: bug fixes, improvements, new versions and new components in development, with support for new MCUs as they arrive. The documentation package moves with it, revised for each release and for changes in the applicable standards, including per-release V&V reports, SBOM and anomaly list.
Adds engineering support with agreed response times, and assistance during integration and board bring-up.
Licences are scoped by field of use. A licence sold for non-regulated products cannot be used in a regulated device without an upgrade.
Clients developing a device with Perdigó Medical receive the documentation package as part of the engagement.
Pricing on request · start a conversation.
Developed by engineers, for engineers: time spent where it counts, on well-written code that stays modular and scales with your product.
WHO WE ARE
Columna is Latin for column, the structural member everything else rests on. Buses, drivers, logging and error handling are the code every product carries, so build that layer once and each new device starts from a standing structure rather than from zero.
The library is written by embedded engineers at Perdigó Medical, an ISO 13485-certified medical device consultancy in Barcelona. It came out of building regulated software for real devices and rewriting the same drivers for every one of them, until we wrote them once, properly.
CONTACT
Start your next device on a tested, documented foundation, with the runtime tooling and the Class C record already there. Delivery is scoped per project, from a compiled library to full software development. Tell us about the device.
Start a conversation