The Raspberry Pi is the single-board computer of choice for makers, but AI is not its strong suit. Nvidia’s new $99 Jetson Nano Developer Kit is designed to give everyone from hobbyists to programmers a chance to play with deep learning and neural networks for an affordable price.
Nvidia has been producing its Jetson line of AI computers for several years, but they are priced out of reach of most consumers and aren’t meant to be used in maker projects. Like the Raspberry Pi, the Jetson Nano fits a full suite of ports and 40 GPIO pins on a relatively small motherboard that you can juice with a standard 2.5-amp micro USB power adapter.
I had the chance to spend a couple of days playing with the Jetson Nano and running some AI demos on it. The platform clearly has the potential to be an interesting part of a maker’s toolkit for specialized use cases, but the lack of on-board Wi-Fi really holds it back. And, even if it had wireless connectivity, there’s no way it’s going to compete directly with the Raspberry Pi.
Powerful Specs, But Where’s the Wireless?
Much more performant than a Raspberry Pi and designed specifically for AI applications, the Jetson Nano is powered by a 1.4-GHz quad-core ARM A57 CPU, 128-core Nvidia Maxwell GPU and 4 GB of RAM. It has four USB type-A ports, including one that is USB 3.0, both HDMI and DisplayPort out for video and a gigabit Ethernet connector. There’s an onboard camera slot, though you can also connect cameras via USB.
|Jetson Nano Dev Kit||Raspberry Pi 3B+|
|CPU||64-bit Quad-core ARM A57 (1.43 GHz)||1.4 GHz 64-bit quad-core ARM Cortex-A53|
|GPU||128-Core Nvidia Maxwell||Broadcom VideoCore IV|
|RAM||4GB DDR4||1GB DDR2|
|Connectivity||Ethernet 10/100/1000||802.11ac Wi-Fi, Bluetooth LE 4.1, Ethernet (max 300 Mbps)|
|Ports||3x USB 2.0, 1x USB 3.0,|
HDMI, DisplayPort, Camera Connector, M.2
|4x USB 2.0, HDMI, 3.5mm audio, Camera Connector|
|Pins||40-Pin GPIO||40-Pin GPIO|
A micro USB port connects to power, but there’s also a barrel connector you can use with an optional high-power supply that provides 4 amps of juice for more intensive tasks. The CPU comes with a heatsink on top of it, but you can attach an optional fan on top of the sink if you’re going to be performing processor-intensive tasks that require more cooling.
As with Raspberry Pi, the operating system and software is stored on a removable microSD card. Also, like the Pi, the Jetson Nano has 40 GPIO (general input / output) pins which you can use to attach to lights, motors and sensors. Those pins are table stakes for the maker community because you really need them to build robots and other IoT devices.
Unfortunately, the Jetson Nano is missing something else which is now table stakes for most makers: onboard wireless connectivity. Every current-gen Raspberry Pi, except for the $5 Raspberry Pi Zero, comes with built-in Wi-Fi and Bluetooth. But to use the Jetson Nano, you have to live with one of three unpleasant connectivity options: be chained to an Ethernet connection, only write programs that work offline and require no Bluetooth or attach a third-party USB Wi-Fi / Bluetooth dongle.
Attaching a third-party Wi-Fi dongle isn’t as easy as you might think. You can use either a USB dongle or an M.2 Wi-Fi card that lives in the M.2 slot that’s buried beneath the CPU and GPU (more on that later). Either way, the version of Ubuntu 18.04 that the Jetson Nano uses does not come with built-in drivers for Wi-Fi adapters and, according to all the support documentation I read, the only way to get them is to compile your own.
In the office, we had a TP-Link Archer AC600 T2UH USB Wi-Fi adapter and I spent two to three hours hunting down instructions on how to compile its driver for Jetson and trying different methods before I gave up and decided to stick with Ethernet. There may be other dongles that are easy to find or compile drivers for -- Nvidia recommends the $10 Edimax-7811UN -- but you shouldn’t have to go through this kind of hassle just to connect to the Internet, let alone pair with a Bluetooth keyboard. When the $10 Raspberry Pi Zero W has built-in Wi-Fi / Bluetooth that just work out of the box, it’s hard to justify Nvidia’s decision to leave it out of a computer that costs 10 times as much.
Computer on SODIMM Card
Though our review unit came put together, it’s easy to see that the CPU and GPU are actually on a separate board that plugs into a 260-pin SODIMM slot on the main PCB that houses the ports and connectors. Considering that Nvidia also makes a standalone Jetson Nano compute unit, which costs $129 and has 16GB of on-board storage but no ports, it makes sense that the developer kits’ processor would also be on an add-in board. By the way, if you want the $129 board, Nvidia says that you’ll need to order 1,000 or more units to get it at that price. So, unless you’re building Jetson Nano into a mass-produced product, the developer kit is your only choice.
Size and Weight
The Jetson Nano Developer kit board is pretty small, but noticeably much larger than the largest Raspberry Pi, the Pi 3B+. Obviously, it needs the added space, particularly because of the heat sink and the SODIMM slot, but when you’re planning your project, you’ll need to accommodate a board that’s 3.8 x 3 inches (95.3 x 76.2 mm) and weighs 4.8 ounces (136 grams) while the Pi 3B+ is a mere 3.4 x 2.3 inches (87 × 58.5 mm) and weights just 1.8 ounces (49.7 grams)
The official operating system for the Jetson Nano and other Jetson boards is called Linux4Tegra, which is actually a version of Ubuntu 18.04 that’s designed to run on Nvidia’s hardware. The look and feel of the desktop are the same as on standard Ubuntu Linux, and there’s a huge ecosystem of Linux apps, from development software to games that are available from the bundled “Software” app, which is a kind of app store.
Perhaps not surprisingly, the AI software and demos that Nvidia recommends in its documentation aren’t in a store and need to be downloaded, compiled and invoked from the command line. Obviously, the whole process would be easier for beginners if the software was all preloaded on Linux4Tegra, but using the command line to download and install programs is a typical part of the Linux development experience.
AI Experience: Speedy But Sometimes Odd Results
Jetson Nano’s real raison d’etre is its ability to perform AI workloads such as object identification, motion tracking and video smoothing. And, based on a deep vision demo / tutorial that Nvidia provided, it appears to work quickly, though the quality of the results depends more on the software than the hardware.
I first tried the imagenet-console program ,which takes image files and tries to identify the content within them. When I tried it with sample JPGs that Nvidia provided, the program worked really well, correctly identifying an orange and a black bear. However, when I fed it some images I shot, the results were unintentionally hilarious. A picture of my son holding a Lego robot was labeled as a syringe, a set of balloons was marked as Christmas stockings and a photo of Nvidia CEO Jensen Huang was marked as a “suit, suit of clothes.” The last one wasn’t completely off the mark as he was wearing clothes in the photo, but I don’t agree that a leather jacket is a “suit.”
The app fared a little better with some images, identifying a picture with an open cardboard box in the background as a “carton” and a picture of my son using the Kano Computer Kit, which is not a laptop but looks a bit like one, as a “laptop computer.” To be fair, this app used an offline library of 1,000 object types so a more extensive dataset might yield better results.
I also used the imagenet-camera, which is the same as imagenet-console, except that it uses a real-time feed of video from a webcam. With Logitech webcams attached -- I tested with both the C920 and C930e -- the identification results were even more inaccurate than with they had been with still images.
When I sat in front of the webcam, it identified me as a “shower cap” or “bathing cap,” presumably because of my bald head. A friend was variously mislabeled as either a punching bag, a cowboy hat or both and anyone with a button or logo on their shirt was labeled as a “military uniform.” However, when I held a photo of an orange (on a phone screen) in front of the camera, it identified the fruit correctly.
I was more impressed with the results I got from the VisionWorks Feature Tracking, Motion Estimation and Video Stabilization demos. The Feature Tracking demo processes a video of cars traveling over the Golden Gate Bridge and puts red and green marks over fine details like the license plates on the cars, presumably to show it can track those objects as they move.
The Motion Estimation demo uses a clip of people walking down a sidewalk and tracks them as they cross the field of view. And the Video Stabilization demo shows what a jumpy movie looks like before and after applying stabilization techniques.
As part of our press kit, Nvidia gave us a list of test results it achieved on various AI benchmarks when comparing the Jetson Nano to a Raspberry Pi 3 with an Intel Neural Compute Stick attached and to Google’s Coral Board with Edge TPU. We did not have time to verify these numbers on the Jetson Nano nor did we have a Coral Board handy to do the necessary competitive testing. However, at least when comparing to a Raspberry Pi, it’s easy to believe that the Jetson Nano is much faster, particularly at AI tasks.
Benchmark Results: Image Courtesy of Nvidia
The Jetson Nano has a much more powerful processor than the Raspberry Pi and the Coral Board with Edge TPU, both of which have Arm Cortex A53-based CPUs, while the Nano’s uses the more advanced Cortex A57 platform. The Nano also has 4GB of RAM as compared to just 1GB on its competitors. Even if you’re not running AI applications and you just want to run Linux applications, you’ll get more oomph from the Nvidia’s computer.
The Jetson Nano Developer Kit provides an affordable, yet powerful way to start developing AI applications and to deploying them to maker projects. In addition to its demos, Nvidia provides some very-detailed tutorials to help you create your own unique AI apps, which I look forward to trying in the future.
However, for most non-AI maker projects, the Raspberry Pi remains the best choice. At $99, the Jetson Nano costs nearly three times as much as the Raspberry Pi 3B+, it’s much larger and it lacks built-in Wi-Fi / Bluetooth. It will also be tough for Nvidia or its fans to match the enormous level of community support that Raspberry Pi has or to replicate the giant ecosystem of accessories, books and school lesson plans behind it.
But, for AI developers who are just getting started or hobbyists who want to make projects that rely on inference, the Jetson Nano is a nice step forward.