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

# Firmware Updates

> Bota-managed firmware updates for WiFi and 4G devices

Bota distributes firmware updates through Bota-managed over-the-air (OTA) releases. Firmware images are built and released by Bota, including customer-specific builds.

Customers cannot upload arbitrary firmware images or bring their own firmware through the public product flow. If your deployment requires a custom firmware build, contact Bota support and Bota will manage the release.

***

## OTA Updates

For devices with WiFi or 4G connectivity, Bota can assign a firmware release to the device. The device receives the update manifest on its next heartbeat, downloads the firmware directly, validates it, applies the update, and reports the new firmware version on a later heartbeat.

```mermaid theme={null}
sequenceDiagram
    participant B as Bota
    participant C as Bota Cloud
    participant D as Device (WiFi/4G)

    B->>C: Publish firmware release
    B->>C: Assign release to device or fleet
    D->>C: Heartbeat
    C-->>D: OTA manifest (URL + version + digest)
    D->>C: Download firmware
    D->>D: Validate + apply update, reboot
    D->>C: Next heartbeat reports new version
```

### Assignment Status

| Status      | Description                                       |
| ----------- | ------------------------------------------------- |
| `pending`   | Assigned, waiting for the device to check in      |
| `delivered` | OTA manifest sent to device in heartbeat response |
| `applied`   | Device reported the new firmware version          |
| `failed`    | Device reported an error during update            |

### What the Device Does

Once the device receives an OTA manifest:

1. Downloads the firmware from a Bota-provided URL
2. Validates the downloaded image
3. Writes the update to flash storage
4. Reboots and applies the update
5. Reports the new firmware version on the next heartbeat

The device continues operating normally during download. A reboot is required to apply the firmware, so the device will briefly go offline.

### Monitoring

The device reports its firmware version in every heartbeat. When it matches the assigned release version, the assignment is automatically marked as `applied`.

```json theme={null}
{
  "firmware_version": "v1.0.1-001"
}
```

You can check assignment status in the portal under Devices -> device -> OTA tab.

***

## Firmware Control

Bota firmware is closed source and released by Bota. Customer-uploaded firmware is not supported in production.

This protects fleet integrity and avoids unsupported third-party firmware running on Bota-managed devices. A third-party firmware image cannot be used to bypass Bota's backend authorization, tenant isolation, or API access controls. If a device is lost, stolen, or suspected to be compromised, revoke or reset the device from the portal and contact Bota support.

## Key Constraints

* **Bota-managed releases only** — firmware builds and releases are managed by Bota.
* **No customer firmware upload** — public product flows do not support arbitrary firmware upload.
* **WiFi/4G OTA only** — Bluetooth OTA is not supported.
* **One active assignment** — a device can only have one pending OTA assignment at a time.
* **No active recording** — firmware updates are rejected while recording is active.
* **Heartbeat delay** — OTA is delivered on the next heartbeat. Allow up to 2 minutes from assignment to delivery.

## Related

* [Device Management](/guides/device-management) — Register devices and configure settings
* [Connectivity](/guides/connectivity) — WiFi and cellular network configuration
* [Cellular Mode](/guides/cellular-mode) — Operate devices autonomously over 4G
