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 distributed for Linux as an AppImage. The AppImage is a single, self-contained binary that runs on 64-bit Linux systems running the aarch64 or x86_64 architectures, with no need to install any dependencies.

To install viam-server :

  1. Go to the Viam app. Create an account if you haven’t already.

  2. Add a new machine by providing a name in the New machine field and clicking Add machine:

    The ‘First Location’ page on the Viam app with a new machine name in the New machine field and the Add machine button next to the field highlighted.

  3. Navigate to the CONFIGURE tab and find your machine’s card. An alert will be present directing you to Set up your machine part:

    Machine setup alert in a newly created machine

    Click View setup instructions to open the setup instructions.

  4. Select Linux / Aarch64.

  5. 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.
  6. Follow the instructions listed.

  7. Once you have followed the steps on the setup instructions, wait for confirmation that your machine has successfully connected.

    On your machine’s page on the Viam app, your machine will show that it’s Live.

By default, viam-server will start automatically when your system boots, but you can change this behavior if desired.

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.

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.