# Flashing new firmware

{% hint style="info" %}
If you are having some issues with firmware versions on modules provided by us, feel free to contact us.
{% endhint %}

{% hint style="warning" %}
**Updating firmware on Doodle modules to versions, that are not provided by our company is on your own risk and we are not responsible for any connectivity issues with newer firmware!**
{% endhint %}

## Uploading and flashing new firmware <a href="#uploading-and-flashing-new-fw" id="uploading-and-flashing-new-fw"></a>

Firmware (FW) is the same for all radio types (mini, nano, oem, wearable etc.)

From the host computer, you can use `scp` command to actually **copy the FW to doodle module**:

```
scp <path_to_fw_file> root@DOODLE_RADIO_IP:/tmp/
```

{% hint style="info" %}
**Note:** For the wearable module, you can connect using USB-C Ethernet connector or you can use its WiFi hotspot to connect to it from your PC. For the drone module, you ssh into the Dronecore (Jetson) inside the Stribog UAS and from there to the Doodle module.
{% endhint %}

To log into Doodle radio (wearable or module in UAV), use command:

```
ssh root@<DOODLE_RADIO_IP>
```

{% hint style="info" %}
**Note:** In Stribog UAS, if the filesystem was not manipulated, there should be an environment variable `DOODLE_RADIO_IP` holding the IP of UAV’s Doodle module IP.
{% endhint %}

Sometimes there is an issue in the host computer, where you need to add extra flags to ssh login, like so:

```
ssh -oHostKeyAlgorithms=+ssh-rsa root@<DOODLE_RADIO_IP>
```

You can also check if there is an Airvolute banner when you’re logged into the Doodle module. It is displayed in terminal automatically after logging and looks like this:

```
 █████╗ ██╗██████╗ ██╗   ██╗ ██████╗ ██╗     ██╗   ██╗████████╗███████╗
██╔══██╗██║██╔══██╗██║   ██║██╔═══██╗██║     ██║   ██║╚══██╔══╝██╔════╝
███████║██║██████╔╝██║   ██║██║   ██║██║     ██║   ██║   ██║   █████╗  
██╔══██║██║██╔══██╗╚██╗ ██╔╝██║   ██║██║     ██║   ██║   ██║   ██╔══╝  
██║  ██║██║██║  ██║ ╚████╔╝ ╚██████╔╝███████╗╚██████╔╝   ██║   ███████╗
╚═╝  ╚═╝╚═╝╚═╝  ╚═╝  ╚═══╝   ╚═════╝ ╚══════╝ ╚═════╝    ╚═╝   ╚══════╝
```

Once you are ssh-ed into the radio, you can get information by:

Now flash the firmware using command below.

{% hint style="danger" %}
**Do this with caution!** This process cannot be interrupted and the module (wearable or inside the drone) MUST have power for the whole time flash is being done. **Inside the Doodle module, run:**
{% endhint %}

```
sysupgrade -v /tmp/<fw_file>
```

**Wait until the update is complete.**

{% hint style="danger" %}
**DO NOT TURN OFF THE POWER SUPPLY UNTIL THE FIRMWARE HAS BEEN UPDATED!**
{% endhint %}

Unfortunately, Doodle modules will not notify user anyhow about the flashing process. So you just need to wait. You can try to ssh into the module, when it works, module is flashed. For the wearable, you can look for its WiFi hotspot and try to connect.

{% hint style="info" %}
**The process for each module can take around 30 minutes.**
{% endhint %}


---

# Agent Instructions: 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:

```
GET https://docs.airvolute.com/uas-platforms/discovery-stribog/stribog-uas-user-manual/doodle-labs/flashing-new-firmware.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
