NVIDIA Jetson Nano and Orin Nano Setup Guide

The Jetson Nano and Jetson Orin Nano from NVIDIA are small computers built for embedded applications and capable of supporting modern AI workloads. Follow this guide to set up the Jetson Nano Developer Kit or the Jetson Orin Nano Developer Kit to prepare your NVIDIA Jetson Nano for viam-server installation.

The front of the NVIDIA Jetson Nano single-board computer development kit. The front of the NVIDIA Jetson Orin Nano single-board computer development kit.

Hardware requirements

You need the following hardware, tools, and software to install viam-server on a Jetson Nano or Jetson Orin Nano:

Initial setup with display attached:

  1. A Jetson Nano Developer Kit or Jetson Orin Nano Developer Kit
  2. A microSD card (32GB UHS-1 minimum recommended)
  3. A computer display (HDMI or DP) with a USB keyboard and mouse
  4. A way to connect the microSD card to the computer (like a microSD slot or microSD reader)
  5. Ethernet cable and/or Wifi dongle, to establish network connection on the Nano
  6. 5V-2A (Nano) or 9-19V (Orin Nano) DC power supply with barrel jack connector

Initial setup in headless mode:

  1. A Jetson Nano Developer Kit or Jetson Orin Nano Developer Kit
  2. A microSD card (32GB UHS-1 minimum recommended)
  3. An internet-connected computer
  4. A way to connect the computer to the Nano (like a USB 2.0 A-Male to Micro B Cable)
  5. A way to connect the microSD card to the computer (like a microSD slot or microSD reader)
  6. Ethernet cable and/or Wifi dongle, to establish network connection on the Nano
  7. 5V-2A (Nano) or 9-19V (Orin Nano) DC power supply with barrel jack connector

Nano setup guide

Follow the instructions in Getting Started with Jetson Nano Developer Kit or Getting Started with Jetson Orin Nano Developer Kit. Once you have reached Next Steps, return to the Viam docs.

Install viam-server

viam-server is the open-source software that drives your hardware and connects your device to the cloud. Install viam-server on the computer or single-board computer (SBC) that is directly connected to your hardware (for example sensors, cameras, or motors):

  1. Make sure your computer or SBC is powered on and connected to the internet.

  2. Create a Viam account on app.viam.com. You can configure and manage devices and data collection in the web UI.

  3. Create a new machine using the Add machine button in the top right corner of the LOCATIONS tab in the app. A machine represents your device.

  4. On your machine’s page, click View setup instructions.

  5. Select Linux / Aarch64.

  6. Select your installation method:

    • viam-agent (recommended): installs viam-agent, which will automatically install (and update) viam-server and provide additional functionality such as provisioning and operating system update configuration.
    • manual: installs only viam-server on your machine.
  7. Follow the instructions on the page to install viam-server and connect it to the cloud with your machine’s unique credentials.

  8. After you install viam-server, a secure connection is automatically established between your machine and Viam. When you update your machine’s configuration, viam-server automatically gets the updates.

    You are ready to configure supported hardware on your machine.

Serial communication protocol tips

To change the pins that are in use for modes of serial communication, launch jetson-io.py with the following commands:

cd ~
sudo /opt/nvidia/jetson-io/jetson-io.py

In the interactive menu that opens, select Configure Jetson 40 Pin Header and Configure header pins manually to select and deselect pins to enable use. For a Jetson Orin Nano, reference the following:

GPIO Header PinViam Bus IDjetson-io.py ID
3, 57i2c2
27, 281i2c8
19, 21, 23, 24, 260spi1
13, 16, 18, 22, 372spi3
15pwm1
33pwm5

Note that I2C buses do not need to be configured through jetson-io.py. See NVIDIA’s documentation on Configuring the Jetson Expansion Headers for more information.

Try an example

Once you’ve installed viam-server and your machine has come online, if your machine has a webcam, you can try an example project:

  1. Click the + icon next to your machine part in the left-hand menu and select Insert Fragment.

    Add the DeskSafariGame fragment by the Robot Land organization and click Insert Fragment. This adds a number of resources to your machine:

    • a camera component which connects to the webcam
    • machine learning resources to run a model and apply it to the camera stream
    • control logic that implements a game
  2. Save your config and review the available resources on the CONFIGURE tab.

  3. Log into this Viam application with your Viam credentials and select your machine. The application provides a UI for playing the game

  4. Select a camera and press the Start Game button. The goal of the game is to find and show specific objects to the camera.

If you’d like to learn how to create this game, see the Desk Safari tutorial.

Should the game not work, return to your machine in the Viam web UI and check the LOGS tab for errors.

Next steps

Troubleshooting

Make sure the polarity on your barrel jack power supply is matched when powering your machine. See the last step of your appropriate initial setup guide for instructions on choosing the correct power supply for your Nano board.

If you do not see an interactive menu after launching jetson-io.py, try resizing your window to a large size.

You can find additional assistance in the Troubleshooting section.

You can also ask questions in the Community Discord and we will be happy to help.