Out of flash. Out of RAM. Build system from 2008. Original developer long gone. We specialize in the legacy microcontroller systems that everyone else turns down.
Most consultants turn down this work. We seek it out.
"We need to add a feature but there's no flash left."
Deep code archaeology to reclaim flash/RAM space through architectural optimization, and refactoring. No hardware redesign required. We have recovered up to 66% of flash/RAM on numerous projects
"The original developer left and no one knows how the code works."
Reverse-engineering and documentation of legacy codebases. We build data-flow models, create architecture diagrams, and leave you with a system your team can confidently own.
"The build system is from 2002 and won't run on anything modern."
Archaeology and resurrection of ancient toolchains. We have containerized and virtualized old build environments so they run on modern hardware, then we document the process for your team.
"We need encryption/secure boot/OTA on hardware never designed for it."
Fitting security features into constrained spaces. AES from scratch, custom bootloaders, minimal-footprint implementations — security that fits what you have.
Unique approaches to systems that look unsalvageable
We dig into the codebase, build systems, and whatever documentation exists. Reverse-engineer intent from implementation. Build a complete mental model of what exists and why — before touching a single line.
Systematic reclamation of flash, RAM, and CPU cycles. We can recover 10–50% of constrained resources — enough headroom to add features, improve reliability, or reach compliance targets.
Modernize the development environment without losing the code that runs in production. Old toolchains get containerized so they build on current hardware. Reproducible builds, documented processes.
We deliver documented, buildable, maintainable code — plus knowledge transfer so your team can own it going forward. Or engage us for ongoing support.
If it's an MCU and it's stuck, we're interested
Representative rescue engagements
Situation: A battery controller was out of RAM — the software team said they had to disable things or truncate data, or the compiler would throw an error. Hardware redesign was on the table as a last resort.
Outcome: Deep understanding of the PIC18 architecture allowed us to reclaim RAM banks for the existing code build, tripling the banks available and reducing RAM usage to 33%. Hardware redesign avoided. Product line continues on existing hardware.
Situation: Commercial video product was built using a custom toolchain from 2008. The only machine that could build binaries was a specific 32bit computer. When that machine started failing, the client had no path forward.
Outcome: Virtualized the entire build environment. Restored reproducible builds on modern hardware. Documented the process end-to-end. Development team can now build and maintain the product without the original workstation.
Situation: A signage system used two PIC16s in a daisy-chain, both were programmed at manufacturing. Now they need field updates.
Outcome: Designed and implemented custom lightweight daisy-chain bootloader protocol over existing serial bus, fitting in with existing custom serial protocol allowing bootloader capable and non-bootloader system to work together as field deployments were upgraded.
Situation: Medical device company had a 22,000-line microcontroller C codebase. Original development was a revolving door of contractors and developers over 8-years. Documentation was long gone. The team was afraid to change anything except text and constants.
Outcome: Reverse-engineered the code architecture, documented the system including timing-critical paths. Over time refactored the codebase into maintainable modules. The client's team now ships updates with confidence.
Describe the situation and we'll let you know if we can help — usually within one business day.
Need more than a rescue? If the legacy product is end-of-life and you're ready for a full redesign, see our OEM product development services.