Firmware Rescue: Taking Over an Unfinished Embedded Project From a Previous Developer

Nikhil Robinson · · 2 min read

The previous freelancer disappeared and the firmware half works. How I assess, stabilise and finish inherited embedded projects.

The problem clients bring: "Our previous developer left halfway. The firmware sort of works, crashes sometimes, and nobody understands it. We have a launch date." This is one of the most common requests in embedded freelancing.

What is really going wrong

  • No documentation and no clear build process, sometimes not even the full source.
  • Crashes caused by stack overflows, race conditions or memory corruption.
  • Features half-implemented in several places at once.
  • Pressure to add new features before the base is stable.

How I solve it

  1. Get the code building reproducibly and under version control on day one.
  2. Write a short assessment: what can be kept, what must be fixed, what must be rewritten, with an honest estimate for each.
  3. Fix stability first, using crash dumps, stack analysis and stress tests.
  4. Finish features one milestone at a time, each delivered as a build the client can test.
  5. Document as I go, so the client is never stuck like this again.

What the client gets

A clear picture within days instead of weeks of guessing, stable firmware before new features, and a project they fully own.