---
title: Host DFU Overview
description: Learn how to update your host MCU firmware over cellular or WiFi using Blues Notehub.
source_url: https://dev.blues.io/notehub/host-firmware-updates/host-dfu-overview/
canonical_url: https://dev.blues.io/notehub/host-firmware-updates/host-dfu-overview/
markdown_url: https://dev.blues.io/notehub/host-firmware-updates/host-dfu-overview.md
---

# Host DFU Overview

Notehub allows you to manage host MCU firmware versions for entire projects, fleets, or individual devices. You can use Notehub to upload and deploy custom firmware securely over cellular or WiFi connections.

Firmware updates are entirely customer-initiated and customer-controlled. Blues does not push or deploy firmware to your devices on your behalf: a firmware update only occurs after you upload a binary to Notehub and explicitly initiate it (for example, by setting the `_fw` or `_fwc` environment variables, or by scheduling a DFU window with `_dfu_period`).

> **Note:**
>
> This guide covers using Notehub to manage **host** firmware. If you’re trying to update the firmware on your **Notecard**, see our guide on [Updating Notecard Firmware](https://dev.blues.io/notecard/notecard-walkthrough/updating-notecard-firmware.md).

> **Warning:**
>
> Notecard for LoRa does not support management of firmware updates via Notehub.

## Methods for Updating Host Firmware

Notehub supports **two discrete methods for updating host MCU firmware**:

1. [Using Notecard Outboard Firmware Update](https://dev.blues.io/notehub/host-firmware-updates/notecard-outboard-firmware-update.md) (recommended by Blues and supported by most modern microcontrollers).
2. [Using IAP Firmware Update](https://dev.blues.io/notehub/host-firmware-updates/iap-firmware-update.md) (for a more traditional OTA DFU implementation).

Regardless of the method used to update host firmware, you may **deploy and monitor DFU actions by**:

1. [Using the Notehub API](https://dev.blues.io/notehub/host-firmware-updates/notehub-api-requests-for-dfu.md) or [environment variables](https://dev.blues.io/notehub/host-firmware-updates/environment-variables-for-dfu.md) (to remotely deploy and monitor firmware updates).
2. [Using the Notecard API](https://dev.blues.io/notehub/host-firmware-updates/notecard-api-requests-for-dfu.md) (to locally initiate and monitor firmware updates on individual devices).

[Notecard Outboard Firmware Update](https://dev.blues.io/notehub/host-firmware-updates/notecard-outboard-firmware-update.md "Notecard Outboard Firmware Update")
