> For the complete documentation index, see [llms.txt](https://docs.conexiotech.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.conexiotech.com/master/building-and-programming-an-application/fetch-conexio-firmware-sdk-and-board-definition-files.md).

# Fetch Conexio Firmware SDK and Board Definition Files

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

All the sample applications for the Stratus board can be found in the [<mark style="color:red;">conexio-firmware-sdk</mark>](https://github.com/Conexiotechnologies/conexio-firmware-sdk) repository on GitHub. With the introduction of the Hardware Model v2 HWMv2 from NCS v2.7.x, a redesign of the way the Stratus board definition files and sample applications are fetched has been made. The [<mark style="color:red;">conexio-firmware-sdk</mark>](https://github.com/Conexiotechnologies/conexio-firmware-sdk) repository now contains both the example applications as well as the HWMv2 board definition files for all the Stratus devices.

It is a 3 step process:

1. Download or clone the Conexio SDK repository.
2. Place it at `ncs/v3.2.1/conexio-firmware-sdk/`
3. Apply the MCUBoot patch (see Applying the MCUBoot Patch below)

## 1: Fetching **Sample Applications for nRF Connect SDK**

1. Check out or clone the [main Git repo branch](https://github.com/Conexiotechnologies/conexio-firmware-sdk) for the sample applications supported by the nRF SDK v3.2.1.
2. Download the files, extract them, and place the extracted folder into:

`/nordic/ncs/v3.2.1`

Your nRF Connect SDK v3.2.1 folder structure should now look like this:

```
v3.2.1/
├─ bootloader/
├─ conexio-firmware-sdk/ <---------- downloaded SDK files directory
├─ mbedtls/
├─ modules/
├─ nrf/
├─ nrfxlib/
├─ test/
├─ toolchain/
├─ tools/
├─ zephyr/
```

## 2. Conexio Stratus Board Definition Files

Inside the `/conexio-firmware-sdk`you will find the custom board root directory for Conexio devices. These are the new Hardware Model v2 (HWMv2) for Conexio Stratus Pro nRF9161, nRF9151, and Stratus nRF9160, a redesign of the way Zephyr models boards and SOCs.

```
v3.2.1/
├─ conexio-firmware-sdk/
    ├─ boards/
        ├─ conexio/
            ├─ stratus_pro <---- Stratus Pro nRF9151 & nRF9161 MultiSoC board files
```

#### 2.1: Applying the MCUBoot Patch

{% hint style="danger" %}
Stratus Pro nRF9151 and nRF9161 use MCUBOOT as the main bootloader to properly execute and bootup applications. So make sure not to miss or ignore this step.
{% endhint %}

Conexio Stratus Pro requires two MCUBoot board configuration files to be present in the NCS tree at:

```
ncs/<version>/bootloader/mcuboot/boot/zephyr/boards/
  conexio_stratus_pro_nrf9151.conf
  conexio_stratus_pro_nrf9161.conf
```

These files are stored inside this SDK at `bootloader/mcuboot/` and need to be copied into the NCS tree once per installation. There are two ways to do this:

#### Method 1: Using the Patching Script (quickest/recommended)&#x20;

Execute the following to run the script:

```
bash conexio-firmware-sdk/scripts/patch_mcuboot.sh
```

or if you are in the `/opt/nordic/ncs/v3.2.1/conexio-firmware-sdk/scripts`

```
./patch_mcuboot.sh
```

Once the script executes successfully, you should see the following:

```
Conexio Stratus Pro MCUBoot patch
==================================
NCS root : /opt/nordic/ncs/v3.2.1
Source   : /opt/nordic/ncs/v3.2.1/conexio-firmware-sdk/bootloader/mcuboot
Dest     : /opt/nordic/ncs/v3.2.1/bootloader/mcuboot/boot/zephyr/boards

  [copy]   conexio_stratus_pro_nrf9151.conf
  [copy]   conexio_stratus_pro_nrf9161.conf
  [delete] conexio_stratus_pro.conf  (outdated — replaced by nrf9151/nrf9161 variants)

Conexio Stratus Pro MCUBoot patch applied: 2 file(s) copied to:
  /opt/nordic/ncs/v3.2.1/bootloader/mcuboot/boot/zephyr/boards
```

{% hint style="info" %}
**Run the patch once per NCS installation.** You do not need to re-run it on every build — only after a fresh NCS install or when the SDK is updated.
{% endhint %}

#### Method 2: Manually

Download the following two MCUBoot configuration files and place them in the following directory of the nRF Connect SDK (NCS):

> `ncs/v3.2.1/bootloader/mcuboot/boot/zephyr/boards`&#x20;

1. `conexio_stratus_pro_nrf9151.conf`&#x20;
2. `conexio_stratus_pro_nrf9161.conf`&#x20;

{% file src="/files/9pdr5e3u3xFNDMlvHKyw" %}
Stratus Pro nRF9151  MCUBoot configuration file
{% endfile %}

{% file src="/files/dm5LMEY4qHaHxnpVTf9D" %}
Stratus Pro nRF9161  MCUBoot configuration file
{% endfile %}

Next, delete the from outdated `conexio_stratus_pro.conf` from the `ncs/v3.2.1/bootloader/mcuboot/boot/zephyr/boards`&#x20;

**Both options produce identical results. Use whichever fits your workflow.**

### After Complete Setup <a href="#after-setup" id="after-setup"></a>

Your NCS folder structure should look like this:

```
ncs/v3.2.1/
├── bootloader/
│   └── mcuboot/boot/zephyr/boards/
│       ├── conexio_stratus_pro_nrf9151.conf  ← placed here by the patch
│       └── conexio_stratus_pro_nrf9161.conf  ← placed here by the patch
├── conexio-firmware-sdk/                     ← this repository
│   ├── boards/conexio/stratus_pro/
│   ├── samples/conexio_stratus/
│   ├── scripts/
│   │   └── patch_mcuboot.sh                  ← shell fallback
│   └── bootloader/mcuboot/                   ← source conf files
├── nrf/
├── zephyr/
└── ...
```

You have now met all the requirements for compiling applications for the Conexio Stratus Pro boards.
