While our usual focus concerning Nvidia is on their consumer graphics cards, that’s really only a fraction of what Team Green is all about. A huge part of their business is in AI and machine learning, and they offer plenty of solutions for “big data” for the enterprise and academic markets. Pricing for those high-end units is, to put it gently, prohibitive for the machine learning hobbyist, or the AI-curious.
Nvidia’s Jetson series of development kits are probably within range for startups or dedicated enthusiasts, but until somewhat recently, it was fairly difficult to obtain a device capable of any meaningful AI functionality without committing several hundred dollars. With the introduction of the $99 Jetson Nano Dev Kit, that situation has changed drastically.
Anyone familiar with single board computers (SBC) should feel right at home with the Nano. After all, Nanos, Raspberry Pis and even Arduinos are fundamentally the same thing: A compact, low voltage System on Chip (SoC) designed to carry out programmed instructions. These types of microcomputers are great for single-purpose computing, or for a handful of tasks with relatively low hardware requirements. And it’s probably fair to say that the Nano will play an important part in the next stage of evolution for the Maker community.
AI in the Palm of Your Hand
Nvidia has been at the tip of the spear in developing hardware for AI and artificial neural networks, and they’ve scaled down some of that tech onto a really, really tiny piece of kit, all things considered. See, the Nano itself is just the module below that looks like a souped-up version of laptop RAM. The other piece of PCB, the layer with ports and headers soldered on, is just the development board, which exists to expose all of the Nano’s inputs and outputs for testing and prototyping.
The naked Nano.
On that little chip is a 128 Core GPU using Nvidia’s Maxwell architecture, capable of 472GFLOPS. (Not to mention 4GB of RAM and a quad-core ARM A57 CPU.) FLOPS (or FLoating point OPerations per Second) are a measurement computational power of a processor, and four-hundred seventy two billion of them is pretty good for a computer smaller than your cell phone. If you’re wondering what GPUs have to do with AI, well, the answer really isn’t that simple, but let’s try and explain it anyway:
GPUs, unsurprisingly, have processor cores and that are fairly specialized for crunching graphics data, but they typically have a large number of such cores. A long time ago, someone very, very clever at Nvidia figured out that you could take pretty much any type of data, and with the right algorithms (and probably some amount of raw sorcery), make that data look like graphics data to the GPU, so that it could crunch that data efficiently enough to be useful. Thus the concept of General Purpose computing on Graphics Processing Units was born. (GPGPU for short, mercifully.)
If you’ve been following along, by now you’ll have realized this includes AI algorithms. This means that, essentially, Skynet will inevitably be a thing because you just had to have a video card that could run Crysis on Ultra settings.
Cool Things to Do With Your Nano
We’ve established that the Nano has plenty of power in its diminutive package, but what does one actually do with all of that artificial brain power?
Well, the easiest thing is just to use your Nano as a basic PC. Most other SBCs either have no GUI and can only execute a pre-flashed program, or have a pretty basic, low-resolution GUI. Nano, on the other hand, runs pretty much full Ubuntu Linux, with the exception of the kernel being compiled for the ARM processor, and some extra libraries Nvidia decided were important to have on their install image.
Since the kernel is different than x64 or even x86 Linux, many programs don’t work yet. (I really wanted to try and run Kerbal Space Program on it.) Being Linux, I’m sure someone suitably crafty will eventually recompile all the essential programs once Nano gets more widely adopted. It’s still a very light, portable computer (especially if you add an M.2 WiFi module) and at the very least you can browse Chrome on it.
Really though, Nano was meant for more than just being your desktop PC. All those GPU cores are meant for fairly specific processes, after all. Jupyter seems to work, as do other popular machine learning platforms, like TensorFlow and TensorRT. So you can certainly use a Nano as a static number crunching machine.
However, probably the coolest thing to do is make a robot, because that’s AI too. The kit we’ve linked says it supports Arduino and RaspberryPi. But in reality, both RPi and Nano can compile and run Python code, and ultimately, GPIO pins are GPIO pins.You can add cameras to your robot, and use its Nano brain for machine vision. Wire in any sensor you can imagine to make your Nano even smarter. One you get the hang of some coding and some electronics, the limit is pretty much your own imagination.
One final note on cooling. Nano modules come with a heat sink for passive cooling, which is sufficient under most circumstances. However, if you want to get the most out of your nano, it makes sense to keep it cool. That same heatsink has fittings for a 40mm fan, and the board has a 4 pin PWM fan header. Get yourself a quality Noctua fan, and never worry about heat crippling your Nano.
The Future of IoT
Single Board Computers for makers and hackers are more widely available than ever, and it’s time to start thinking about the next step. With AI-capable microcomputers like Nvidia’s Jetson Nano, you can play with the cutting edge of machine learning in your living room. Much of this movement is open source right now, and while no one is going to say that any of this stuff is easy to master, it’s easy to get to get started with if you’re curious. With the affordability of the Jetson Nano, there’s never been a better time.