About this site
This is NVIDIA's official Jetson TK1 & embedded Tegra Wiki. Most of these pages are an open community Wiki, so in other words, NVIDIA maintains this Wiki regularly but even you can modify this Wiki!
NVIDIA's other official embedded Tegra community sites:
- The official forum for discussing Jetson TK1 & embedded Tegra issues with the community & NVIDIA.
- The official blog to stay updated with the latest news & plans for Jetson TK1 & embedded Tegra from NVIDIA. The blog on Google+ is also linked to from Twitter and LinkedIn. Or if you want to be emailed with these anouncements then send an email to TODO.
About Jetson TK1
Jetson TK1 is NVIDIA's embedded Linux development platform featuring a Tegra K1 SOC, the 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!
Jetson TK1 comes with Linux4Tegra (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 and mini-PCIe:
TODO: (Show a large pic of the Jetson TK1 board with mention of each connector)
- Dimensions: 5" x 5" (127mm x 127mm) board for $192 USD
- Tegra K1 SOC (CPU+GPU+ISP in a single chip, with typical power consumption of roughly 5W)
- GPU: NVIDIA Kepler GPU with 192 SM3.2 CUDA cores (over 300 GFLOPS!)
- CPU: NVIDIA 4-Plus-1 2.32GHz ARM quad-core Cortex-A15 CPU
- DRAM: 2GB DDR3L 933MHz x16 using 64-bit data width
- storage: 16GB fast eMMC 4.51
- ROM: 4MB SPI boot flash
- mini-PCIe: a half-height single-lane PEX slot (such as for 802.11ac 5GHz Gigabit Wifi + Bluetooth BLE, 802.11n Wifi + Bluetooth combo, 128GB SSD, 3G Modem + GPS combo, SATA RAID, USB3.0, Dual Gigabit LAN, 4 x RS232 serial ports, or FireWire or Analog video capture cards)
- SD/MMC card: a full-size slot
- USB 3.0: a full-size Type-A female socket
- USB 2.0: a micro-AB socket (but includes a micro-B to female Type-A adapter to give you a second full-size USB port)
- HDMI: a full-size port
- RS232: a full-size DB9 serial port
- Audio: a ALC5639 Realtek HD Audio codec with Mic in and Line out jacks
- Ethernet: a RTL8111GS Realtek 10/100/1000Base-T Gigabit LAN port
- SATA: a full-size port that supports 2.5" and 3.5" disks, but is not hot-pluggable. (Turn off the power before plugging in disk drives)
- JTAG: a 2x10-pin port for debugging
- Power: a 12V DC barrel power jack, plus a 4-pin PC IDE power connector
- Fan: a 12V 1.3W fan-heatsink (to allow running long durations inside an enclosure)
The following signals are available through the 125-pin expansion port:
- Camera ports: 2 fast CSI camera ports (one 4-lane and one 1-lane)
- LCD port: LVDS / eDP Display Panel
- Touchscreen ports: Touch SPI 1x4 + 1x1 CSI-2
- I2C: 3 ports
- GPIO: 7 x GPIO pins (1.8V). Camera CSI pins can be used for extra GPIO if you don't use both cameras.
Hardware-acceleration APIs supported:
- CUDA 6.0 (SM3.2, roughly the same as desktop SM3.5)
- OpenGL 4.4
- OpenGL ES 3.1
- OpenCV4Tegra (NEON & GLSL & quad-core optimizations)
Where can I get one and for how much?
- Jetson TK1 became publicly available from TODO, and is currently available at the NVIDIA store, and also within USA at Newegg and Micro Center and Europe at Zotac.
- Jetson TK1 costs $192 USD (ie: $1 per CUDA core!).
- It includes a power supply (with a detachable US mains cord), a USB micro-B cable for connecting it to a PC, and a USB micro-B to female USB-A adapter allowing you to have 2 regular USB ports.
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 is attach it to a monitor & keyboard & mouse to make sure it works and get familiar with it for a few minutes. The Jetson TK1 Quick Start Guide (included as a booklet with your Jetson TK1) shows how to do this. 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 (that is basically Ubuntu 14.04 with some drivers pre-configured).
If you plug in an Ethernet cable into the LAN port (or plug in a USB Wifi dongle), you can already start using it as a mini PC with powerful GPU acceleration!
If you want to access your device remotely from your PC (eg: you don't want to unplug yout monitor & keyboard & mouse from your PC or you only have a laptop), you can follow the Remote Access page to view the device's output from your PC and control it from the keyboard & mouse on your PC.
Tutorials for developing with Jetson TK1
The following are tutorial projects for hardware and/or software development, and mention the difficulty level for that project. Since Jetson TK1 is many times faster than other dev boards like Raspberry Pi or BeagleBone Black, embedded Tegra allows more complex projects than what Raspbery Pi or BeagleBone Black would be used for. Anyway, just like most of this Jetson wiki, it is maintained regularly by NVIDIA but anyone can create or edit tutorials too, so if you have something useful to share below about Jetson TK1 or Tegra then please do so :-)
TODO: Put these into a 3-column table, so that Programming and Electronics difficulty levels are the 2 columns on the right-side just showing the number of stars for difficulty level.
- TODO Create a simple program that prints "Hello World!", first by compiling directly on your device and then by cross-compiling from a PC. (Programming: *)
- TODO Grabbing camera frames from a typical USB webcam using OpenCV. (Programming: *)
- TODO Shows how to perform face detection from a USB webcam and display the face using OpenCV. (Programming: *)
- TODO Shows how to perform full body detection from a USB webcam using OpenCV. (Programming: *)
- TODO Control an LED or motor and read an input switch using GPIO. (Programming: *. Electronics: *)
- TODO Turn on an LED whenever a face is detected from your camera. (Programming: *. Electronics: *)
- TODO Build & run some of the CUDA Samples. (Programming: *)
- TODO Power your Jetson TK1 from a battery pack. (Electronics: *)
- TODO Get a wheeled robot to drive towards the nearest person. (Programming: **. Electronics: **)
- TODO Get a 2-legged robot to walk towards the nearest person. (Programming: **. Electronics: **)
- TODO Real-time video stabilization for a robot's onboard camera. (Programming: **)
- TODO Build an autonomous pan-tilt tracking camera, that tracks things as they move around. (Programming: **. Electronics: **)
- TODO Connect an Arduino board to a Jetson TK1 board, with communication between then. (Programming: **. Electronics: **)
Demos of Jetson TK1 projects
The following are descriptions, photos and/or videos of Jetson TK1 projects. Feel free to add your own!
Jetson TK1 Reference Info
- TODO Electrical power & heat related issues, such as powering the board from a battery, replacing the fan with a heatsink, and seeing how much power is used under different conditions.
- TODO Discusses USB cameras and CSI cameras, stereo cameras and Time-Of-Flight 3D depth cameras.
- TODO Comparison of features & benchmark results between Jetson TK1 and other dev boards such as Raspberry Pi, etc.
- The JetsonTK1 Support Page includes the mechanical drawings, Bill of Materials (BOM), electrical circuit schematics, CAD files, Jetson TK1 module spec, Tegra K1 Reference Manual (TRM), etc.
Linux distributions running on Tegra
Jetson TK1 comes preloaded with NVIDIA's Linux4Tegra (L4T) distribution. However it is possible to install other distributions on a Tegra device:
- Linux4Tegra (L4T) distribution (basically Ubuntu 14.04 with pre-configured drivers).
Upstream/mainline OS & kernel system software on Tegra
NVIDIA's Tegra SoCs are well supported by mainline OSS such as Linux and U-Boot. This section contains an index of topics related to running mainline software on Tegra.
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.
NVIDIA also make a far more rugged system designed specifically for the production-grade automotive industry, named the Jetson TK1 Pro. Contact NVIDIA Automotive Sales if you wish to use Tegra K1 SOC in the automotive industry.
Other SOCs created by NVIDIA
SoCs: NVIDIA made several previous generations of Tegra SOCs for the mobile, automotive and MP3 player industries.
Resources is a list of links to Tegra-related documentation and code outside this wiki, such as TRMs and mainline kernel links.