Computational technology has exploded in the last decade and Moore's law has virtually saturated. The advent of system-on-chip (SoC) based pocket-sized computers like Beaglebone and Raspberry Pi has made computational platforms accessible for a larger audience.
Meanwhile, artificial intelligence has taken the world by storm and brought edge computing technology to the forefront. Knowing this, companies have attempted to provide AI-compatible SoC platforms that entice hobbyists, makers, developers, and product-based companies alike.
Hardware Development for AI
Graphics processing units (GPUs) have been used for a long time, but only recently for deep learning and artificial intelligence applications. Tensor processing units (TPUs) and visual processing units (VPUs) are touted as the advanced hardware platforms designed for specific AI-inspired applications involving deep-learning and computer vision.
The industry is flooded with USB accelerator products like the Intel Neural Stick and Coral Edge Accelerator which are add-ons that enhance AI capabilities of existing boards.
The Jetson Nano
The recently released Jetson Nano system-on-module (SoM) is a low power platform with an onboard CPU and a 128-core Maxwell GPU as the highlights.
The Jetson Nano developer kit includes the Jetson Nano module with a carrier board that houses the module, different ports, connectors, and accessories.
Jetson Nano Vs. Other Dev Boards
The table below presents a comparison of the technical specifications of the Jetson Nano with other edge computing platforms.
Raspberry Pi 3B+
4 GB DDR4
16 GB DDR4
8 GB DDR4
1 GB DDR2
64-bit Quad-core ARM Cortex A57
32-bit Dual-core ARM Cortex A15
64-bit Octa-core ARM V8.2 CPU
64-bit Quad-core ARM Cortex A57 + 64-bit Dual-core Nvidia Denver2
64-bit Quad-core ARM Cortex A53
128 Nvidia Maxwell Core GPU
Dual-core PowerVR SGX544 3D GPU
512-core Volta GPU with 64 Tensor Cores
256 Nvidia Pascal Cores GPU
Broadcom VideoCore IV GPU
4 Embedded Vision Engines
7-way VLIW Vision Processor & 2 NVDLA Engines
Dual Image Signal Processors
Bluetooth, Wi-Fi, Ethernet
Bluetooth, Wi-Fi, Ethernet
Bluetooth, Wi-Fi, Ethernet
While there are several similarly priced boards, this comparison focuses on the platforms that have the most traction and community backing.
The above-mentioned edge computing AI platforms range from $35 - $700 USD and there are many more. Compared to a Raspberry Pi, Jetson Nano has better specifications for all components, except the support for Bluetooth and Wi-Fi.
Jetson Nano Software and OS
Due to sufficient support suitable for exploration and introduction to parallel programming, actuator interface, Linux-based programming, deep learning, and artificial intelligence application development, the Jetson Nano developer kit is definitely suitable for a maker to get started with exciting advanced projects in robotics, computer vision, and IoT. The Nvidia community also provides a platform to share various Jetson projects from the community.
Nvidia provides the JetPack SDK which is a collection of libraries, software, and OS options optimized for the Jetson boards.
The Linux4Tegra OS is a GNU Linux special distribution by Nvidia for their Tegra series processors used in the Jetson boards.
CUDA for GPU acceleration, TensorRT, cuDNN, and OpenCV are few of the widely used packages pre-installed on the OS image. The Nano developer kit has a compute power of 472 GFLOPS of FP16 for standard AI and deep learning applications.
Nvidia provides benchmark results for existing DL models like YOLO, Resnet-50, OpenPose, and VGG-19 among others and the Jetson Nano board stands out fairly well. Developers love parallel programming for enhanced performance and the CUDA algorithms by Nvidia further amplify the digital signal processing capabilities as well.
For robotics applications, the Nvidia provides Isaac SDK, an AI-accelerated robotics ecosystem with support for robot control, planning, kinematics, visual odometry, simulation, SLAM, and more.
How to Set Up the Jetson Nano Developer Kit
The Jetson Nano developer kit comes with four USB 3.0 ports for peripherals and sensors, an HDMI display port, a power barrel, a gigabit ethernet port, a CSI camera port, serial port header, and a DP display port. The kit’s network abilities are limited to Ethernet, but Wi-Fi support can be added using a USB Wi-Fi dongle or an adapter.
The developer kit does not come with an integrated storage and needs an additional microSD card and power source to get started. A 32GB card is sufficient but I recommend a 64GB Class 10 SD card for data-intensive DL applications. It can be powered using the MicroUSB port ([email protected]) with the J48 pins disconnected or the DC power jack([email protected]) with the pins connected. For mobile usage (with limited external peripherals), MicroUSB port usage is recommended with an external power bank.
Nvidia provides a disk image (.img) to flash onto the SD card. Once flashed, the SD card can be installed in a rather obscure slot and powered up. After powering up the board, the green power LED should illuminate and the custom version of the Linux 18.04 LTS OS, Linux4Tegra OS boots up.
Jetson Nano Usage and Troubleshooting Tips
- Jetson Nano may not work if used via VGA to HDMI connectors on monitors without native HDMI support.
- A high current (3-4A) power source allows for better performance.
- If the current supply is low, the board can turn off. Switch the Nano board to low power (5W) mode for general use. The option is available on the top-right (MAXN) in the title bar.
- DL applications use a lot of compute resources and the heat sink may not be enough for the heat generated. Consider adding a cooling fan.
- To run the Nano board headless(without the monitor), set up SSH access.
- Use a USB dongle for Wi-Fi to avoid the hassles of unmounting the heat sink.
- The OS comes with Chromium (light-weight open source web-browser from Google) but using multiple browser tabs can consume a lot of RAM, so avoid browsing while running other processes.
What's Next for Jetson Nano?
Nvidia has been rolling out customized versions of several open-source packages for Jetson Nano to best optimize the compute resources. Owing to the computational resources, extensibility, form factor, and the huge community support, the Jetson Nano developer kit is a perfect upgrade from Raspberry Pi, Beaglebone or other SoC platforms. Nvidia also sells independent production-ready Jetson Nano modules for companies transitioning from product prototyping to large-scale manufacturing.
Further articles shall include using CSI camera port with a Raspberry Pi camera to develop some basic computer vision and deep learning applications on the Jetson Nano Developer kit and introduction to CUDA-based parallel programming on the Jetson Nano board using the onboard GPU.