Jetson Orin Nano
Overview
Introduction
Module
N-VIDIA® Jetson Orin™ Nano is available in 4GB and 8GB versions, up to 20 TOPS/40 TOPS and 40/80X the performance of the last generation for multiple concurrent AI inference pipelines. Also with high-speed interface support for multiple sensors, it is an ideal solution for a new age of robotics.
Official Kits
Jetson Orin Nano Developer Kit is an official N-VIDIA development kit based on the Jetson Orin Nano 8GB module that delivers up to 40 TOPS of AI performance. The difference between the onboard module and the production version of the Jetson Orin Nano 8GB module is that this kit adds a TF card slot, users can use a TF card for system installation.
User Guide
If you buy a kit with a screen, you just need to connect the screen and turn it on to configure it.
If you purchase the kit without a screen, it does not come with username or password, and you need to install
putty to log in.
Connect the power supply to the device, and then connect it to the PC with Type-C interface.
Open the device manager to view the new COM port.
Then just follow the prompted information to boot up and configure it.
Programming
- Burning the system requires an Ubuntu 20.04 or Ubuntu 18.04 host or virtual machine.
Preparation
- Jetson Orin NX board
- Ubuntu20.04 virtual machine (or computer host)
- Power adapter
- Jumper caps (or jumper wires)
- USB cable (Micro USB interface for data transmission)
Hardware Configuration (Enter Recovery Mode)
- Short the FC REC and GND pins with jump caps or Dupont wires, positioned as shown above, located under the module.
- Connect the DC power supply to the round power port, wait a moment.
- Connect the micro USB port of the Jetson board to the Ubuntu host with a USB cable (note that it is a data cable).
Software Cofiguration
- Open the Ubuntu system and open the browser to download SDK Manager.
- After downloading, we enter the download path to install, and input the following content on the terminal:
sudo dpkg -i sdkmanager_1.6.1-8175_amd64.deb (Enter according to your version)
- After installing, the system may report the dependency file can not be found, and you can input the following commands to settle this issue:
sudo apt --fix-broken install
- Open Ubuntu and run SDK Manager.
- Click "LOGIN", log in to your NVIDIA account, the browser pops up the link, and enter your registered email and password to log in.
- Then we successfully log in to SDK Manager.
System Installation
- Open the Ubuntu computer terminal and run sdkmanager to open the software.
- Log in.
- If the Jetson board is properly recognized as shown in the following figure, if it is connected but not displayed, please click refresh.
- Select the Jetson Orin Nano option for the development board type, and select the 8GB version or 4GB version according to the actual situation (if you are using the official kit, select Developer Kit).
- In the JetPack option, select the latest supported systems, do not check other SDKs, and then click Continue.
- Select Jetson OS and remove the option for Jetson SDK Components. Check the first protocol at the bottom.
- Finally, click "Continue" and wait for the programming to complete.
- Here, the development board type is selected by default. Be careful not to make a mistake when selecting the type of development board earlier.
- Here select Manual Setup-Jetson ... (Different boards with different suffixes).
- Here you can choose runtime or preconfig. If you choose runtime, you need to manually configure the system (username, password, language, etc.) later. If you choose preconfig, you can fill in the username and password (you can define it yourself), and nano will be automatically configured during the startup process.
- After the programming is completed, remove the jumper cap of the baseboard, connect to the monitor, power on again, and follow the prompts to configure the boot (if it is pre-config set, it will directly enter the system after power on).
Remote Login
Preparation
- Connect to the Jetson Orin Nano with a network cable, and then connect it to the LAN port of the router.
- Make sure the Jetson Orin Nano is under a router or on the same network segment as your computer.
Get the IP address of Jetson Orin Nano
- Method 1: login to the router to find the IP address of the Jetson Orin Nano.
- Method 2: you can use some LAN IP scanning tools, here is the Advanced IP Scanner as an example demo.
- Run the Advanced IP Scanner
- Click the Scan button to scan for IP addresses on the current LAN.
-
Find all IP addresses with NVIDIA in the Manufacturer and log them.
-
After powering up the device and ensuring that it is connected to the network.
-
Re-click the Scan button to scan the current IP addresses on the LAN.
-
Excluding all previously recorded IP addresses of Manufacturers with the word NVIDIA in them, what remains is the IP address of your NVIDIA.
- Method 3: Query Screen IP
- Connect the Jetson Nano to an Internet cable or install a wireless card to connect to WIFI, enter ifconfig in the terminal to check the IP address of the Jetson Orin Nano.
Login with MobaXterm
Terminal Window
- Download MobaXterm remote login software, and you should unzip it before using it.
- Open the MobaXterm remote login software, select Session, and ssh.
-
In the Remote host, enter the IP address 192.168.15.102 (according to your actual IP to fill in), fill in the completion, and click ok.
-
Click "Accept", and input the user name and password. (When entering the password, the screen does not change is a normal phenomenon, click enter to confirm it.)
Configure VNC Server
- Jetson Nano uses vino as the default VNC server, and the default setting requires modification.
- Configure VNC Server
gsettings set org.gnome.Vino require-encryption false gsettings set org.gnome.Vino prompt-enabled false gsettings set org.gnome.Vino authentication-methods "['vnc']" gsettings set org.gnome.Vino lock-screen-on-disconnect false gsettings set org.gnome.Vino vnc-password $(echo -n "mypassword"|base64)
- Note: Do not use "sudo" to run the above commands, "mypassword" is the password for connecting the VNC.
- Set desktop to boot on startup. Create a self-starting file in the .config directory.
mkdir -p .config/autostart sudo vim ~/.config/autostart/vino-server.desktop
Add the following content:
[Desktop Entry] Type=Application Name=Vino VNC server Exec=/usr/lib/vino/vino-server NoDisplay=true
- View the current manager:
cat /etc/X11/default-display-manager
- Edit the file:
sudo vim /etc/gdm3/custom.conf
- Remove the comments from the following three lines. Modify the 'AutomaticLogin' line with your username.
WaylandEnable=false AutomaticLoginEnable = true AutomaticLogin = waveshare
- Reboot Jetson Nano
sudo reboot
Download & Install VNC Viewer
- Download and install VNC-Viewer on the PC.
Use VNC Viewer to Remotely Connect to Orin Nano
- Enter VNC Viewer, input the IP address of Jetson Nano, and press "Enter" to confirm. For example:
192.168.15.102
- Input the VNC login password set earlier and click ok:
- At this point you have successfully logged into Orin Nano.
SDK Installation
Jetpack mainly includes system images, libraries, APIs, developer tools, examples, and some documentation.
The SDK includes TensorRT, cuDNN, CUDA, Multimedia API, Computer Vision, and Developer Tools.
- TensorRT : High-performance deep learning inference runs for image classification, segmentation, and object detection neural networks, which speeds up deep learning inference and reduces the runtime memory footprint of convolutional and deconvolutional neural networks.
- cuDNN: The CUDA deep neural network library provides high-performance primitives for deep learning frameworks, including support for convolution, activation functions, and tensor transforms.
- CUDA : The CUDA Toolkit provides a comprehensive development environment for C and C++ developers building GPU-accelerated applications. The toolkit includes a compiler for NVIDIA GPUs, math libraries, and tools for debugging and optimizing application performance.
- Multimedia API: The Jetson Multimedia API provides a low-level API for flexible application development.
- Computer Vision: VPI (Vision Programming Interface) is a software library that provides computer vision/image processing algorithms implemented on PVA1 (Programmable Vision Accelerator), GPUs, and CPUs, where OpenCV, the leading open source library for computer vision, image processing, and machine learning, now features GPU acceleration for real-time operation, where VisionWorks2 is a software development kit for computer vision (CV) and image processing.
- Developer Tools: Developer Tools CUDA Toolkit provides a comprehensive development environment for C and C++ developers building GPU-accelerated applications. The toolkit includes a compiler for NVIDIA GPUs, math libraries, and tools for debugging and optimizing application performance.
These are some of the features of the SDK.
Install SDK with Commands
When using SDK Manager to install SDK, there is no need to set nano to recovery mode, which means there is no need to short the pins.
- Powering up the Nano normally.
- After the Jetson Nano enters the system and boots normally, use the USB cable to connect the Jetson Nano's Micro USB port to the Ubuntu host computer.
- Run the sdkmanager command on the Ubuntu host computer to open SDK Manager (SDK Manager needs to be installed first).
- Similar to the previous operation of programming the system, the difference is: not to check the OS option, check the SDK option, and then continue to the installation.
- After downloading the resources, you will be prompted to fill in the username and password, just fill in the username and password of the nano system.
- Wait for the SDK to be installed successfully.
sudo apt update sudo apt install nvidia-jetpack
Dual Cameras Preview
Open two terminals and respectively run the following two demos:
gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! "video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080,format=(string)NV12, framerate=(fraction)30/1" ! nvvidconv ! xvimagesink sync=false
gst-launch-1.0 nvarguscamerasrc sensor-id=1 ! "video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080,format=(string)NV12, framerate=(fraction)30/1" ! nvvidconv ! xvimagesink sync=false
FAN
Install jtop:
sudo apt install python3-pip sudo pip3 install jetson-stats sudo reboot
Input after booting:
jtop
Maximize the window and use the mouse to select "CTRL 6." Mouse-select the "manual" option within "profiles," then click the [+] symbol next to "speed" to adjust the fan intensity.
RTC
- If you don't want the system to be reset, you need to keep the carrier board connected to the power or connect a battery to the battery holder.
Modify the RTC time:
sudo hwclock --set --date="01/01/2001 11:00"
Query the RTC time:
sudo hwclock -r
Update RTC time to system time:
sudo hwclock -s
Query system time:
date
AI for Beginners
Setup CUDA Environment
- This tutorial is based on Jetpack5.1.1. The tensorflow version is 2.12.0+nv23.05, the pytorch version is v2.0.0, and the torchvsion version is v0.14.1.
-
Check CUDA version, "command not found" is shown, and you need to configure the following environment:
sudo apt update sudo apt install nvidia-jetpack nvcc -V
Note: the command "nvcc" we used here can not view the version. You can enter the /usr/local/ directory to see if there is a CUDA directory.
If not, refer to the SDK (including CUDA) installation, and then configure the environment after the installation is complete. -
Setup environment variables.
sudo vim .bashrc Add the following at the end of the file: export LD_LIBRARY_PATH=/usr/local/cuda/lib64 export PATH=$PATH:/usr/local/cuda/bin
-
Update the environment variables:
source .bashrc
-
View the CUDA version again.
nvcc -V
Tensorflow GPU Environment Setup
-
Install the required package:
sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran sudo pip3 install -U pip testresources setuptools==49.6.0
-
Install python dependency:
sudo pip3 install -U --no-deps numpy==1.19.4 future==0.18.2 mock==3.0.5 keras_preprocessing==1.1.2 keras_applications==1.0.8 gast==0.4.0 protobuf pybind11 cython pkgconfig packaging
-
Install Tensorflow (offline installation is recommended as the online installation may be failed.)
sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v46 tensorflow
-
Offline installation. You can log in to the NVIDIA website to download TensorFlow (Take jetpack5.1.1 TensorFlow2.12.0+nv23.05 as the example, and the Firefox browser is recommended.)
pip3 install tensorflow-2.12.0+nv23.05-cp38-cp38m-linux_aarch64.whl
-
After installing. you can check whether the installation is successful, and you can input the following commands on the terminal:
python3 import tensorflow as tf
-
View the version information:
tf.__version__
Pytorch Environment Setup
Pytorch Installation
- Note: Pytorch version should be compatible with the JetPack version.
- Login to the NVIDIA website to download Pytorch first. Here we take PyTorch v2.0.0 as an example.
-
Download the dependency:
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev libopenblas-base libopenmpi-dev
-
Install Pytorch:
sudo pip3 install torch-2.0.0+nv23.05-cp38-cp38-linux_aarch64.whl
-
Verify whether the installation is successful.
python3 import torch x = torch.rand(5, 3) print(x)
-
View the version:
import torch print(torch.__version__)
Torchvision Installation
-
Torchvision version should match the version of Pytorch, we have installed Pytorch version 2.0.0, and Torchvision installs the v0.14.1 version.
-
Download and install torchvision:
git clone --branch v0.14.1 https://github.com/pytorch/vision torchvision cd torchvision export BUILD_VERSION=0.14.1 sudo python3 setup.py install
-
Verify whether the Torchvision installation is successful:
python3 import torchvision
-
View the version:
import torchvision print(torchvision.__version__)
NVIDIA Official Resource
- Jetson Development User Guide
- Jetson Download Center
- Resources Download Link
- SDK Manager Download Link
Support
Technical Support
If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 PM GMT+8 (Monday to Friday)