Qualcomm Dragonwing RB3 Gen 2 Dev Kit

The Qualcomm Dragonwing RB3 Gen 2 Development Kit is a powerful Linux-based development board based around the QCS6490 SoC. It has two built-in cameras, a Kryo™ 670 CPU, Adreno™ 643L GPU and 12 TOPS Hexagon™ 770 NPU. It's fully supported by Edge Impulse - you'll be able to sample raw data, build models, and deploy trained machine learning models directly from the Studio.

Qualcomm Dragonwing RB3 Gen 2 Development Kit

Setting Up Your Qualcomm Dragonwing RB3 Gen 2 Dev Kit

1. Starting up your development board and connecting to the internet

  1. Install the Edge Impulse CLI on your computer.

  2. Connect power to the back of the RB3 Development Kit.

  3. Connect the RB3 to your computer using a micro-USB cable (using the port highlighted in yellow):

    Connect the dev kit to your computer using a micro-USB cable
  4. Open a serial connection between your host computer and the board.

You can do this directly using the Edge Impulse CLI by running the following command from your command prompt or terminal:

edge-impulse-run-impulse --raw
  1. Hold the rightmost push button (seen from the front, highlighted in red) for ~2 seconds. You should see output in the terminal indicating that the board is starting up.

    Press the 'On' button for ~2 seconds
  2. After 30-60 seconds you should see a login prompt in your terminal. Log in with:

    • Username: root

    • Password oelinux123

  3. Next, set up a network connection, either:

    1. Connect an Ethernet cable.

    2. Or, if you want to connect over WiFi:

After connecting the board to the internet, reboot it. This will refresh the system clock (through the NTP), resolving an issue with invalid certificates when installing the Edge Impulse CLI.

  1. If you want to continue setting up over ssh (so you can unplug the device from your computer), find your IP address via:

    $ ifconfig | grep "inet addr:" | grep -v "127.0.0.1"
    inet addr:192.168.1.38 Bcast:192.168.1.255 Mask:255.255.255.0

    Then log in via ssh (password: oelinux123):

2. Installing the Edge Impulse Linux CLI

On the RB3 install the Edge Impulse CLI and other dependencies via:

$ wget https://cdn.edgeimpulse.com/firmware/linux/setup-edge-impulse-qc-linux.sh
$ sh setup-edge-impulse-qc-linux.sh

3. Connecting to Edge Impulse

With all dependencies set up, run:

$ edge-impulse-linux

This will start a wizard which asks you to log in and choose an Edge Impulse project. If you want to switch projects, or use a different camera (e.g. a USB camera) run the command with the --clean argument.

4. Verifying that your device is connected

That's all! Your device is now connected to Edge Impulse. To verify this, go to your Edge Impulse project, and click Devices. The device will be listed here.

RB3 Connected to Edge Impulse

Next steps: building a machine learning model

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

Looking to connect different sensors? Our Linux SDK lets you easily send data from any sensor and any programming language (with examples in Node.js, Python, Go and C++) into Edge Impulse.

Profiling your models

To profile your models for the Qualcomm Dragonwing RB3 Gen2 Development Kit:

  • Make sure to select the Qualcomm Dragonwing RB3 Gen 2 Development Kit as your target device. You can change the target at the top of the page near your user's logo.

  • Head to your Learning block page in Edge Impulse Studio.

  • Click on the Calculate performance button.

To provide the on-device performance, we use Qualcomm AI Hub in the background (see the image below) which run the compiled model on a physical device to gather metrics such as the mapping of model layers to compute units, inference latency, and peak memory usage. See more on Qualcomm® AI Hub documentation page.

Qualcomm profiling using Qualcomm AI Hub

Deploying back to device

Using the Edge Impulse Linux CLI

To run your impulse locally on the RB3, open a terminal and run:

$ edge-impulse-linux-runner

This will automatically compile your model with full hardware acceleration, download the model to your RB3 Gen 2, and then start classifying (use --clean to switch projects).

Alternatively, you can select the Linux (AARCH64 with Qualcomm QNN) option in the Deployment page.

Qualcomm deployment options

This will download an .eim model that you can run on your board with the following command:

edge-impulse-linux-runner --model-file downloaded-model.eim

Using the Edge Impulse Linux Inferencing SDKs

Our Linux SDK has examples on how to integrate the .eim model with your favourite programming language.

You can download either the quantized version and the float32 versions but Qualcomm NN accelerator only supports quantized models. If you select the float32 version, the model will run on CPU.

Using the IM SDK GStreamer option

When selecting this option, you will obtain a .zip folder. We provide instructions in the README.md file included in the compressed folder.

See more information on Qualcomm IM SDK GStreamer pipeline.

Image model?

If you have an image model then you can get a peek of what your device sees by being on the same network as your device, and finding the 'Want to see a feed of the camera and live classification in your browser' message in the console. Open the URL in a browser and both the camera feed and the classification are shown:

Live feed with classification results

Troubleshooting

Capture process failed with code 255

If you start the CLI, and see:

Failed to initialize linux tool Capture process failed with code 255

You'll need to restart the camera server via:

$ systemctl restart cam-server

Last updated

Was this helpful?