Improving or modifying the existing firmware to add extra features is difficult without providing the source code (the original program in its original language), this is because, when a compiler compiles code for a programmed IC the compiled output is translated into machine code which is then downloaded into the IC. This machine code although not impossible to disassemble the machine code into assembly code + thus edit it, it is a process that is certainly not quick + can often result in limited results at best.
In situations where you need to edit or change the algorithm but you do not have the source code we recommend that you get in touch to see how we can help you rewrite your firmware.
We first start by reverse engineering your circuit board + finding out what inputs + outputs are connected to the programmed IC this allows us to make sure the functionality of the new firmware replicates the old. We then take these inputs + outputs + either replace the programmed IC with a modern equivalent or use the make + model of the original IC, buy a new one + then program it to have expanded functionality.
The benefits of redeveloping your firmware is that you will then be able to have backups of your new source file to use for future production + if your new programmed IC or microcontroller ever becomes obsolete you will have the source file allowing you to recompile the code for another microcontroller which is far quicker + faster than redevelopment.
Do you need firmware modifying or improving? If so get in touch to see what solutions we can offer you.