The NVIDIA Jetson ecosystem has grown over the past few years, the Jetson TX2 has been widely adopted for autonomous robotics and drones, the most notable consumer device being the Skydio 2. The Jetson Nano on the other hand represents a reset in NVIDIA’s embedded device portfolio and unrivaled entry-level deep learning compute. More recently, we have a new offering in the NVIDIA Jetson Xavier NX which combines higher performance than the TX2 in the form factor of the Nano. In this article, we are going to give a few hands-on impressions of each.
The Jetson Trio
In this article, we wanted to discuss the NVIDIA Jetson Nano 4GB and some of the features and drawbacks of the smaller platform. We then wanted to get to the larger TX2 platform and discuss what it offers even though it has been out for some time. As a note, STH has more details of the platforms at NVIDIA Jetson TX2 Development Kit: Seven Tips for Getting Started as well as the Nano and NX. Here are the quick specs so you can see what the differences are at a high-level:
Instead of re-hashing what is in the spec table, we wanted to discuss the hands-on impressions of the Nano and TX2 kits which are the lower-end models.
Cost-Optimized NVIDIA Jetson Nano 4GB
At $99 new, the NVIDIA Jetson Nano 4GB comes in at half the cost of even a used Jetson TX2. If you need to stay under $100, then it makes a lot of sense, but you do take a major cut to get to that price point. On paper, the Nano has 50% fewer Arm cores, half the GPU cores, half the RAM, and half the eMMC storage capacity. While brutally cut down, the Nano enters the picture with the knowledge of how the TX2 has been used in the field and the development board is much closer to what is used with a TX2 in a field-deployed system. The ecosystem has also been revamped and is much easier to set up as well as being more compact.
In terms of compactness of the development kit, the Jetson TX2 development board w/ a TX2 module (new $400, used $200) is a micro ITX form factor and is quite flexible on power input allowing 5.5V to 19.6V input from its barrel jack. In contrast, the Nano is 100x80mm and can only take in 5V but you can do that through a micro USB port or a barrel jack. An example of cost savings here, the $99 Nano 4GB kit does not include a power source.
If you are in the market for a Jetson Nano 4GB you should be aware that not all are the same. I have the earlier A02 baseboard and not the newer B02. NVIDIA eventually made some revisions to this PCB. Examples are that the A02 has one instead of two CSI-2 camera ports and has an ugly SMD fix for a USB issue. Most of my complaints with the Nano are fixed in the B02 revision so if you get a Nano be sure to get the current revision.
The new B02 baseboard is also compatible with the NX and makes the Nano an entry path future of embedded development. Setup is a breeze. NVIDIA has made setup similar to the setup of a Raspberry Pi. You simply take the latest Jetpack 4.4 .img program a microSD with your favorite tool. I use Balena Etcher. Insert the SD card into the compute card and power it up. This is very similar to how one would download and burn a Raspbian image for a Raspberry Pi.
An important note here: If you do not wish to use the device in a headless manner you must have a display plugged in at first boot. If you do so the setup will flash the eMMC and go through the usual Linux user setup. This is a handy way that NVIDIA has set up the installation to both works as a user-focused environment as well as a tool that can be used for edge AI and autonomous robots.
NVIDIA Jetson TX2: The Elder
Unlike the easy Raspberry Pi-like setup of the Nano, the NVIDIA Jetson TX2 is a bit cantankerous to set up, it requires you to compile an image for it on an Ubuntu 16.04 or 18.04 system and then flash that image across the USB 2.0 port. This setup is picky about the quality of USB cables as well as failing for random reasons. Again, see NVIDIA Jetson TX2 Development Kit: Seven Tips for Getting Started. The mere fact that STH had that type of guide years ago shows just how much better the Nano’s setup environment is.
While more painful to setup the Jetson TX2 represents a very capable Arm development environment and can be housed in a thin ITX case. The 32GB eMMC is meager for a Linux workstation but it can be expanded with a SATA drive or even an NVMe SSD with a $7 adapter card. It also comes with built-in WiFi. That is absolutely a big miss for the Nano because the Jetson Nano does not have built-in WiFi. For those seeking an inexpensive Arm development box that also wants more power than a Raspberry Pi or RockPro, the Jetson TX2 is a solid option. You will have to put in a bit more work, but you get a much larger and more robust platform than with the Nano.
While the NVIDIA Jetson Nano and Jetson TX2 are good options, if you see on the spec sheet above, there is a Jetson NX that sits above both.
A Step Above: The NVIDIA Jetson Xavier NX
One of the more recent launches is the NVIDIA Jetson Xavier NX. This is a solution that adopts the Jetson Nano size and form factor but offers significantly updated performance.
Whereas the Jetson Nano uses the relatively ancient Maxwell GPU architecture, and the Jetson TX2 uses the aging Pascal architecture, the Jetson Xavier NX utilizes Volta which is the generation that NVIDIA added tensor cores to its compute engines. One also gets higher-end Arm cores and 8GB of memory rivaling the top-end Jetson TX2. An area where the Jetson TX2 still has the newer Xavier NX beat is in storage. The Jetson NX only has 8GB eMMC smaller than many other options out there.
Like the Jetson TX2, the Jetson Xavier NX has an active cooler as part of the development kit. For some devices and applications, passive coolers are required so this is something to keep in mind.
The NVIDIA Jetson NX also uses NVIDIA’s newer stack which is important since it is easier to use than the TX2’s legacy software infrastructure.
We also like that there is a M.2 WiFi/ Bluetooth solution (AzureWave AW-CB375NF) and another M.2 slot for a NVMe SSD which adds a lot of the TX2 expansion capabilities to the platform at the Nano size. From a power perspective, this is a very low power device. We can, however, look at devices such as the Lenovo ThinkStation P320 Tiny CE Review we did as part of our Project TinyMiniMicro for those that want to lab a potentially deploy 1L size x86 boxes. Used Lenovo P320 Tinys cost about as much as new Jetson Xavier NX or TX1s. Generally, those are two very different segments, but it shows how there is a lot of competition even from sources you may not immediately think of for small devices.
Taking the Trio for a Spin
Something we wanted to see was whether we could replicate the official performance numbers that NVIDIA provides. Since NVIDIA provides the hardware, software, and tools, we are effectively just validating that we can replicate their stack, rather than our normal breaking new ground in testing.
As a quick aside, jtop is pretty amazing as these are Tegra SoCs nvidia-smi does not work on them. NVIDIA says that their stack runs on Jetson, but this is a good example of where it differs. Still, jtop gives far more information. Here it is highly useful to see what core config you should use based on thread usage.
To verify that everything was running as advertised I installed a few monitoring tools and downloaded the NVIDIA IoT benchmarks.
They perform as advertised, I ran the official benchmarks under 5% variation from the reference results, I did tend to beat reference by a small amount but that is most likely due to cooler ambient conditions. Of note, I can only verify Nano, TX2, and NX performance with the reference results as I have not gotten my hands on an AGX yet. Still, since we effectively replicated NVIDIA’s results, we are going to refer you to the official results. The new Jetson Xavier NX is clearly the performance leader by a wide margin.
Taking a look at three of the four NVIDIA Jetson offerings, one may immediately think that picking one over the other is an easy task. In some ways, it is. The Jetson Nano 4GB is the low-cost option with much older GPU technology and an overall lower-end platform. Its goal is really to hit sub-$100 pricing above any other mandate. Looking at the TX2 we have a mature and robust platform that offers a lot of expansion options. Moving up the stack, the Jetson Xavier NX offers the same small footprint of the Nano, but with a lot more performance.
So why look at the Jetson Nano and TX2 when the NVIDIA Jetson NX clearly dominates in the benchmarks? Embedded lifecycles are slow, the NX is still young and baseboards are just now arriving for it whereas the TX2’s can be had for a bargain, and baseboard options and camera support are very mature.
Leave a comment if you want the NX to have its own piece or just more details on how to set up a jetson and work in the environment.