A single embedded codebase, from the silicon up to the screen.
We start at board bring-up and work outward: drivers and a hardware abstraction layer, a real-time core for the control loops that cannot miss a deadline, then the connectivity and the operator interface on top. Every layer is written and reviewed under the same IEC 62304 discipline we apply to our medical software.
Where you already have firmware, we modernise it: untangling it into testable modules, adding a simulation mode so it runs without the hardware, and standing up the automated builds and tests that keep it shippable for years.