Each product has a selection of firmware programs. These programs are the heart of the microprocessor that initialize the product to operate in a specific way. Each engine has different sensors and electrical accessories and requires different programs. The firmware programmer allows the users to change the Firmware program in the ECU for different engines or applications. The programmer is also used for upgrading to the latest version of the manufacturers firmware. The programmer is bought optional and not a requirement. It is very useful if the agent is far from the manufacturer. The firmware software is freeware after development.