The eMMC on the Jetson has a capacity of 16GB, however some instructions or boards default to only using 8GB of the drive ([http://elinux.org/Talk:Jetson_TK1#eMMC_8Gb.3F_860 or 12GB, see discussion]). If you require more disk space in your rootfs such as for installing toolkits or compiling large projects, you can flash the Jetson (from a Linux desktop) to have a larger filesystem (note that this will erase all data on the Jetson TK1, and it takes roughly 1 hour to flash the whole eMMC!):

The eMMC on the Jetson has a capacity of 16GB, however some instructions or boards default to only using 8GB of the drive ([http://elinux.org/Talk:Jetson_TK1#eMMC_8Gb.3F_860 or 12GB, see discussion]). If you require more disk space in your rootfs such as for installing toolkits or compiling large projects, you can flash the Jetson (from a Linux desktop) to have a larger filesystem (note that this will erase all data on the Jetson TK1, and it takes roughly 1 hour to flash the whole eMMC!):

The maximum value of the <code>flash.sh -S</code> flag that works successfully is 14GiB. Greater values (like 16GiB) are beyond the capacity of the eMMC when the other system-required partitions are included.

+

The maximum value of the <code>flash.sh -S</code> flag that works successfully is 14580MiB. Greater values (like 16GiB) are beyond the capacity of the eMMC when the other system-required partitions are included.

About this site

This is the official Wiki for embedded Tegra & the Jetson TK1 board, maintained by both the community and NVIDIA.

The other embedded Tegra community sites with official NVIDIA support are:

The forum for discussing embedded Tegra & Jetson TK1 issues with the community & NVIDIA.

The blog to stay updated with the latest news & plans for embedded Tegra & Jetson TK1 from NVIDIA.

About Tegra K1

Tegra K1 is the world's first chip to have the same advanced features & architecture as a modern desktop GPU while still using the low power draw of a mobile chip! The Jetson TK1 board therefore allows embedded devices to use the exact same CUDA code that would also run on a desktop GPU (used by over 100,000 developers), with similar levels of GPU-accelerated performance as a desktop!

About Jetson TK1

Jetson TK1 is NVIDIA's embedded Linux development platform featuring a Tegra K1 SOC (CPU+GPU+ISP in a single chip), selling for $192 USD ($1 per CUDA core!). Jetson TK1 comes pre-installed with Linux4Tegra OS (basically Ubuntu 14.04 with pre-configured drivers). There is also some official support for running other distributions using the mainline kernel, discussed further in the Distributions and Mainline kernel sections below.

Besides the quad-core 2.3GHz ARM Cortex-A15 CPU and the revolutionary Tegra K1 GPU, the Jetson TK1 board includes similar features as a Raspberry Pi but also some PC-oriented features such as SATA, mini-PCIe and a fan to allow continuous operation under heavy workloads:

Buying Guide

Where can I get one and for how much?

Visit the NVIDIA store then choose a distributor in USA, or click on "International Orders" to see other countries it is available from including UK, Germany, France, Italy, Japan, Russia, China, Singapore, and Australia.

Jetson TK1 costs $192 ($1 per CUDA core!) in USA.

The package includes a power supply (with a detachable US mains cord), a USB micro-B cable for connecting it to a PC, and usually a USB micro-B to female USB-A adapter allowing you to have 2 regular USB ports.

Basic setup steps to access the board and access internet

Whether you want to sew your embedded Tegra into a backpack or put it in a robot or simply use it as an ultra powerful media center, the first thing you should do with a new Jetson TK1 board is attach it to a HDMI monitor & keyboard & mouse to make sure it works and get familiar with it for a few minutes. The device can be accessed in 2 possible ways, depending on whether you want to plug a keyboard & mouse & monitor directly into the Jetson TK1 board or you want to plug an Ethernet cable between your device and a PC or laptop or router and access it through a network:

Direct access to a Jetson board using its own keyboard & mouse & monitor

The Jetson TK1 Quick Start Guide (included as a booklet with your Jetson TK1) shows how to use the Jetson TK1 board as a mini standalone computer. Basically, you plug in a HDMI monitor or TV, plug a keyboard into the USB3.0 port, plug a mouse into the included micro-B to female USB adapter and plug that into the micro-B USB2.0 port on the board. Then plug the 12V power supply in, press the small POWER button, then watch it boot up into Linux4Tegra (Ubuntu 14.04 with some drivers pre-configured). When it asks for the password for user "ubuntu", just type "ubuntu" to log in. If you have an Ethernet router then simply plug an Ethernet cable from the board into your router (or plug in a USB Wifi dongle) to have internet access, and you are ready.

To access the board remotely through a local network from a PC or laptop, follow the Remote Access instructions so you can control the device from the keyboard & mouse & monitor on your PC or laptop and share your desktop's Wifi or Ethernet internet access to the attached device.

Recommended first steps now that your board has internet access

Open a command-line terminal to perform some initial operations. If you are using the Jetson TK1's graphical environment then click on the top-left icon in Ubuntu Unity and type "terminal" to open a command shell, or if you have remote access to the device through a network then open an SSH command shell into your device from your desktop such as by running "ssh ubuntu@tegra-ubuntu". Now you are ready for initial configuration.

Add the Universe package repositories, since you will often need packages from Universe for code development:

sudo apt-add-repository universe
sudo apt-get update

If you will use the shell command-line a lot

Install "bash-completion" (it allows you to hit the "Tab" key to auto-complete your shell commands) and "command-not-found" (it shows which package you probably need to install if you run an unavailable command). These 2 tools are extremely useful when using the commandline, but were not installed by default in Ubuntu 14.04. Simply run this:

sudo apt-get install bash-completion command-not-found
exit

Note: now you need to log back in for it to start using bash-completion and command-not-found.

You probably should also change the shell prompt (by adjusting "PS1" in the ".bashrc" file in your home directory) to be more useful, such as getting the shell prompt to have a different color than regular commands, and make it obvious if a command returned with an error. There are thousands of custom .bashrc configurations on the web, including Shervin's that provides a different colored shell prompt depending on whether a command was succesful or returned an error.

If you need more disk space on the eMMC

The eMMC on the Jetson has a capacity of 16GB, however some instructions or boards default to only using 8GB of the drive (or 12GB, see discussion). If you require more disk space in your rootfs such as for installing toolkits or compiling large projects, you can flash the Jetson (from a Linux desktop) to have a larger filesystem (note that this will erase all data on the Jetson TK1, and it takes roughly 1 hour to flash the whole eMMC!):

The maximum value of the flash.sh -S flag that works successfully is 14580MiB. Greater values (like 16GiB) are beyond the capacity of the eMMC when the other system-required partitions are included.

Tutorials for developing with Jetson TK1

The following are tutorial projects for hardware and/or software development. They show the easiest way to do a certain task, while the Reference Information section below has more detailed pages. If you have something useful to contribute about Jetson TK1 or embedded Tegra then please do so.

Performance and Power Topics

Performance: How to maximize or minimize CPU & GPU clocks for different performance & power draw.

Power Management: Electrical power related issues, such as powering the board from a battery or seeing how much power is drawn.

Thermal: How to replace the fan with a heat-spreader or heatsink, and measure the board's temperatures.

Graphics Performance: Discusses graphics performance of the Tegra TK1 on the board, including comparison with competing solutions.

Computer Vision Performance & Power Draw: Describes the different Tegra hardware optimizations in OpenCV, and shows power & perf measurements for many computer vision applications in OpenCV, CUDA and VisionWorks.

MyzharBot by Walter Lucetti in Italy is a crawler robot made to study Navigation algorithms based on Computer Vision, Machine Learning and 3D Sensors. The project is open source and open hardware and has its own blog where you can find every information to replicate it.

Gentoo Linux: run Gentoo directly on an SD-card without modifying the contents of the eMMC storage.

Other embedded Tegra boards created by NVIDIA

Jetson TK1 was the first embedded board that NVIDIA created for the general public, but there have also been some other Tegra boards, including the automotive-grade Tegra-K1 based Visual Compute Module and the Jetson Pro development platform, both for the automotive industry (requires an NDA and large sales figures, etc).

Other SOCs created by NVIDIA

SOCs: NVIDIA made several previous generations of Tegra SOCs for the mobile, automotive and MP3 player industries.

Other links

Resources is a list of links to Tegra-related documentation and code outside of this wiki, such as TRMs and mainline kernel links.