diff --git a/README.md b/README.md index 597143b..3c30e2b 100644 --- a/README.md +++ b/README.md @@ -4,5 +4,8 @@ I will use this repository for my Flipper Zero projects. The various README.md Feel free to reach out to me at CodeAllNight@outlook.com with any questions or leave them in the [issues section](https://github.com/jamisonderek/flipper-zero-tutorials/issues) for this project. +## firmware-updating +[tutorial](./firmware/updating/README.md) - The Flipper Zero makes updating the firmware simple and fairly safe. It is easy to build your own firmware as well using the fbt command. + ## subghz-protocol-x10-decoder [project](./subghz/protocols/x10/README.md) - This is a protocol decoder for the Flipper Zero to decode the x10 series of devices when doing a read from the Sub-GHz menu. diff --git a/firmware/updating/README.md b/firmware/updating/README.md new file mode 100644 index 0000000..32cd8bd --- /dev/null +++ b/firmware/updating/README.md @@ -0,0 +1,156 @@ +# firmware +The Flipper Zero makes updating the firmware simple and fairly safe. It is easy to build your own firmware as well using the fbt command. + +The flipper blog has a great [entry](https://blog.flipperzero.one/new-firmware-update-system/) all about the underlying firmware system, which explains why it is unlikely that you will brick your device. + + +## Updating firmware via an application +[https://flipperzero.one/update](https://flipperzero.one/update) has links to qFlipper (the PC application) and also to Flipper Mobile App. These applications can be used to easily update the firmware on your flipper. + +- Install an SD card. +- If needed, format the SD card + - If your flipper is not at the Flipper Desktop press the BACK button until you are at the Desktop. + - Press the OK button on the flipper to pull up the main menu. + - Choose "Settings" from the menu. + - Choose "Storage" fromthe sub-menu. + - Choose "Format SD card". +- Download & run the application +- Connect to Flipper via bluetooth (or for the PC connect the USB cable) +- On the PC click on the wrench icon & choose "Release" as the dropdown +- Click the "Install" button. +- Click the "Update" button. +- Wait about 3 minutes. +- Your Flipper should say "Firmware update - Success. OK>" +- Click right arrow button on flipper. +- Unplug Flipper from USB port. + +Your Flipper is now running the latest Release firmware. + + +## Building a custom firmware on Windows +You can build a custom firmware for the flipper, which allows you to add additional features to your flipper. Many people have [special firmwares](https://github.com/UberGuidoZ/Flipper/tree/main/Firmware_Options) available on github, which enable additional functionality. Most of these firmwares started with the [official firmware](https://github.com/flipperdevices/flipperzero-firmware) +and create their own [fork](https://github.com/flipperdevices/flipperzero-firmware/network/members) with customizations. + +For instructional purposes, we will just use the code from the [official firmware](https://github.com/flipperdevices/flipperzero-firmware). + + +- Step 1. You need to have GIT tools installed. + NOTE: If you already have GIT installed, you can skip this step. + - Open https://git-scm.com/download/win + - Download the setup program... https://github.com/git-for-windows/git/releases/download/v2.39.0.windows.2/Git-2.39.0.2-64-bit.exe + - Install Git-2.39.0.2-64-bit.exe (you can just accept all the defaults) + +- Step 2. You need an command prompt running as administrator. + - In windows search bar type "cmd" (it should find "Command Prompt". click on run as administrator (right click if needed)) + +- Step 3. Clone the repo. + NOTE: If you have already cloned the repo, you can skip this step. + - In the command prompt type the following commands to recursively clone the official firmware repo: + ``` + md \repo + cd \repo + git clone --recursive https://github.com/flipperdevices/flipperzero-firmware.git + ``` + +- Step 4. Install the tools. + NOTE: You should only have to do this step once per repo. + - In the command prompt type the following commands to install the firmware toolkit: + ``` + cd \repo\flipperzero-firmware + fbt.cmd + ``` + +- Step 5. Update your code to the latest version. + NOTE: If you don't want to update your files with what is latest on github, you can skip this step. + - In the command prompt type the following commands to update your local files: + ``` + cd \repo\flipperzero-firmware + git pull + ``` + +- Step 6. Build the updater package firmware. + - In the command prompt type the following commands to build your firmware: + ``` + cd \repo\flipperzero-firmware + fbt.cmd updater_package + ``` + +- Hopefully the list line of output should be simiar to the following: + ``` + 2023-01-10 15:09:56,355 [INFO] Use this directory to self-update your Flipper: + dist\f7-D\f7-update-local + ``` + +- Your new firmware files should be at the c:\repo\flipperzero-firmware\dist\f7-D folder. + + +## Using qFlipper to update with custom firmware +Once you have built your firmware, you should have a file named flipper-z-f7-update-local.tgz + +### Method 1: +- Step 1. Launch the qFlipper application. +- Step 2. Connect your flipper via USB cable. +- Step 3. Click "Install from file". +- Step 4. Choose c:\repo\flipperzero-firmware\dist\f7-D\flipper-z-f7-update-local.tgz and click Open. +- Step 5. Click "Install". +- Wait about 3 minutes for the installer. +- Step 6. Your flipper should show "Firmware updated. Success. OK>" +- Step 7. Click "OK" + +### Method 2: +This method seems to always work for me. +- Step 1. Launch the qFlipper application. +- Step 2. Connect your flipper via USB cable. +- Step 3. Click on the folder icon in qFlipper. +- Step 4. Open the "SD Card" folder. +- Step 5. Select the "Manifest" file and right click "Delete" then click Delete. +- Step 6. Select the "Update" folder (if it exists) and right click "Delete" then click Delete. +- Step 7. Right click in a blank area and choose "New Folder" and name it "update". +- Step 8. Double click on the "update" folder. +- Step 9. In Windows File Explore open the c:\repo\flipperzero-firmware\dist\f7-D\f7-update-local folder. +- Step 10. Drag the firmware.dfu file from Windows File Explorer into the qFlipper file window. +- Step 11. Drag the remaining files from the c:\repo\flipperzero-firmware\dist\f7-D\f7-update-local folder into the qFlipper file window. +- Step 12. Disconnect the USB cable. +- Step 13. If your flipper is not at the Flipper Desktop press the BACK button until you are at the Desktop. +- Step 14. Press the down arrow on the flipper. +- Step 15. Press the right arrow on the flipper until it shows "Browser". +- Step 16. Select the update folder. +- Step 17. Select the update app. +- Step 18. Choose "Run in app" +- Step 19. Click the right arrow to do the "Install>" +- Wait about 3 minutes for the installer. +- Step 20. Your flipper should show "Firmware updated. Success. OK>" +- Step 21. Click "OK" + + +## Using SD card to update with custom firmware +These are directions if you prefer to do the update via SD card instead of USB cable. (I typically do USB cable.) + +- Step 1. If your flipper is not at the Flipper Desktop press the BACK button until you are at the Desktop. +- Step 2. Press the OK button on the flipper. +- Step 3. Choose "Settings" +- Step 4. Choose "Storage" +- Step 5. Choose "Unmount SD card" +- Step 6. Click the right arrow to do the "Unmount>" +- Step 7. Click the OK button on the flipper. +- Step 8. Click the back button. (You should be back in the "Settings" menu) +- Step 9. Choose "Power" +- Step 10. Choose "Power OFF" +- Step 11. Click the right arrow to do the "OFF>" +- Step 12. Eject the SD card. +- Step 13. Insert the SD card into your PC. +- Step 14. Delete all of the files from the SD card (or at least the manifest file and update folder if it exists) +- Step 15. Create a folder called "update" in the root of the SD card. +- Step 16. Copy all of the files from c:\repo\flipperzero-firmware\dist\f7-D\f7-update-local folder into the "update" folder. +- Step 17. Safely eject the SD card. +- Step 18. Insert the SD card into the flipper. +- Step 19. Hold the back button on the flipper until it powers on. +- Step 20. Press the down arrow on the flipper. +- Step 21. Press the right arrow on the flipper until it shows "Browser". +- Step 22. Select the update folder. +- Step 23. Select the update app. +- Step 24. Choose "Run in app" +- Step 25. Click the right arrow to do the "Install>" +- Wait about 3 minutes for the installer. +- Step 26. Your flipper should show "Firmware updated. Success. OK>" +- Step 27. Click "OK"