> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hyperwisor.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ESP-IDF — OTA Updates

> Enable and use over-the-air firmware updates.

OTA lets the dashboard push new firmware to a device. It's off by default —
enable it in Kconfig and use an OTA-capable partition table.

## 1. Enable in `sdkconfig.defaults`

```ini theme={null}
CONFIG_HYPERWISOR_ENABLE_OTA=y
CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_16mb_ota.csv"
```

## 2. Add a partition table

Copy the matching CSV from the component's `partitions/` folder into your project
root. Variants are bundled for common flash sizes:

| Flash size | File                      |
| ---------- | ------------------------- |
| 4 MB       | `partitions_4mb_ota.csv`  |
| 8 MB       | `partitions_8mb_ota.csv`  |
| 16 MB      | `partitions_16mb_ota.csv` |

## 3. Build and flash

After building and flashing once, the dashboard's **Push Update** button can
deliver new firmware over the air via the `OTA_UPDATE` cloud command.

## Security

<Warning>
  Without **Secure Boot V2**, OTA is **unauthenticated** — anyone who can reach the
  device's realtime session can push arbitrary firmware. Enable **Secure Boot V2 +
  Flash Encryption** for production deployments.
</Warning>

<Card title="Back to configuration" icon="sliders" href="/firmware/esp-idf/configuration">
  Kconfig toggles and connection settings.
</Card>
