Real-Time Data Streaming with PSoC™ 6 AI Evaluation Kit using new streaming firmware

This topic provides information on how to collect data from various sensors present in the PSoC™ 6 AI Evaluation Kit into DEEPCRAFT™ Studio. You can add additional data to your existing projects or build your own dataset from scratch. You can collect both labeled and unlabeled data, depending on your project requirements.

ℹ️

By implementing your custom firmware using Protocol version 2, you can follow the guidelines in this topic to collect data from any sensor or development kit in a similar manner. Refer to Tensor Streaming Protocol for Real-Time Data Collection to know more about the protocol.

⚠️
  • PSoC™ 6 AI Evaluation kits manufactured before February, 2025 are utilizing the old streaming firmware (implemented using protocol version 1), see the manufacturing date printed at the back of your kit box. Refer to Streaming Firmware for PSoC™ 6 AI Evaluation Kit to know how to flash the new streaming firmware onto the kit.

  • If you have flashed the PSoC™ 6 AI Evaluation Kit with the new streaming firmware, follow the instructions in this topic to stream data into DEEPCRAFT™ Studio. If you have not yet flashed the PSoC™ 6 AI Evaluation Kit with the new streaming firmware, follow the instructions in this section to stream data. However, we recommend using the new streaming firmware for improved functionality.

What type of data can be collected using the PSoC™ 6 AI Evaluation Kit?

After you have flashed the streaming firmware, you can collect various types of data from multiple sensors, including:

  • Audio Data: Pulse Density Modulation (PDM) and Pulse Code Modulation (PCM) audio data can be collected from the microphone at sample rates of of 8 kHz or 16 kHz.
  • Inertial Measurement Unit (IMU) Data: Data from the 6-axis IMU (accelerometer and gyroscope) can be sampled at frequencies of 50 Hz, 100 Hz, 200 Hz or 400 Hz. This allows for acceleration and gyroscopic angular rate sensing in each spatial direction. The IMU sensor can be configured to collect data from only the accelerometer, only the gyroscope, or both.
  • Magnetometer Data: The 3-axis magnetometer provides data at a sample rate of 50 Hz, 100 Hz, 200 Hz or 400 Hz, enabling geomagnetic field direction and strength sensing.
  • Barometric Pressure Data: Data from the barometric pressure sensor can be sampled at a frequency of 8 Hz, 16 Hz, 32 Hz, 64 Hz or 128 Hz, capturing changes in atmospheric pressure.
  • Radar Data: Radar data can be utilized for various applications, including macro presence detection, micro presence detection, gesture recognition and other use cases.
⚠️

If you are collecting data using the PSoC™ 6 AI Evaluation Kit or any other board flashed with New Streaming Firmware/ Protocol version 2, make sure you select Use Node Explorer with Protocol Version 2 option in Tools> Options> General, before you start collecting data.

How to collect and label real-time data from the sensors?

Collecting and labeling data in real-time is straigtforward using Graph UX in DEEPCRAFT™ Studio. Follow these steps to efficiently collect and label your data:

Step 1: Connecting PSoC™ 6 AI Evaluation Kit to PC/laptop

Connect the PSoC™ 6 AI Evaluation Kit to the laptop or PC through PSoC™ 6 USB connector (J2) using a Type-C USB cable. After connecting the kit, navigate to Node Explorer Window> Library> Boards to check if the board is connected properly. The PSoC™ 6 AI Evaluation Kit, along with all the sensors should be displayed under the Boards unit.

ℹ️

If the Node Explorer Window is not open, navigate to View> Node Explorer to access the window.

Step 2: Creating a Graph UX Project

You can create an Empty Graph UX Project or Live Data Collection Starter Graph UX Project containing an example graph. Refer to How to get started with Graph UX? for instructions on creating the Graph UX project.

If you select Live Data Collection Starter Graph UX project to collect data, set up the input node and start collecting data but if you select Empty Graph UX project to collect data, you need to create the data collection graph. Follow the steps below to create the data collection graph.


Step 3: Creating Data Collection and Data Labeling Graph

For creating a simple version of the data collection graph, you need an input node and an visualization node to visual the data from the input node.

1. Select the Input node to stream data

Input nodes are designed to collect data from various sensors that are present on the kit such as microphone, IMU (accelerometer or gyroscope), magnetometer, pressure sensor and radar sensor that pass on the data to other nodes in the graph. The Input nodes are placed at beginning of the graph. You can collect data using multiple input nodes at a time.


  • Microphone node: for streaming audio data
  • IMU node: for streaming accelerometer and gyroscope data
  • Magnetometer node: for streaming magnetometer data
  • Pressure sensor node: for streaming data related to barometric pressure
  • Radar Node: for streaming radar data
ℹ️

If you want to stream video data alongside sensor data, you can use the Library> Devices> Local Camera node to stream video using the built-in PC camera. This is particularly useful for labeling data, especially when collecting data from the IMU. To know how to set up the Local Camera node, refer to

2: Set-up the Visualization Nodes

The Visualization Nodes help in visualizing the data collected from the Input nodes as tracks in session file.


  • Data Track: for visualizing the sensor data collected from Microphone, IMU, DPS, Magnetometer and Radar node.
  • Label Track: for visualizing and labeling the collected data.
  • Video Track: for visualizing video data collected from the Local Camera node. (Applicable only if you set the Local Camera node to collect video data.)

Depending on the type of data you want to collect and how you plan to collect it, you can create different data collection graphs.

Step 4: Real-time data collection and data Labeling


Refer to the topics below for detailed instructions on setting up the sensors and collecting and labeling real-time data:

⚠️

You can collect data concurrently from microphone, IMU, magnetometer, and pressure sensor. However, you must collect data from Radar sensor independently, without concurrent data collection from any other sensors. To know how to collect data using muiltple sensors, refer to Collecting and Labeling data using multiple sensors.

💡

However, if you want to collect video data along with sensor data, connect the Local Camera to the video track in the existing graph. For collecting data using the Local Camera, refer to Setting up the Local Camera.