Skip to content

Quick-Start-Guide

Hardware Connection

  1. Locate the camera connector (CSI). It’s on the side of the carrier board, opposite to the GPIO pins.

  2. Pull up on the plastic edges of the camera port. Do it gently to avoid pulling it off.

plastic edges pulled up jetson nano camera connector csi

  1. Push in the camera ribbon. Make sure the contacts are facing the heatsinks. Do not bend the flex cable, and make sure it’s firmly inserted into the bottom of the connector.

white camera ribbon cable contactsRibbon Cable Contacts – 15pin-15pin

white cable silver contacts facing heatsinksSilver Contacts facing inside to the heatsinks

white cable silver ribbon cable inserted into the bottom of the connectorRibbon cable fully inserted to the bottom of the CSI connector

  1. Push the plastic connector down. Do it while holding the flex cable until the connector is back in place.

Software

Install driver

For the imx219, you don't need to install any drive:

imx219 Board list:

Resolution Camera Module
8MP imx219

For the imx477, you need to install the following steps:

imx477 Board list:

Resolution Camera Module
12MP imx477

Step 1. Download the bash scripts

cd ~
wget https://github.com/ArduCAM/MIPI_Camera/releases/download/v0.0.3/install_full.sh

Step 2. Install the driver

chmod +x install_full.sh
./install_full.sh -m imx477

For the imx519, you need to install the following steps:

imx519 camera Board list:

Resolution Camera Module
16MP imx519

Step 1. Download the bash scripts

cd ~
wget https://github.com/ArduCAM/MIPI_Camera/releases/download/v0.0.3/install_full.sh

Step 2. Install the driver

chmod +x install_full.sh
./install_full.sh -m imx519

using Gstreamer access camera

1.View the Pixel format

v4l2-ctl --list-formats-ext

img

2.Preview

If you want to use ssh connection, please export DISPLAY=:0

gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=GAY8, width=2560, height=800 ! videoconvert ! xvimagesink 

format: Select the Pixel format (v4l2-ctl --list-formats-ext — Pixel format).

width, height:Select the resolution (v4l2-ctl --list-formats-ext — Size).

ximagesink: Preview. If does not work, please try ximagesink (xvimagesink), glimagesink, d3dvideosink (Windows).

3.Capture video

gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,format=(string)GRAY8,width=(int)2560,height=(int)800' ! nvvidconv ! 'video/x-raw(memory:NVMM), format=(string)I420' ! omxh264enc ! 'video/x-h264, stream-format=(string)byte-stream' ! h264parse ! qtmux ! filesink location=test.mp4 -e

format: Select the Pixel format (v4l2-ctl --list-formats-ext — Pixel format).

width, height:Select the resolution (v4l2-ctl --list-formats-ext — Size).

4.Streaming

4.1 Streaming Sever
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=GRAY8,width=2560,height=800 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=(string)I420' ! omxh264enc profile=high cabac-entropy-coding=true insert-sps-pps=true iframeinterval=60 ! 'video/x-h264, level=(string)4.2, stream-format=(string)byte-stream' ! tcpserversink host=0.0.0.0 port=5001 -v
4.2 Streaming Client

Please exit the virtual machine created with anacondac, or you can install conda install gst-libav -c conda-forge

gst-launch-1.0 -v tcpclientsrc host=0.0.0.0 port=5001 ! decodebin ! fpsdisplaysink sync=false text-overlay=false

or

gst-launch-1.0 -ve tcpclientsrc host=0.0.0.0 port=5001 ! decodebin ! autovideosink

autovideosink: Preview. If does not work, please try ximagesink (xvimagesink), glimagesink, d3dvideosink (Windows).