> ## Documentation Index
> Fetch the complete documentation index at: https://docs.edgeimpulse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Qualcomm Dragonwing IQ-8275 Evaluation Kit

The Qualcomm Dragonwing™ IQ-8275 Evaluation Kit (EVK) is a powerful Linux-based evaluation kit based around the IQ-8275 SoC, which has an 8-core Kyro™ CPU, an Adreno™ 623 GPU, and a 40 TOPS Hexagon™ NPU. It supports both Ubuntu and Qualcomm Linux, and is designed to help developers quickly prototype and evaluate their applications on a high-performance platform.

<Frame caption="Qualcomm Dragonwing IQ-8275 EVK">
  <img src="https://mintcdn.com/edgeimpulse/TpowsRdXbkNLBoh2/.assets/images/qualcomm-iq8275-evk.png?fit=max&auto=format&n=TpowsRdXbkNLBoh2&q=85&s=d130faf352d83cccdd8964be87193e22" width="800" height="487" data-path=".assets/images/qualcomm-iq8275-evk.png" />
</Frame>

<br />

<Frame caption="Qualcomm Dragonwing IQ-8275 EVK - side views">
  <img src="https://mintcdn.com/edgeimpulse/TpowsRdXbkNLBoh2/.assets/images/qualcomm-iq8275-evk-side-views.png?fit=max&auto=format&n=TpowsRdXbkNLBoh2&q=85&s=c1b7b8c59b7fbf65b546cf0a37c5c953" width="1192" height="587" data-path=".assets/images/qualcomm-iq8275-evk-side-views.png" />
</Frame>

## Setting up the EVK

