Skip to main content

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

TermDefinition
ReleaseA firmware package containing the binary file to be deployed to devices, along with metadata and configuration.
DeploymentA job that distributes a release to a specific set of devices.
Deployment TemplateA predefined sequence of steps that devices follow during firmware updates.
Provider ClientAn 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:

StatusMeaning
Not StartedDeployment is created but not yet initiated
RunningDeployment is actively updating devices
SucceededAll targeted devices successfully updated
FailedOne or more devices failed to update
CancelledDeployment 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

  1. Navigate to Administration > Firmware
  2. Click Releases to open the releases list
  3. Click Add to start the release wizard
  4. Enter a Display Name for the release
  5. Optionally add a Description
  6. Click Next
  7. Select Starting Models - the asset models compatible with this firmware
  8. Click Next
  9. Configure Property Values if needed (key-value pairs for the firmware)
  10. Click Next
  11. Upload the Firmware File
  12. Click Next
  13. Select the Organization that will own this release
  14. Review the configuration and click Save

Creating a Firmware Deployment

  1. Navigate to Administration > Firmware
  2. Click New Deployment
  3. Enter a Display Name for the deployment
  4. Optionally add a Description
  5. Select the Release to deploy
  6. Select the Deployment Template that defines the update process
  7. Click Next
  8. Filter assets by Organization and/or Model
  9. Select the Assets to include in the deployment
  10. Click Next
  11. Review and select the Provider Clients (devices) to target
  12. Click Next
  13. Select the Publishing Organization for the deployment
  14. Review all settings and click Create Deployment

Starting a Deployment

  1. Navigate to the deployment details page
  2. Verify the deployment is in "Not Started" status
  3. Click Start to begin the deployment
  4. Monitor progress as devices receive and install the firmware