---
title: Firmware update
slug: one/mcu-firmware/firmware-update
docTags: 
createdAt: 2026-06-10T18:09:42.876Z
---

This page explains how to flash the MCU firmware file (`.UF2`) to the Flipper One MCU via USB. The process differs depending on the Flipper One hardware revision.

***

# Identify the hardware revision

You can identify Flipper One hardware revision by checking the following:

| **Difference**          | **Rev. F0B0C1** | **Rev. 2.F0B1C2** |
| ----------------------- | --------------- | ----------------- |
| Label on the Main PCB   | ONE-Main-F0B0C1 | ONE-Main-2.F0B1C2 |
| Screws on the back      | 5 Hex screws    | 6 Philips screws  |
| LAN port LEDs visible   | No              | Yes               |
| LED in the Power button | No              | Yes               |

If you are still unsure which hardware revision you have, try both guides one after the other.

***

# Flash the MCU firmware

To flash firmware to the Flipper One MCU:

::::::::::Tabs
:::::::::Tab{title="On rev. F0B0C1"}
::::::::WorkflowBlock
:::WorkflowBlockItem
Get the `flipper-one-mcu-f1-firmware-*.uf2` file, where `f1` corresponds to the F0B0C1 revision. There are two options:

- Download the file from the [Update Server](https://update.flipperzero.one/builds/flipper-one-mcu/dev/).
- [Build the file from source](docId\:rPL7t5P9mlahA2PNMzj63) if you have modified the firmware source code.
:::

:::WorkflowBlockItem
Connect Flipper One to your PC via the **USB-C 1** port.

![](https://api.archbee.com/api/optimize/3StCFqarJkJQZV-7N79yY/CFGs188UQTbALaSmGyZOy_mcu-firmware-usbc1-connection.png)
:::

:::::::WorkflowBlockItem
Switch the MCU to **BOOTSEL (DFU)** mode. There are two ways to do this:

- **Via the App Switcher menu.** This method works if MCU mode is working on your device.
- **Using a button combination.** This method works even if the MCU has never been flashed before and MCU mode is not working.

To switch the MCU to BOOTSEL (DFU) mode:

::::::Tabs
:::::Tab{title="Via the App Switcher menu"}
::::WorkflowBlock
:::WorkflowBlockItem
Switch the device to MCU mode. Turn it on if it's off, and stop Flipper OS if it's running.
:::

:::WorkflowBlockItem
Press the :inlineImage[]{src="https://api.archbee.com/api/optimize/3StCFqarJkJQZV-7N79yY/i7WNvL3ZVyjiTJ8eb9hpW_app-switcher-button.png" alt caption} **App switcher** button from the MCU mode main screen.
:::

:::WorkflowBlockItem
Press the **DFU** soft button.
:::
::::
:::::

:::::Tab{title="Using a button combination"}
::::WorkflowBlock
:::WorkflowBlockItem
Press and hold the **PTT** button.

![BOOTSEL step 1: hold PTT button](https://api.archbee.com/api/optimize/3StCFqarJkJQZV-7N79yY/Kfp0HIEus2HmUHLGW5_RC_mcu-bootsel-rev-f0-b0-c1-step-1.png)
:::

:::WorkflowBlockItem
Keep holding **PTT** button. Press and hold **Left** and **Back** buttons for **3 seconds**, then release.

![BOOTSEL step 2: hold Left and Back buttons](https://api.archbee.com/api/optimize/3StCFqarJkJQZV-7N79yY/r_vz8ECUzaNgTcTUzKKQR_mcu-bootsel-rev-f0-b0-c1-step-2.png)
:::

:::WorkflowBlockItem
Release the **PTT** button.

![BOOTSEL step 3: release PTT button](https://api.archbee.com/api/optimize/3StCFqarJkJQZV-7N79yY/a9cmN4OdIEeZvLXVHBPZT_mcu-bootsel-f0b0c1-step-3.png)
:::
::::
:::::
::::::

After switching the MCU to BOOTSEL mode, Flipper One's screen backlight will turn OFF and the device will appear on your PC as a Mass Storage Device named `RP2350`. If Flipper One doesn't appear, try a different USB cable and repeat the BOOTSEL procedure.
:::::::

::::WorkflowBlockItem
Upload the `.UF2` firmware file to the Mass Storage Device.

:::Iframe{code="<video&#xA;    autoplay muted loop playsinline style=&#x22;width: 100%; margin: 0 !important;&#x22;&#xA;    src=&#x22;https://cdn.flipperzero.one/Upload_uf2_file.mp4&#x22;&#xA;></video>" iframeHeight="350"}

:::

:::hint{type="success"}
**MCU firmware successfully updated!**
Once the `.UF2` file upload is complete, Flipper One will automatically reboot, and the Mass Storage Device will disconnect from your PC.
:::
::::
::::::::
:::::::::

:::::::::Tab{title="On rev. 2.F0B1C2"}
::::::::WorkflowBlock
:::WorkflowBlockItem
Get the `flipper-one-mcu-f2-firmware-*.uf2` file, where `f2` corresponds to the 2.F0B1C2 revision. There are two options:

- Download the file from the [Update Server](https://update.flipperzero.one/builds/flipper-one-mcu/dev/).
- [Build the file from source](docId\:rPL7t5P9mlahA2PNMzj63) if you have modified the firmware source code.
:::

:::WorkflowBlockItem
Connect Flipper One to your PC via the **USB-C 1** port.

![](https://api.archbee.com/api/optimize/3StCFqarJkJQZV-7N79yY/CFGs188UQTbALaSmGyZOy_mcu-firmware-usbc1-connection.png)
:::

:::::::WorkflowBlockItem
Switch the MCU to **BOOTSEL (DFU)** mode. There are two ways to do this:

- **Via the App Switcher menu.** This method works if MCU mode is working on your device.
- **Using a button combination.** This method works even if the MCU has never been flashed before and MCU mode is not working.

To switch the MCU to BOOTSEL (DFU) mode:

::::::Tabs
:::::Tab{title="Via the App Switcher menu"}
::::WorkflowBlock
:::WorkflowBlockItem
Switch the device to MCU mode. Turn it on if it's off, and stop Flipper OS if it's running.
:::

:::WorkflowBlockItem
Press the :inlineImage[]{src="https://api.archbee.com/api/optimize/3StCFqarJkJQZV-7N79yY/i7WNvL3ZVyjiTJ8eb9hpW_app-switcher-button.png" alt caption} **App switcher** button from the MCU mode main screen.
:::

:::WorkflowBlockItem
Press the **DFU** soft button.
:::
::::
:::::

:::::Tab{title="Using a button combination"}
::::WorkflowBlock
:::WorkflowBlockItem
Press and hold the :inlineImage[]{src="https://api.archbee.com/api/optimize/3StCFqarJkJQZV-7N79yY/HRIrqquSMpbXMOzU0uYrp_esc-button.png" alt caption} and :inlineImage[]{src="https://api.archbee.com/api/optimize/3StCFqarJkJQZV-7N79yY/i2vQba-RZRz-lfq_ScALs_run-button.png" alt caption} buttons.

![BOOTSEL step 1: hold the Esc and Run buttons](https://api.archbee.com/api/optimize/3StCFqarJkJQZV-7N79yY/E93wrO-1YcOxVVYxesRoT_mcu-bootsel-2f0b1c2-step-1.png)
:::

:::WorkflowBlockItem
Keep holding the :inlineImage[]{src="https://api.archbee.com/api/optimize/3StCFqarJkJQZV-7N79yY/HRIrqquSMpbXMOzU0uYrp_esc-button.png" alt caption} **Esc** and :inlineImage[]{src="https://api.archbee.com/api/optimize/3StCFqarJkJQZV-7N79yY/i2vQba-RZRz-lfq_ScALs_run-button.png" alt caption} **Run** buttons. Press and hold **Left** and **Back** buttons for **3 seconds**, then release.

![BOOTSEL step 2: hold Left and Back buttons](https://api.archbee.com/api/optimize/3StCFqarJkJQZV-7N79yY/NACHJw_CihasHYzQbXZvz_mcu-bootsel-2f0b1c2-step-2.png)
:::

:::WorkflowBlockItem
Release the :inlineImage[]{src="https://api.archbee.com/api/optimize/3StCFqarJkJQZV-7N79yY/HRIrqquSMpbXMOzU0uYrp_esc-button.png" alt caption} **Esc** and :inlineImage[]{src="https://api.archbee.com/api/optimize/3StCFqarJkJQZV-7N79yY/i2vQba-RZRz-lfq_ScALs_run-button.png" alt caption} **Run** buttons.

![BOOTSEL step 3: release hold the Esc and Run buttons](https://api.archbee.com/api/optimize/3StCFqarJkJQZV-7N79yY/yJXlJ6sCMuQqN2Nfm0g7T_mcu-bootsel-2f0b1c2-step-3.png)
:::
::::
:::::
::::::

After switching the MCU to BOOTSEL mode, Flipper One's backlight will turn OFF, the Power button LED will turn purple, and the device will appear on your PC as a Mass Storage Device named `FlipperOneMCU`. If Flipper One doesn't appear, try a different USB cable and repeat the BOOTSEL procedure.
:::::::

::::WorkflowBlockItem
Upload the `.UF2` firmware file to the Mass Storage Device.

:::Iframe{code="<video&#xA;    autoplay muted loop playsinline style=&#x22;width: 100%; margin: 0 !important;&#x22;&#xA;    src=&#x22;https://cdn.flipperzero.one/Upload_uf2_file.mp4&#x22;&#xA;></video>" iframeHeight="350"}

:::

:::hint{type="success"}
**MCU firmware successfully updated!**
Once the `.UF2` file upload is complete, Flipper One will automatically reboot, and the Mass Storage Device will disconnect from your PC.
:::
::::
::::::::
:::::::::
::::::::::
