cancel
Showing results for 
Search instead for 
Did you mean: 

Knowledge Base Articles

Using Cypress CX3 Based USB 3 Camera Kits with Raspberry Pi 4 - KBA229301

ChaitanyaV_61
Employee

Using Cypress CX3 Based USB 3 Camera Kits with Raspberry Pi 4 - KBA229301

Version: **

Translation - Japanese: Raspberry Pi 4でCypress CX3ベースのUSB 3カメラキットの使用 - KBA229301 - Community Translated (JA)

Question:
How can Cypress CX3 based USB 3 camera kits be used with Raspberry Pi 4?

Answer:
Raspberry Pi 4 added USB 3 support for two onboard USB 3 ports. Hence, Raspberry Pi 4 can now support all Cypress USB 3 camera kits. The CX3 reference designs were tested with Raspberry Pi 4 and this Knowledge Base Article (KBA) explains the steps to use Raspberry Pi 4 to stream video with CX3 USB Video Class (UVC) camera kits.

Figure 1. Raspberry Pi 4

pastedImage_7.png

Step 1.
See Setting up your Raspberry Pi to set up Raspberry Pi 4. You can use the default Raspbian set up. In the test, a CamLink 4K HDMI RX to USB 3 Capture Dongle was used to connect the HDMI output of Raspberry Pi 4 to the USB 3 port of the PC. You will need a micro-HDMI to HDMI Cable to connect Raspberry Pi to the CamLink Dongle. Now, use any UVC host application on the PC to view the Raspberry Pi 4 display output on the PC (see Figure 2). Alternatively, you can use a HDMI monitor to act as the display from Raspberry Pi.

Figure 2. Setting up Hardware

Capture.JPG

Step 2.

Connect the Cypress CX3 USB 3 camera kit to the USB 3 port of Raspberry Pi. Video streaming was tested on the following Cypress Reference Designs with the same results:

You can follow Step 3 to Step 7 to stream video from any Cypress CX3/FX3 based UVC camera kits.

Step 3.
From the Raspbian menu, follow the path Accessories > Terminal to open a terminal.

Figure 3. Opening Terminal

pastedImage_38.png

Step 4.

Verify the kit enumeration status by checking dmesg output on the terminal (see Figure 4). You can observe the camera enumerating as a USB 3 device named CX3-UVC.

Figure 4. Checking Enumeration Status

pastedImage_50.png

Step 5.

Check the list of connected devices using the v4l2-ctl --list-devices command. In case of CX3-UVC, select the /dev/video0 device for streaming.

Figure 5. Checking Connected Devices

pastedImage_61.png

Step 6.
Check the list of supported video formats and resolutions using the v4l2-ctl --list-formats-ext command.

Figure 6. Checking Supported Resolutions

pastedImage_80.png

Step 7.
Use the vlc v4l2:///dev/video0:width=640:height=480 command to start video streaming from the camera using VLC player with the v4l2 driver.

Figure 7. Video Streaming using VLC Player

pastedImage_94.png

You can choose one of the supported resolution and repeat Step 7 to start streaming that resolution.

For the test, a 640 x 480 resolution was chosen because a 1 GB RAM version of the Raspberry Pi 4 was used. It was noticed that Raspberry Pi froze while streaming higher resolutions. However, the performance should be better with a higher RAM version (2 GB or 4 GB) of the Raspberry Pi.

You can use the v4l2 commands to get information on the supported camera controls. For instance: v4l2-ctl --list-ctls or v4l2-ctl -l.

Figure 8. Camera Controls List

pastedImage_100.png

Get more information on the usage of the v4l2-ctl command here.

0 Likes
Version history
Revision #:
1 of 1
Last update:
‎Dec 19, 2019 04:29 AM
Updated by:
 
Contributors