Firmware
Firmware management in Beacon Tower enables over-the-air (OTA) updates to IoT devices. The system provides a structured workflow for uploading firmware releases, targeting specific devices, and monitoring deployment progress across your device fleet.
Definitions
| Term | Definition |
|---|---|
| Release | A firmware package containing the binary file to be deployed to devices, along with metadata and configuration. |
| Deployment | A job that distributes a release to a specific set of devices. |
| Deployment Template | A predefined sequence of steps that devices follow during firmware updates. |
| Provider Client | An IoT Hub device connection associated with an asset that can receive firmware updates. |
Concept
Releases
A release is a firmware package that contains the binary file to be deployed to devices. Each release includes:
- Display Name: A human-readable identifier for the release
- Description: Details about changes, features, or fixes in this version
- Firmware File: The binary file uploaded to the platform
- Starting Models: The asset models compatible with this firmware
- Property Values: Configuration values passed to devices during updates
Releases are created once and can be used in multiple deployments.
Deployments
A deployment is a job that distributes a release to a specific set of devices. Each deployment includes:
- Release: The firmware package to deploy
- Deployment Template: The step-by-step process devices follow during updates
- Target Devices: The specific provider clients (IoT Hub devices) to update
Deployment Templates
Deployment templates define the sequence of steps devices execute during a firmware update. Templates are configured at the system level and determine:
- The stages of the update process (download, install, verify, reboot)
- Timeout and retry settings
- Success criteria for each step
Deployment Status
Deployments and individual devices progress through several states:
| Status | Meaning |
|---|---|
| Not Started | Deployment is created but not yet initiated |
| Running | Deployment is actively updating devices |
| Succeeded | All targeted devices successfully updated |
| Failed | One or more devices failed to update |
| Cancelled | Deployment was manually stopped |
Best Practices
- Test releases thoroughly: Always test firmware on a small set of devices before broad deployment
- Start with small deployments: Test deployments with a few devices before targeting your full fleet
- Document property values: Keep records of what configuration values each release uses
- Plan rollback strategy: Know how to revert to previous firmware if problems occur
- Schedule deployments carefully: Consider device availability and business impact when deploying
- Keep releases organized: Archive or delete old releases that are no longer needed
- Use organization filtering: Filter by organization to manage deployments across different customers or sites
Workflows
Creating a Firmware Release
- Navigate to Administration > Firmware
- Click Releases to open the releases list
- Click Add to start the release wizard
- Enter a Display Name for the release
- Optionally add a Description
- Click Next
- Select Starting Models - the asset models compatible with this firmware
- Click Next
- Configure Property Values if needed (key-value pairs for the firmware)
- Click Next
- Upload the Firmware File
- Click Next
- Select the Organization that will own this release
- Review the configuration and click Save
Creating a Firmware Deployment
- Navigate to Administration > Firmware
- Click New Deployment
- Enter a Display Name for the deployment
- Optionally add a Description
- Select the Release to deploy
- Select the Deployment Template that defines the update process
- Click Next
- Filter assets by Organization and/or Model
- Select the Assets to include in the deployment
- Click Next
- Review and select the Provider Clients (devices) to target
- Click Next
- Select the Publishing Organization for the deployment
- Review all settings and click Create Deployment
Starting a Deployment
- Navigate to the deployment details page
- Verify the deployment is in "Not Started" status
- Click Start to begin the deployment
- Monitor progress as devices receive and install the firmware