---
title: "Thing Firmware"
slug: "thing-firmware-widget"
updated: 2026-07-28T16:14:02Z
published: 2026-07-28T16:14:02Z
canonical: "learn.servitly.com/thing-firmware-widget"
---
> ## Documentation Index
> Fetch the complete documentation index at: https://learn.servitly.com/llms.txt
> Use this file to discover all available pages before exploring further.
# Thing Firmware
Allows Technicians to perform a firmware update on the connected Things.

By clicking on the firmware row, the user can display the content of the new firmware version and trigger the update by pressing the *Update Firmware* button.
.png)
The *Update Firmware* button is available only if the DPS user has the *Update Firmware* [permission](/docs/user-permissions). Firmware updates can be performed only on the connected products that are online at the time of update. When the *Update Firmware* button is pressed, the update command is sent to the remote product, and the widget waits until the firmware [Version Metric](/docs/firmware) is updated with the new version number. You can increase the waiting time by changing the *Feedback Timeout* widget option.
For more details about the firmware update in the DPS, you can refer to this [guide](/docs/updating-firmware).
## Template Syntax
Below you can find some examples of how to use the component within a template.
```xml
```
## Component Reference
Here is a comprehensive list of all the elements and properties that can be used to configure the component.
#### Thing Firmware `<thing-firmware-widget>`
| *Feedback Timeout* | The number of seconds after that the widget shows an error in case no feedback has been received (default 10 minutes). **Name**: timeout **Type**: INTEGER \| Optional `timeout="120"` |
| --- | --- |
| *Title* | The title displayed on the top part of the widget box. **Name**: title **Type**: STRING \| Optional `[title]="'Thing Firmware'"` |
| **Rendering** |
| *Availability* | Configure availability based on active features on Digital Plan on Add-ons **Name**: hasFeature **Type**: FEATURE (multiple) \| Optional `[hasFeature]="['feature_a', 'feature_b']"` |
| *CSS Class* | The name(s) of the CSS class used to customize the widget layout. **Name**: class **Type**: STRING \| Optional `class="my-custom-class"` |
| *Visibility Condition* | The expression that allows you to reduce the visibility of the element. **Name**: *ngIf **Type**: STRING \| Optional `*ngIf="getUser().organizationId != null"` |
## Full Syntax Example
```xml
```