NaxGCC-Doc/src/update-firmware.md

28 lines
2.9 KiB
Markdown
Raw Normal View History

# Updating Controller Firmware
Keeping your firmware up-to-date is recommended to ensure you benefit from the latest features, fixes, and improvements to performance. New versions of the firmware are published at the [official NaxGCC-FW repo's release page](https://git.naxdy.org/NaxdyOrg/NaxGCC-FW/releases)
> **NOTE:** Take care not to accidentally download the _nightly_ release, as these are experimental and may not be stable, unless you want to be a guinea pig for new features.
## Flashing your controller for the first time
If your controller is brand new and has never been used before, you will need to flash the firmware onto it. This is a one-time process, and you will not need to do it again unless you want to update the firmware.
Simply plug in your NaxGCC to your computer. It will show up as a regular mass-storage device, similar to a USB stick, or an SD card. Drag & drop the firmware binary (the file ending in `.uf2`) onto the device. The mass-storage device will disappear, and your NaxGCC is now ready to use!
## Updating your firmware
If you already have a controller with firmware on it, updating is easy. Simply plug in your NaxGCC to your computer while keeping the `A+X+Y` buttons held. The controller will show up as a mass-storage device, similar to when you first plugged it in. Drag & drop the new firmware binary onto the device, and you're done!
> **NOTE:** Major firmware updates (e.g. `1.x.x` to `2.x.x`), **WILL** cause your configuration and calibration to be reset! For these updates, it is recommended to write down your config values for things such as snapback, stick smoothing, etc. before updating. Also make sure to set aside some time to recalibrate your sticks after updating.
>
> Minor firmware updates (e.g. `1.0.x` to `1.1.x`) and fix updates (e.g. `1.0.0` to `1.0.1`) will not cause your configuration to be reset, and you can safely update without having to recalibrate.
> **NOTE:** If holding the `A+X+Y` buttons doesn't work, e.g. because the connection was interrupted during the last flashing of the firmware, and the controller is stuck in a non-functional state, you must take it apart and press the `BOOTSEL` switch on the controller board itself. This is a small button located near the center of the board. Hold this button down while plugging in the controller to your computer, and it will show up as a mass-storage device. You can then drag & drop the firmware binary onto it.
## Downgrading your firmware
If you ever need to downgrade your firmware, the process is the same as updating. Simply plug in your NaxGCC to your computer while keeping the `A+X+Y` buttons held. The controller will show up as a mass-storage device, similar to when you first plugged it in. Drag & drop the old firmware binary onto the device, and you're done!
> **NOTE:** The same rules as for updating apply here. Major downgrades will cause your configuration and calibration to be reset, while minor downgrades and fix downgrades will not.