The NVIDIA Jetson Nano Developer Kit brings the power of an Artificial Intelligence (AI) research platform to experimenters, students, makers, and independent developers. In other words, folks just like us!
Unlike the other members of the NVIDIA Jetson family of AI development boards, the Jetson Nano is priced at only $99 USD. This is a fraction of the cost of most other AI development products.
Despite its low cost the Jetson Nano Developer Kit is a fully-capable development platform that has multiple USB3 ports, Gigabit Ethernet and Raspberry Pi compatible GPIO and Camera connectors. It also is capable of running most of the software that its other family members run, giving Jetson Nano developers a wealth of development tools and code to explore.
NVIDIA Jetson Nano
The NVIDIA Jetson Nano Developer Kit is actually two products attached together:
- The NVIDIA Jetson Nano module. This is a small module with a large heatsink that contains the CPU, GPU, memory and all supporting electronics. On the Developer Kit this module has a microSD card slot.
- The Carrier Board. This board has a socket for the module, as well as an M.2 connector for a communications module (not included). It has USB3, Ethernet and Video connectors, as well as camera and GPIO connectors.
As this is a developers platform it is meant for development, so the Nano module on the Jetson Nano Developer Kit has a microSD card. Production versions of the Nano module have NVRAM instead.
The Nano module has a large heatsink mounted on it to disperse heat.
Jetson Nano Specifications
The Jetson Nano Module has the following specifications:
- CPU – 64-bit Quad-core ARM A57 @ 1.43GHz
- GPU – 128-core NVIDIA Maxwell @ 921MHz
- Memory – 4GB 64-bit LPDDR4 @ 1600MHz | 25.6 GB/s
- Video Encoder – 4Kp30 | (4x) 1080p30 | (2x) 1080p60
- Video Decoder – 4Kp60 | (2x) 4Kp30 | (8x) 1080p30 | (4x) 1080p60
The Nano module also has a microSD card slot.
The carrier board connections are as follows:
- USB – 4x USB 3.0 A (Host) | USB 2.0 Micro B (Device)
- Camera – MIPI CSI-2 x2 (15-position Flex Connector)
- Display – HDMI | DisplayPort
- Networking – Gigabit Ethernet (RJ45)
- Other I/O – (3x) I2C | (2x) SPI | UART | I2S | GPIOs
Most of the ports on the carrier board are mounted on one side, as illustrated here.
The carrier board also has a 40-pin GPIO connector that can be dynamically reconfigured. In its default mode it emulates the Raspberry Pi GPIO.
There is also an M.2 Key-E slot mounted on the carrier board, underneath the Jetson Nano module. This slot can be used for a WiFi and Bluetooth communications card.
The heatsink on the Jetson Nano module is drilled to allow the mounting of a 40mm 5-volt PWM fan. There is a fan connector on the carrier board between the module and the RJ45 jack.
Powering the Jetson Nano
The NVIDIA Jetson Nano Developer Kit requires a 5-volt power supply. It can operate in a low power or high power mode.
There are two methods of applying 5-volts to the Jetson Nano.
The first method is to use the micro USB connector on the carrier board. You’ll need a power supply that can supply at least 2.5 amperes at 5-volts.
If you don’t have a suitable USB power supply you can use the 2.1 mm barrel jack located on the opposite end of the carrier board. It will accept a 5-volt 4 ampere power supply.
If you decide to use the 2.1mm connector you will need to place a jumper on the carrier board to make it work. The jumper is located close to the barrel connector, as illustrated here.
The kit does not come with a jumper so you’ll need to provide that yourself.
NVIDIA Jetson Family
The Nano is a member of the NVIDIA Jetson family of Artificial Intelligence development platforms.
As you can see from the above chart there are three Jetson series currently available. The TX1 series is not shown as it is retired.
Each of the three series works the same way – the Jetson component is on a module that is mounted on a carrier board. This allows developers to create their own product using the NVIDIA Jetson technology. The final product will have a socket for the Jetson module, and supporting hardware as required by the application.
What the Jetson Nano Developer Kit is NOT
Many reviews have criticized the Jetson Nano for not having a WiFi or Bluetooth connection built in. Others have complained about the location of the microSD card holder.
While I can understand the criticism I don’t believe it is valid, which is certainly not a criticism of the reviewers themselves, it’s just my opinion.
I believe these reviewers have been comparing the Jetson Nano Developer Kit to a Single Board Computer (SBC), like the Raspberry Pi 3B Plus. But the Jetson Nano is NOT an SBC, it is a development platform.
By leaving out some of the SBC “niceties” NVIDIA has managed to shrink the cost of its AI development platform to under a hundred dollars, which is a pretty impressive accomplishment. So no WiFi in favor of more GPU power. And the microSD card is located on the module as that’s where it belongs, in the production version of the module there is only NVRAM.
Just my own humble opinion! I think the NVIDIA Jetson nano Developer Kit represents a tremendous value, even without Bluetooth.
Installing Linux with JetPack SDK
So now that you have your brand new NVIDIA Jetson Nano Developer Kit how do you get started?
One of the best ways to get started is to visit NVIDIA’s website for the complete installation process.
Essentially here is what you need to do:
- Get the NVIDIA JetPack SDK and Ubuntu Linux image.
- Burn the image to a microSD card.
- Hook up the Jetson Nano Developer kit.
- Insert the microSD card into the Jetson Nano module.
- Power up the Jetson Nano Developer kit.
- Follow the installation prompts.
Let’s explain a bit of the procedure in more detail.
Setting up the microSD Card
The first step in setting up the Jetson Nano Developer Kit is the obtain the software image.
You can get the image from the NVIDIA website. It is a very large download (about 6 GB) so be prepared to wait a while for the download to complete.
Once you have the image file downloaded you will need to burn a microSD card with it.
You’ll need a microSD card that is at least 16 GB, preferably 32 GB or larger. Make sure that it is a good quality Class 10 card, as the performance of your developer kit will depend upon it to a degree.
I’m using 64 and 128 GB cards in my experiments.
You’ll also need an SD burner. If you don’t have one I would recommend Etcher, it’s free and available for Windows, Mac, and Linux.
Because of the size of the image it will take a while to burn and verify.
Once it is burned insert the card into the Jetson Nano module, with the contacts of the microSD card facing up towards the module board.
Hooking up the Jetson Nano
You will need the following equipment to get your Jetson Nano Developer Kit hooked up:
- A USB Keyboard
- A USB Mouse
- An HDMI or DisplayPort video monitor and cable.
- A 5-volt micro USB power supply capable of at least 2.5 amperes.
- An Ethernet connection with a CAT-6 cable.
The critical component here is the power supply, it needs to be capable of a full 2.5 amperes. Many phone chargers are not capable of this amount of current. Don’t plug in the power supply until you are ready to start.
Once everything s hooked up you can plug in the power supply. A green LED is the only indicator you’ll get on the Jetson Nano carrier board.
After a brief delay, the NVIDIA logo will display on the monitor and the installation will start.
The installation takes about 15 minutes and most of it is file copying. Eventually, a Ubuntu Linux screen will display and you’ll need to fill in information about your language, location, and user credentials.
After more file copying and a reboot you will arrive at the Ubuntu Linux 18.04 desktop.
NVIDIA has already added a few icons to the desktop for the Chromium web browser and for some NVIDIA links.
This completes your software installation on the NVIDIA Jetson Nano Developer Kit.
Testing the Nano
Once you have the Jetson Nano up and running you’ll undoubtedly want to give it a test drive. There are many ways to do that.
Exploring the operating system, working with the web browser and perhaps watching a few HD videos is a good way to get a general feel for the power of the Jetson Nano as a small computer. In many ways this would make an ideal platform to run applications like Kodi or Plex to create a super multimedia machine.
But you probably want to see some of the AI capabilities of your new toy, after all, that is why we purchased it. NVIDIA has a number of resources to get you started.
Hello AI World
Hello AI World is a selection of preconfigured deep learning inference demos. You can run demos for real-time image classification and object detection using either images or a video camera.
The next time we work with the Jetson I’ll be going through Hello AI World in detail, as it is an excellent launching point for your Artificial Intelligence development adventures.
CUDA Sample Program Setup
CUDA is a parallel computing platform and programming model which was developed by NVIDIA for use with its GPUs. It allows applications to make use of the many cores in the GPU, the GPU on the Jetson Nano module has 128 cores.
This means that the code-intensive parts of CUDA applications can run in parallel on 128 different cores.
In order to test out the NVIDIA Jetson Nano Developer Kit using CUDA you can run some CUDA Demos. But before you do, you’ll need to build them first.
Follow these instructions to build the CUDA sample programs. Note that this procedure will take more than two hours, however, you only need to do it once.
- Open up the Terminal. You can do this by going to the Search box in the upper left corner and typing “terminal”.
- Type the next two lines of code, give your password for “sudo” when prompted:
sudo /usr/local/cuda/bin/cuda-install-samples-10.0.sh ~
- Now type the following to build the CUDA samples:
- The build will take two to three hours. Keep your hand off the heatsink as it gets very warm while the system is building! Note that the build will appear to stop several times, this is normal and it isn’t really stopped.
- When the build has finished you will be back at the command prompt.
- Change into the directory that has the sample code:
- You can run any of the demos by proceeding the demo name with “./ “
- You can view the demo names by typing ls
- Try ./matrixMul for a demo that just does a math benchmark
- Tyr ./oceanFFT for the Ocean Fast Fourier Transform demo. You can manipulate it with your mouse.
The CUDA samples will give you an idea of the power of parallel processing on the NVIDIA Jetson Nano.
Here are a few screenshots of some demos I ran on my Nano.
This is the Ocean FFT demo. It simulates the waves on an ocean,. You can move it in 3D and zoom in using the mouse. You can also show or hide the gridlines.
This the Smoke Particles sample. It starts off as a square cloud of smoke that disperses, with a stationary light source behind it. You can move around in 3D and observe the smoke and the shadow that it creates.
This is Random Fog, a 3D circle of ‘fog”. Each point in the fog is calculated and you can zoom in and move around using the keyboard.
The NVIDIA Jetson Nano Developer Kit brings the power of an AI development platform to folks like us who could not have afforded to experiment with this cutting edge technology. At 99 US dollars, it is less than the price of a high-end graphics card for performing AI experiments on a desktop computer.
I’ll be continuing with my work with the Jetson Nano. I intend to use it for a number of projects and also in my DB1 Robot. Of course, I’ll keep you posted with more videos and articles.
Until then I suggest that you pick up your own NVIDIA Jetson Nano Developer Kit and start playing with it yourself. It’s an excellent low-cost introduction to the world of machine learning.
NVIDIA Jetson Nano Developer Kit – The main page from NVIDIA.
microSD Card Image – Image with Ubuntu Linux 18.04 and NVIDIA JetPack SDK (Large Download).
NVIDIA Jetson Nano Getting Started – Setup instructions from NVIDIA.
Etcher – A free SD and microSD card burner that works with any operating system.
Jetson Nano Wiki – A wiki for the NVIDIA Jetson Nano.
NVIDIA Developers Blog – Article introducing the Jetson Nano Developer Kit.