# Updating the firmware Updating the firmware is easy to do, however it is important to do it correctly to prevent errors or board misconfiguration. A guide to downloading FOME firmware and setting up TunerStudio can be found [here](/Intro-Start-Here/Where-To-Get-Firmware/). Updating firmware involves a process sometimes called "flashing" or even "programming" the ECU. Generally, these all refer to the same thing: taking the compiled FOME firmware and loading it into the non-volatile flash memory on the ECU. ## Updating the firmware with FOME console After confirming the firmware to flash to the ECU, software to do so must be used. FOME provides a utility, the **FOME console**, which is capable of flashing firmware to supported ECUs and is the recommended way to update FOME firmware. The FOME console is included with each firmware release, and bundles can be downloaded from [the release page](https://github.com/FOME-Tech/fome-fw/releases). After extracting the bundle contents, navigate to the `console/` directory and run the FOME console program (e.g. `fome_console.exe` if using Windows). After first confirming **TunerStudio is not running**, connect the ECU to the computer. FOME console will automatically detect the board and present similar to the display below. ![image](Updating-FW/fomeconsole.png) Next, choose the *Update Firmware* button and leave the board connected until the console notifies that the update was successful with a green display. Only once the console has presented this success message, disconnected and re-connect the ECU to the computer to reboot it with the new firmware. ![image](Updating-FW/fwsuccess.png) If the update completes successfully, congratulations; proceed to [the Setting up TunerStudio section](#setting-up-tunerstudio). If the update does not complete successfully, the firmware may need to be loaded by first forcing the board into bootloader or Device Firmware Update (DFU) mode, documented in the next section. ## Updating firmware via manual bootloader/DFU mode In the event of a firmware update/flash failure, or some other firmware corruption issue, such that FOME console nor TunerStudio recognize the ECU when connected, the board needs to be first forced into bootloader mode before updating. In these situations, the FOME console cannot communicate with the firmware and so is unable to configure it into bootloader mode for updating. To enter bootloader mode, on the ECU you will need to access buttons or pins on the main board to force the processor into this mode. Some boards use a momentary button, likely near to the reset button, to force this mode during power-up. Others might use a set of pins or pads that need shorted to force this mode during power-up. Press the button or short the pins with the ECU disconnected from the computer, then simultaneously connect the ECU into the computer. Once connected, the button can be released or the short removed. When a board has been successfully booted into bootloader/DFU mode, the FOME console will recognize this and display the manual DFU update selection. ![image](Updating-FW/mandfu.png) Next, choose the *Update Firmware* button and leave the board connected until the console notifies that the update was successful with a green display. Only once the console has presented this success message, disconnected and re-connect the ECU to the computer to reboot it with the new firmware. ## Setting up TunerStudio With the ECU connected, open TunerStudio with the associated project. TunerStudio will recognize that the project's ECU definition is out of date and display a prompt to update it. Choose the *Update ECU Definition* button, which will attempt to automatically update the definition from official sources. If an official definition cannot be found, manually load the `.ini` definition file associated with the firmware (i.e. from the downloaded bundle). ![image](Updating-FW/ecudef.png) Next, under the *Controller* tab, open the *Popular vehicles* menu and choose the top button (e.g. *Hellen NB1 36 wheel* as shown here) to load the preset for your vehicle (**not the button to *Reset firmware settings***). ![image](Updating-FW/popularvehicles.png) Once the preset has been loaded, you can either start tuning or load your tune from the older firmware versions under *File > Load Tune (msq)*. After that, the update is complete!