I recently had need to buy one of NVidia’s Jetson Nano Development Kits. Platypus Technical is currently doing some research and development in mobile computer vision and artificial intelligence. The Jetson Nano seems like a good option for the project, and is available with a development board that is marketed with the promise of an optimised Linux OS that runs popular tools optimsed for the Jetson hardware.

What is the Jetson Nano Dev Kit?

The development kit is a Jetson Nano module mounted on a board of peripherals that make things a bit easier (e.g. USB, HDMI, etheret). It looks a lot like a Raspberry Pi and is priced about the same. However, it was far from as straight forward to get up and running for development.

Now the Jetson series and the Raspberry Pi are probably targeting different markets, and applications. With NVidia’s Jetson series presumably targeting people with more technical and engineering know how. However, some of their marketing material suggests it as a good solution for the maker community. So, it is natural to compare it’s setup to a Pi. The last time I bought a Pi, I took it out of the box, plugged it in and could do useful things straight away. The Jetson Nano board on the other hand, took several hours and some extra parts before it was work ready. Here is a short walk-though of my setup in the hope that it helps others get their board up and running.

Setup – Download the image

The first point of note is that the Jetson Nano Development Kit does not come with any a power supply, storage or an operating system. I already had a Raspberry Pi 2.5 A power supply that I could use. However, I had to buy a MicroSD card (at least 16 GB) and install an OS before I could do anything. In it’s favour, the Nano did come with a nice stand built into the box so I didn’t have to worry about where to rest it (Figure 1).

Jetson Nano on stand
Figure 1: The Jetson Nano Development Kit comes with a cardboard stand that fits into the box. No need to worry about somewhere safe to put it.

The instructions for setting up the Jetson Nano Development Kit are on NVidia’s website and are easy to find with Google. However, there were some hiccups, and it took me a day to get this board running because of them. First was downloading the operating system image, which was slow, and corrupted on the first few attempts. Now being in Canberra it’s more than likely that slow corrupt downloads are because of my connection, rather than NVidia. However, this was slow even for Canberra, which meant that every time it was corrupt I had another 90 mins to wait. Also, Nvidia do not seem to publish a checksum or a hash for the image file, which meant I had no way of confirming if the file was corrupt, or if actually I had different problem.

In the end the solution was to drop the browser and download the file from a Linux terminal with wget, like so:

wget https://developer.nvidia.com/jetson-nano-sd-card-image-r322

Setup – Install the operating system

This got me a non-corrupted image first time. Although if you do this you will have to rename it before you can unzip it or proceed. This can be done with the following terminal commands:

mv jetson-nano-sd-card-image-r322 jetson-nano-sd-card-image-r322.zip
unzip jetson-nano-sd-card-image-r322.zip

Now I could continue with the instructions on the NVidia website, which meant waiting for the operating system to be installed on the microSD card (Figure 2). I used Baleno Etcher as recommended in the instructions. This was my first experience with the Etcher, and it was great. So I’ve found a new tool for my toolbox.

Flashing an SD card with Etcher
Figure 2: Baleno’s Etcher being used to install the operating system image onto a microSD. This was my first time using this software, but it was nice and simple.

After several download attempts and waiting for the install (about a day) I could finally put my microSD card in the Jetson board and power up. After a quick setup procedure, including setting the timezone, username and password, I had a short wait and was then greeted by a familiar looking desktop (Figure 3). Although my first thought was I that I don’t need Libre Office on this board and that I need to strip this OS down.

First boot of Unbuntu on a Jetson Nano
Figure: The first boot of a Jetson Nano Development Kit using the Ubuntu image for Jetson. At first glance it is a comprehensive OS with more stuff than I expected for a development board.

Summary

Overall, it the Jetson Nano Development Kit was pretty straightforward to set up, compared to most development boards. However, it is marketed to makers, which invites comparison to the Raspberry Pi. With that comparison, the Jetson Nano took a day longer to get going, although it seems to have a more complete OS.

For my application, the Jetson is what I need. For learners and educators, I’m likely to recommend the Pi unless you have technical support nearby. Maybe there is an opportunity for retailers to sell ready-to-go NVidia boards for machine learning education.