> For the complete documentation index, see [llms.txt](https://docs.kpnthings.com/kpn-things/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kpnthings.com/kpn-things/kpn-firmware-over-the-air/firmwares/toevoegen-firmware.md).

# Uploading Firmware

## Firmware overview

While in the **Things Creator** when you select **Firmwares** from the navigation menu, the following screen will appear.

If firmware versions are already available for device types that the logged-in user is authorized to manage, they will be displayed in a list on this screen. You can sort the list using the arrow icons next to the column headers in the table.

<figure><img src="/files/CyG1p17i0t7AFxp9V4AN" alt=""><figcaption></figcaption></figure>

**Note:** If you are authorized to add firmware versions for multiple device types, all previously uploaded firmware versions for those types will be shown in this list. &#x20;

## Adding firmware

When you click the **Add new firmware version** button on the overview screen, the following screen will appear. Here, you can upload the new firmware. If your device consists of multiple modules (e.g., modem, software), you can upload new firmware for each module separately.  &#x20;

<figure><img src="/files/7Yiz5lyDy9BvfOmCYRHt" alt=""><figcaption></figcaption></figure>

Under **Permission**, select the target audience for the firmware. Usually, there's only one permission available and the selected value is not editable. The permissions are configured in the system by a KPN employee and cannot be added manually. \
\
Then select the **Device Type** for which the firmware will be uploaded. The list of device types that are enabled for the Firmware Service is configured by a KPN employee as well. If your device-type is not in the list, please contact your KPN representative.\
\
Select a **Module** of the selected Device Type for which the firmware will be uploaded. \
\
Enter the **Version** of the firmware that will be uploaded. The entered version string may not have been used for an upload before, since each version has a unique identifier and corresponds to one file.&#x20;

A optional **Description** can be added to the uploaded firmware for documentation purposes.

Then select the **Firmware File** from your file system. Be sure that the firmware file you upload does not contain any viruses and can be processed by your devices.

Optionally, add a **Release Notes** file to your Firmware Upload.\
\
Once the form is fully completed, click the **Add Firmware** button at the bottom left of the screen.

You will then return to the overview screen and your uploaded version can be found in the list.

**Important**: You are responsible for making the correct selections to ensure that the device is compatible with the firmware file being uploaded.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kpnthings.com/kpn-things/kpn-firmware-over-the-air/firmwares/toevoegen-firmware.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
