How MedTech Giant Will Avoid Legacy Code Issues Stopping Them from Upgrading Their Hardware
The scope of the project involved code refactoring, repository and CI setup, new toolchain migration, unit testing of legacy code, and implementation of new hardware drivers. Our knowledge and expertise in embedded systems seemed to be the right fit.
Legacy code is a big risk in the MedTech landscape
Running on legacy code is like stepping on thin ice for the medical industry. It can lead to equipment failures and lost compliance. Above all, old firmware can be very problematic when it’s time to upgrade the device itself as it is prone to failures. Device manufacturers who produce MedTech hardware need a codebase that is stable, as reliability is nonnegotiable in that line of business. Otherwise, they could risk the end-users’ health, as well as miss audit standards and lose certifications. In our client’s case, ISO standard requires them to update the software. They simply couldn’t ignore it.
The manufacturer was aware that it’s time to update the codebase so they asked our partner for help. They required a firmware update for their existing devices, unit-testing framework setup, and migration assistance. The partner outsourced our specialists to boost their existing skillset, since we have embedded system engineers and the right ISO standards to trust us with the project.
Our embedded pros “embedded” in the project
Our experience with outsourcing projects made us quickly get to the job. We stepped in to select and implement an appropriate strategy for handling embedded systems for MedTech. The critical nature of medical technology means that their systems need thorough documentation to meet strict certification standards as a medical device. Our partner was in charge of that. DAC.digital’s experts, on the other hand, suggested tooling and frameworks to modernize the embedded system and set up direct testing capabilities without compromising compliance rules.
DAC.digital team structure for this project included:
- 2 Embedded Engineers
- 1 Tech Lead
- 1 DevOps (when necessary)
- 1 Project Manager
Migration and unit testing, and there’s more to come
The client’s existing code was outdated and risky to modify. We migrated an existing project to modern tools, introduced unit-testing, performed refactoring of the current codebase, and updated and added new functionalities to ensure long-term maintainability and compliance. Our work allowed the client to make future changes confidently while reducing the risks associated with modifying critical medical software.
![]()
Our strength lies in our experience with embedded development. We can take over complex legacy code, migrate it to modern tools, thoroughly test and refactor it and implement new functionalities. A key aspect of our work is development of embedded code that is maintainable and future-proof.
![]()
Repository and CI Setup as Initial Tasks
At the start of the project, our experts established a structured repository and implemented issue-tracking tools. A critical part of this phase was setting up the Continuous Integration (CI) pipeline to automate the firmware, build unit tests and deploy processes which required our DevOps’ expertise.
To help the client maintain an easy-to-scale codebase, we also integrated static code analysis tools and code coverage reporting into the CI pipeline. This ensures early detection of potential issues, enforces coding standards, and provides visibility into test coverage.
Transition to a New Compiler and Unit Testing
One of the most challenging tasks was migrating the client’s software (written in C) to a new compiler. This transition was critical, as the old compiler was no longer viable, and it was identified initially that the client lacked direct testing capabilities. A project like that required unit testing to validate the migration and ensure system stability. It helped us make sure that core functionalities remained stable after modifications.
We helped the client select a unit testing framework for C. Initially, we tested Unity, but it required too much manual work. We also evaluated Google Test, but its advanced capabilities were unnecessary for this project. Ultimately, we chose CppUTest, as it provided the right balance of functionality and ease of use.
We implemented the CMake build system to streamline the compilation process for the entire project. This allows us to build both the firmware and bootloader in one project and also include unit test configurations. CMake provides a flexible setup that will be easy to adjust for future hardware changes. It also integrates smoothly with the CI pipeline, helping automate builds and testing.
Since the project was so transformative, we held training sessions for the client’s employees on how to use the new tools.

👋 Hey You, What Are You Working On?
Share a few details about your challenge or idea, no matter how early or complex. Our expert team will reach out to offer our expertise in terms of feasibility, budget, and scope. Let’s shape a solution for you together!
Time for Hardware Changes
Our collaboration with the client is ongoing, with the next phase focused on implementing key code enhancements to support upcoming hardware upgrades. This includes:
- Modifications for serial communication control to optimize data transmission.
- Processor upgrade to improve performance and efficiency.
- Touchscreen display upgrade for a more modern and responsive user interface.
- Replacement of the capacitive touchscreen to enhance durability and usability.
- Audio improvements for better sound quality and system feedback.
Medical Device Manufacturer Will Enjoy A State of the Art Solution
Without meeting our partner and us, the client would have struggled to maintain and upgrade their software, which would make hardware changes extremely risky. Thanks to our refactoring, testing, and CI pipeline setup, they can now safely implement updates while ensuring compliance with medical industry standards. Our structured approach ensures that the embedded system performs well and doesn’t risk regulatory issues.
Looking for Embedded System Upgrade for Your Business?
Read More of Our Case Studies.
Tell us What You’re Working On
Contact us!
Send us an email: [email protected]