The sections below provide abbreviated setup steps to get your IQ-8275 EVK up and running with Ubuntu. For further details, please refer to the Qualcomm Dragonwing [IQ-8275 EVK Ubuntu setup](https://dragonwingdocs.qualcomm.com/Ubuntu/devices/iq8275-evk/set-up-the-device) documentation.

The IQ-8275 EVK also supports running Qualcomm Linux. If this is your preferred operating system, please refer to the Qualcomm Dragonwing [IQ-8275 EVK Qualcomm Linux setup](https://dragonwingdocs.qualcomm.com/Linux/devices/iq8275-evk/set-up-the-device) documentation for guidance.

### Powering on the EVK

The IQ-8275 EVK receives its main power through a 2.10 mm barrel jack connector, which supports an input voltage range of 12 V to 36 V. The EVK also includes a USB-C to barrel plug adapter for convenience. Connect a +12 V power adapter to supply power to the board.

### Flashing Ubuntu

<Info>
  **Updating Ubuntu image instead of flashing**

  If you have previously flashed your EVK and simply want to update the Ubuntu image, you can do so without reflashing. Follow the instructions in the IQ-8275 EVK [Upgrade Ubuntu image](https://dragonwingdocs.qualcomm.com/Ubuntu/devices/iq8275-evk/update-software/upgrade-ubuntu) documentation.
</Info>

<Info>
  **Ubuntu Desktop vs. Ubuntu Server**

  If you want to use the GPU for inference, the recommended path is flashing your EVK with the Ubuntu Server image. See the warning in the [Optional packages](/hardware/boards/qualcomm-iq8275-evk#optional-packages) section below for more details.
</Info>

To flash the IQ-8275 EVK, you will first need to connect a USB-C cable to `USB0` on the board and the other end to your host device.

Then, you will be able to flash the board using the Qualcomm Launcher tool, which provides a user-friendly GUI for flashing firmware and operating systems onto Qualcomm devices. This is the preferred method for flashing Ubuntu onto your EVK. See the IQ-8275 EVK [Flash Ubuntu using Qualcomm Launcher](https://dragonwingdocs.qualcomm.com/Ubuntu/devices/iq8275-evk/update-software/flash-using-qualcomm-launcher) documentation for step-by-step instructions.

<Frame caption="Qualcomm Launcher GUI">
  <img src="https://mintcdn.com/edgeimpulse/8YxqlrVNcHW4fO2I/.assets/images/qualcomm-launcher-choose-os-iq8275-evk.png?fit=max&auto=format&n=8YxqlrVNcHW4fO2I&q=85&s=981cf85a6e276832d5b3d72ed87471a5" width="1083" height="1000" data-path=".assets/images/qualcomm-launcher-choose-os-iq8275-evk.png" />
</Frame>

Alternatively, you can use the Qualcomm Device Loader (QDL) tool, which is a command-line utility for flashing devices. This approach is more manual, but it can be useful for advanced users or in situations where the Qualcomm Launcher tool is not available. If you would like to use this approach, see the IQ-8275 EVK [Flash Ubuntu using QDL](https://dragonwingdocs.qualcomm.com/Ubuntu/devices/iq8275-evk/update-software/flash-over-qli) documentation.

### Setting up the UART

If you skipped setting up the UART connection in the Qualcomm Launcher, or used QDL to flash the board, you will need to set up the UART connection manually. See the IQ-8275 EVK [Set up the debug UART](https://dragonwingdocs.qualcomm.com/Ubuntu/devices/iq8275-evk/set-up-the-device#set-up-the-debug-uart) instructions for guidance based on your host operating system.

### Connecting to a network

Again, if you skipped setting up a network connection in the Qualcomm Launcher, or used QDL to flash the board, you will need to set up the network connection manually.

Using a serial console on your host, connect to the IQ-8275 EVK with a 115200 baud rate and configure the Wi-Fi using `nmcli`.

<Steps>
  <Step title="Connect">
    ```bash theme={"system"}
    sudo nmcli dev wifi connect <WiFi-SSID> password <WiFi-password>
    ```
  </Step>

  <Step title="Verify the connection">
    ```bash theme={"system"}
    nmcli -p device
    ```
  </Step>

  <Step title="Confirm Internet access">
    ```bash theme={"system"}
    ping edgeimpulse.com
    ```
  </Step>
</Steps>

### Connecting over SSH

After completing the steps above, your IQ-8275 EVK can now be used as a single board computer by attaching a mouse, keyboard, and display. However, you can also optionally connect over SSH instead by following these steps.

<Steps>
  <Step title="Find the IP address of your EVK">
    Using a serial console on your host, connect to the IQ-8275 EVK with a 115200 baud rate and identify the IP address:

    ```bash theme={"system"}
    ip addr show wlp1s0
    ```
  </Step>

  <Step title="Connect from your host machine">
    From your host machine, use the `ssh` command to connect to your IQ-8275 EVK. The default username is `ubuntu`.

    ```bash theme={"system"}
    ssh <username>@<ip-address>
    ```
  </Step>

  <Step title="Enter password when prompted">
    The default password is `ubuntu`. You will be prompted to change the password on first login.

    ```bash theme={"system"}
    <password>
    ```
  </Step>
</Steps>

### Installing dependencies

Below is a minimal set of dependencies that you will need to install on your IQ-8275 EVK in order to run accelerated Edge Impulse models. Execute the commands on your EVK.

For a more comprehensive list of dependencies, see the IQ-8275 EVK [Install required software packages](https://dragonwingdocs.qualcomm.com/Ubuntu/devices/iq8275-evk/Install_required_software_packages) documentation.

#### Base packages

```bash theme={"system"}
sudo apt update
sudo apt install -y unzip wget curl nodejs npm python3 python3-pip python3-venv software-properties-common
```

#### Edge Impulse Linux CLI

```bash theme={"system"}
sudo npm install -g edge-impulse-linux
```

For more information about the Edge Impulse Linux CLI, see the [Edge Impulse Linux CLI](/tools/clis/edge-impulse-linux-cli) documentation.

#### Additional packages

```bash theme={"system"}
# Add the Qualcomm IoT PPA (if it doesn't exist yet)
if [ ! -f /etc/apt/sources.list.d/ubuntu-qcom-iot-ubuntu-qcom-ppa-noble.list ]; then
    sudo apt-add-repository -y ppa:ubuntu-qcom-iot/qcom-ppa
fi

# Install the AI Engine Direct SDK library and development headers
sudo apt install -y libqnn1 libsnpe1 libqnn-dev libsnpe-dev
```

#### Optional packages

<Warning>
  **`qcom-adreno1` package intended for Ubuntu Server**

  If you installed Ubuntu Desktop on your IQ-8275 EVK, the `qcom-adreno1` package will conflict with the existing GPU packages that run the GUI. For most applications, you can skip installing the `qcom-adreno1` package, run Edge Impulse models without GPU acceleration, and obtain adequate results due to the high-performance CPU on the IQ-8275 EVK.

  If you want to use the GPU for inference, the recommended path is flashing your EVK with the Ubuntu Server image and installing the `qcom-adreno1` package as below.
</Warning>

```bash theme={"system"}
# Install OpenCL GPU drivers
sudo apt install -y clinfo qcom-adreno1

# Symlink OpenCL library to /usr/lib/
if [ ! -f /usr/lib/libOpenCL.so ]; then
    sudo ln -s /lib/aarch64-linux-gnu/libOpenCL.so.1.0.0 /usr/lib/libOpenCL.so
fi

# Reboot the device
sudo reboot

# Verify OpenCL installation
clinfo
# ... Should return
#     Number of platforms                               1
#     Platform Name                                   QUALCOMM Snapdragon(TM)
#     Platform Vendor                                 QUALCOMM
#     Platform Version                                OpenCL 3.0 QUALCOMM build: 0808.0.7
```

## Connecting to Edge Impulse

You can use the Edge Impulse Linux CLI to connect your IQ-8275 EVK to a project in Edge Impulse Studio. This allows you to send data from the device to the cloud for training and inference.

<Frame caption="IQ-8275 EVK connected to a project">
  <img src="https://mintcdn.com/edgeimpulse/X-JTVQ21o1Jb4-tx/.assets/images/devices-iq8275-evk-connected.png?fit=max&auto=format&n=X-JTVQ21o1Jb4-tx&q=85&s=6506eafe99d28d7898d09f1bd0c7c121" width="1531" height="1000" data-path=".assets/images/devices-iq8275-evk-connected.png" />
</Frame>

Executing the command below will prompt you to log in to your Edge Impulse account and select a project. Once connected, your EVK will appear on the devices page within your project. You can now collect image and audio data directly from your EVK.

```bash theme={"system"}
edge-impulse-linux
```

If you do not have a camera connected to your IQ-8275 EVK, ensure to use the `--disable-camera` flag. Without this flag, the CLI will attempt to access a camera, which will result in an error when trying to launch the CLI and connect the EVK to a project.

To connect your EVK to a different project, execute the command above with the `--clean` flag.

## Building a model

With everything set up you can now build your first machine learning model with these tutorials:

* [Responding to your voice](/tutorials/end-to-end/keyword-spotting)
* [Recognize sounds from audio](/tutorials/end-to-end/sound-recognition)
* [Adding sight to your sensors](/tutorials/end-to-end/image-classification)
* [Object detection](/tutorials/end-to-end/object-detection-bounding-boxes)
* [Visual anomaly detection with FOMO-AD](/studio/projects/learning-blocks/blocks/visual-anomaly-detection-fomo-ad)

If you want to connect to different sensors, our [Linux SDKs](/tools/libraries/sdks/inference/linux) let you easily send data from any sensor and any programming language (with examples in Node.js, Python, Go and C++) into Edge Impulse.

## Profiling a model

To profile your models for the IQ-8275 EVK in Studio:

* Make sure to select the IQ-8275 EVK as your [Target device](/studio/projects/dashboard/target-device). You can change the target at the top of the page near your user logo.
* On the settings page for your learning block, click the `Calculate performance` button in the On-device performance section.

To provide the on-device performance, we use [Qualcomm® AI Hub](https://aihub.qualcomm.com/) behind the scenes. The compiled model is run on a physical device to gather metrics such as the mapping of model layers to compute units, inference latency, peak memory usage, and flash usage. See more details in the [Qualcomm® AI Hub documentation](https://app.aihub.qualcomm.com/docs/).

<Frame caption="Model profiling for the IQ-8275 EVK using Qualcomm® AI Hub">
  <img src="https://mintcdn.com/edgeimpulse/4KQH1PdvkjInqEQ7/.assets/images/learning-block-profiling-qualcomm-ai-hub-iq8275-evk.png?fit=max&auto=format&n=4KQH1PdvkjInqEQ7&q=85&s=c72b6e3f8e9ac449645346fdd33d8a61" width="1531" height="1000" data-path=".assets/images/learning-block-profiling-qualcomm-ai-hub-iq8275-evk.png" />
</Frame>

## Deploying a model

You can run your trained model on the IQ-8275 EVK using one of the [EIM](/hardware/deployments/run-linux-eim) or [IM SDK GStreamer](/hardware/deployments/run-qualcomm-im-sdk-gstreamer) deployment options. The EIM option is recommended for most users, while the GStreamer option is more advanced and requires additional setup.

### With an EIM deployment

In your project on the deployment page, select the `Qualcomm Dragonwing IQ 8275 EVK (AARCH64 with Qualcomm QNN)` deployment option and build it. This will generate and download an `.eim` file that you will be able to run on your IQ-8275 EVK using the Edge Impulse Linux CLI or the Edge Impulse Linux Inferencing SDKs.

<Frame caption="IQ-8275 EVK deployment option">
  <img src="https://mintcdn.com/edgeimpulse/t9XDsvQwRuvCw7DK/.assets/images/deployment-iq8275-evk.png?fit=max&auto=format&n=t9XDsvQwRuvCw7DK&q=85&s=bff26e03f9a92bdc58d44b0b9b0374fa" width="1531" height="1000" data-path=".assets/images/deployment-iq8275-evk.png" />
</Frame>

Note that, instead of downloading your model from the deployment page, you can also use the Edge Impulse Linux CLI to automatically compile your model with full hardware acceleration, download the model to your IQ-8275 EVK, and then start classifying. See the instructions below for more details.

#### Using the Edge Impulse Linux CLI

If you have not yet downloaded the `.eim` file, you can use the Edge Impulse Linux CLI to automatically build your model, download it to your IQ-8275 EVK, and then start running inference. To do this, execute the following command on your EVK and follow the prompts:

```bash theme={"system"}
edge-impulse-linux-runner
```

If it is the first time you are running the above command on the EVK, you may need to prepend `sudo` to the command to allow the CLI to create the necessary directories.

If you need to change the project that your EVK is connected to, you can use the `--clean` flag to reset the connection and select a new project.

If you have already downloaded an `.eim` file and moved it to your IQ-8275 EVK, you can run it by executing the command below on your EVK and following the prompts:

```bash theme={"system"}
edge-impulse-linux-runner --model-file /path/to/your-model.eim
```

#### Using the Edge Impulse Linux Inferencing SDKs

The `.eim` file can also be used with the Edge Impulse Linux Inferencing SDKs. Our [Linux SDKs](/tools/libraries/sdks/inference/linux) documentation has examples on how to integrate the `.eim` model with your favourite programming language.

### With an IM SDK GStreamer plugin deployment

In your project on the deployment page, select one of the Qualcomm IM SDK GStreamer deployment options and build it. This will generate and download a `.zip` file. After unzipping the archive, you will find a `README.md` file with instructions on how to use the IM SDK GStreamer plugin to run your model.

<Frame caption="IM SDK GStreamer deployment option">
  <img src="https://mintcdn.com/edgeimpulse/t9XDsvQwRuvCw7DK/.assets/images/deployment-im-sdk-gstreamer.png?fit=max&auto=format&n=t9XDsvQwRuvCw7DK&q=85&s=7f63a103fc5e0ed532534584b519f3e0" width="1531" height="1000" data-path=".assets/images/deployment-im-sdk-gstreamer.png" />
</Frame>

## Previewing image models

If you have an image model, either classification or object detection, you can see a preview of what your IQ-8275 EVK sees.

After starting inference with the Edge Impulse Linux CLI, look for the message in your terminal that says `Want to see a feed of the camera and live classification in your browser`. Open the provided URL in a browser. Both the camera feed and the inference results will be shown in real-time. Note that if you are opening the browser on a different device than the IQ-8275 EVK, you will need to be on the same network.

<Frame caption="Image classification live inference">
  <img src="https://mintcdn.com/edgeimpulse/X-JTVQ21o1Jb4-tx/.assets/images/live-inference-image-classification.png?fit=max&auto=format&n=X-JTVQ21o1Jb4-tx&q=85&s=795c206cfae79e61eece1f31873c15fa" width="1531" height="1000" data-path=".assets/images/live-inference-image-classification.png" />
</Frame>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Edge Impulse Linux CLI fails to run with 'Cannot find any webcams' error">
    The Edge Impulse Linux CLI expects a webcam to be connected. If you are trying to run the Edge Impulse Linux CLI on the IQ-8275 EVK without a webcam plugged in, you can use a flag to disable the camera check:

    ```bash theme={"system"}
    edge-impulse-linux-runner --disable-camera
    ```
  </Accordion>

  <Accordion title="qdl: unable to open USB device">
    If you see `qdl: unable to open USB device` when flashing the board (on Windows) then make sure to update the driver using QDL's install\_driver.bat.
  </Accordion>
</AccordionGroup>
