Skip to content

Commit

Permalink
Merge pull request #15 from NVIDIA-AI-IOT/master
Browse files Browse the repository at this point in the history
Merge back
  • Loading branch information
tokk-nv authored Oct 22, 2020
2 parents 790db94 + 6c7fc32 commit d21d158
Show file tree
Hide file tree
Showing 6 changed files with 75 additions and 59 deletions.
17 changes: 14 additions & 3 deletions docs/bill_of_materials.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,19 +50,30 @@ You need a WiFi solution for each JetBot. Select an option and get the parts sp

#### Option 1 (default) - M2 Card + Antennas

This option is a good choice if you're building JetBot with the original Jetson Nano 4GB. It has been widely tested and used for JetBot.

???+ attention

Jetson Nano 2GB does not have a M.2 connector, so this option will not work with it.

| **Part** | **Quantity** | **Cost** | **URL** | **Notes** |
| --- | --: | --: | --- | --- |
| WiFi card | 1 | $18.95 | [Amazon](https://amzn.to/2WKEkum), [NewEgg](https://www.neweggbusiness.com/Product/Product.aspx?Item=9SIV21M85N2699) | M2, Intel Wireless-AC 8265 |
| WiFi antenna | 2 | $5.06 | [Arrow](https://www.arrow.com/en/products/2042811100/molex) | U.FL connectors |

#### Option 2 - USB Dongle

???+ bug
Notice (5/17/2019): We're currently tracking an issue with the Linux driver for the below USB WiFi dongle that may cause connectivity issues. You can find information in [this forum post](https://devtalk.nvidia.com/default/topic/1049303/jetson-nano/jetson-nano-wifi-/post/5329699/#5329699). For now, we recommend using Option 1 listed above. Thank you to those who discovered this issue!
This option is compatible with both the original Jetson Nano (4GB) and Jetson Nano 2GB.

| **Part** | **Quantity** | **Cost** | **URL** | **Notes** |
| --- | --: | --: | --- | --- |
| WiFi Dongle | 1 | $9.99 | [Amazon](https://amzn.com/B003MTTJOY/) | RTL8192U chipset |
| WiFi Dongle - TP-Link Archer T2U Nano | 1 | $17.99 | [Amazon](https://amzn.com/B07PB1X4CN/) | RTL8811AU chipset |
| WiFi Dongle - TP-Link Archer T2U Plus | 1 | $19.99 | [Amazon](https://amzn.com/B07P5PRK7J/) | RTL8811AU chipset |

???+ info
For other possible USB Wi-fi dongles that you can use on Jetson Nano, please check the Suported Components List.

- [Jetson Nano 2GB Developer Kit User Guide - Supported Component List](https://developer.nvidia.com/embedded/learn/jetson-nano-2gb-devkit-user-guide#id-.JetsonNano2GBDeveloperKitUserGuidevbatuu_v1.0-SupportedComponentList)

### Wheels

Expand Down
2 changes: 1 addition & 1 deletion docs/getting_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ To get started with the DIY open-source JetBot, follow these steps.

2. Follow the [hardware setup](hardware_setup.md)

3. Follow the [software setup](software_setup/docker.md)
3. Follow the [software setup](software_setup/sd_card.md)

### Option 2 - Third Party JetBot Kit

Expand Down
12 changes: 12 additions & 0 deletions docs/hardware_setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,10 @@ To build JetBot you'll need the following tools

### Step 6 - Mount WiFi antennas

!!! attention ""

Skip this step if you are using a USB WiFi dongle instead of the M.2 WiFi module

<a href="images/JB3-Assy_06-0.JPG"><img src="images/JB3-Assy_06-0.JPG" style="height:120px"></a>
<a href="images/JB3-Assy_07-1.JPG"><img src="images/JB3-Assy_07-1.JPG" style="height:120px"></a>
<a href="images/JB3-Assy_07-2.JPG"><img src="images/JB3-Assy_07-2.JPG" style="height:120px"></a>
Expand All @@ -119,6 +123,10 @@ To build JetBot you'll need the following tools

### Step 7 - Remove Jetson Nano module from developer kit

!!! attention ""

Skip this step if you are using a USB WiFi dongle instead of the M.2 WiFi module

<a href="images/JB3-Assy_06-1.JPG"><img src="images/JB3-Assy_06-1.JPG" style="height:120px"></a>
<a href="images/JB3-Assy_06-2.JPG"><img src="images/JB3-Assy_06-2.JPG" style="height:120px"></a>
<a href="images/JB3-Assy_06-3.JPG"><img src="images/JB3-Assy_06-3.JPG" style="height:120px"></a>
Expand All @@ -131,6 +139,10 @@ To build JetBot you'll need the following tools

### Step 8 - Attach WiFi module to developer kit

!!! attention ""

Skip this step if you are using a USB WiFi dongle instead of the M.2 WiFi module

<a href="images/JB3-Assy_08-1.JPG"><img src="images/JB3-Assy_08-1.JPG" style="height:120px"></a>
<a href="images/JB3-Assy_08-2.JPG"><img src="images/JB3-Assy_08-2.JPG" style="height:120px"></a>
<a href="images/JB3-Assy_08-3.JPG"><img src="images/JB3-Assy_08-3.JPG" style="height:120px"></a>
Expand Down
1 change: 1 addition & 0 deletions docs/software_setup/docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ You can use your existing Jetson Nano set up (microSD card), as long as you have
For this, we'll assume you've set up your Jetson Nano using the **online Getting Started guide**.

- [Getting Started With Jetson Nano Developer Kit](https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit)
- [Getting Started with Jetson Nano 2GB Developer Kit](https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-2gb-devkit)

## Step 2 - Connect to Wi-Fi

Expand Down
100 changes: 46 additions & 54 deletions docs/software_setup/sd_card.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,94 +3,86 @@
This page details how to set up JetBot using the pre-built JetBot SD card image. You may prefer this option if you are new to Jetson Nano, and do not have an existing SD card configured.


## Step 1 - Flash JetBot image onto SD card
## Step 1 - Download the pre-built JetBot SD card image

1. Download the expandable JetBot SD card image [jetbot_image_v0p4p0.zip](https://drive.google.com/open?id=1G5nw0o3Q6E08xZM99ZfzQAe7-qAXxzHN)
Download the pre-built JetBot SD card image from the table below. Make sure to select the version that matches the Jetson you're using (for example Jetson Nano 2GB).

???+ info
The above image is based on JetPack 4.3. The previous image based on JetPack 4.2 may be found here: [jetbot_image_v0p3p2.zip](https://drive.google.com/open?id=1GF2D814hkViwluZ5SgNKW56cQu_5Ekt5).
### Latest Release

| Platform | JetPack Version | JetBot Version | Download |
|--------|-----------------|----------------|--------|
| Jetson Nano 2GB | 4.4.1 | 0.4.1 | [jetbot-041_nano-2gb-jp441.zip](https://drive.google.com/file/d/1d03TOrQyffxFsv_Nhp-XQ7Q3-nCHbT9a/view) |
| Jetson Nano (4GB) | 4.4.1 | 0.4.1 | [jetbot-041_nano-4gb-jp441.zip](https://drive.google.com/file/d/1yQ5MEiiBxbytCXHFPPBi-5SAxWklhZQA/view) |

### Old releases

| Platform | JetPack Version | JetBot Version | Download |
|--------|-----------------|----------------|--------|
| Jetson Nano (4GB) | 4.3 | 0.4.0 | [jetbot_image_v0p4p0.zip](https://drive.google.com/open?id=1G5nw0o3Q6E08xZM99ZfzQAe7-qAXxzHN) |
| Jetson Nano (4GB) | 4.2 | 0.3.2 | [jetbot_image_v0p3p2.zip](https://drive.google.com/open?id=1GF2D814hkViwluZ5SgNKW56cQu_5Ekt5) |

## Step 2 - Flash JetBot image onto SD card

1. Insert an SD card into your desktop machine

3. Using [Etcher](https://www.balena.io/etcher/), select the image you downloaded above and flash it onto the SD card.

2. Insert an SD card into your desktop machine
3. Using [Etcher](https://www.balena.io/etcher/), select the ``jetbot_image_v0p4p0.zip`` image and flash it onto the SD card
4. Remove the SD card from your desktop machine

## Step 2 - Boot Jetson Nano
## Step 3 - Boot Jetson Nano

1. Insert the SD card into your Jetson Nano (the micro SD card slot is located
under the module)

2. Connect the monitor, keyboard, and mouse to the Nano
3. Power on the Jetson Nano by connecting the micro USB charger to the micro USB port
3. Power on the Jetson Nano by connecting the micro USB (for Jetson Nano (4GB)) or USB-C (for Jetson Nano 2GB) charger to the port

???+ attention
We recommend first booting the Jetson Nano once without the piOLED / motor driver connected.

This way you can check to make sure the system boots properly from the SD card image without worrying about hardware issues. After you've verified that it boots, reconnect the piOLED, double check your wiring, and boot again.

## Step 3 - Connect JetBot to WiFi
## Step 4 - Connect JetBot to WiFi

1. Log in using the user ``jetbot`` and password ``jetbot``
Next you'll need to connect to WiFi. To reduce memory consumption, we disable the Ubuntu GUI in the latest JetBot SD card image. For this reason, you'll need to use the command line to connect to WiFi.

2. Connect to a WiFi network using the Ubuntu desktop GUI
1. Log in using the user ``jetbot`` and password ``jetbot``

2. Connect to a WiFi network using the following command

```bash
sudo nmcli device wifi connect <SSID> password <PASSWORD>
```

Your Jetson Nano should now automatically connect to the WiFi at boot and display it's IP address on the piOLED display.
???+ tip
If you're having trouble figuring out how to get connected to Wi-Fi, check out the [Wi-Fi setup](wifi_setup.md) page for more detailed instructions

## Step 4 - Connect to JetBot from web browser
## Step 5 - Connect to JetBot from web browser

After your robot is connected to WiFi, you can connect to the robot from a web browser by performing the following steps
After your robot is connected to WiFi, you no longer need to have the robot connected by a monitor. You can connect to the robot from your laptop's web browser by performing the following steps
1. Shutdown JetBot using the Ubuntu GUI
1. Shutdown JetBot using the command line
```bash
sudo shutdown now
```
2. Unplug your HDMI monitor, USB keyboard, mouse and power supply from Jetson Nano
3. Power the JetBot from the USB battery pack by plugging in the micro-USB cable
4. Wait a bit for JetBot to boot
2. Check the IP address of your robot on the *piOLED* display screen. Enter this in place of ``<jetbot_ip_address>`` in the next command
3. Navigate to ``http://<jetbot_ip_address>:8888`` from your desktop's web browser
3. Navigate to ``http://<jetbot_ip_address>:8888`` from your desktop's web browser. You can do this from any machine on your local network.
4. Sign in using the password ``jetbot``.

???+ info
You shouldn't need to connect your robot to a monitor past this step!
That's it, you've now accessed JetBot's remote programming environment!
## Step 5 - Install latest software (optional)
You will be presented with a view similar to the following.
The JetBot GitHub repository may contain software that is newer than that pre-installed
on the SD card image. To install the latest software:
![](../images/docker_jupyter-on-browser.png)
1. If you haven't already, connect to your robot by going to ``http://<jetbot_ip_address>:8888``

2. Click the ``+`` icon to open the Jupyter Lab launcher
3. Launch a new terminal
2. Get and install the latest JetBot repository from GitHub by entering the following commands
```bash
git clone https://github.com/NVIDIA-AI-IOT/jetbot
cd jetbot
sudo python3 setup.py install
```
3. Replace the old notebooks with the new notebooks by entering
```bash
sudo apt-get install rsync
rsync jetbot/notebooks ~/Notebooks
```

## Step 6 - Configure power mode

To ensure that the Jetson Nano doesn't draw more current than the battery pack can supply,
place the Jetson Nano in ``5W`` mode by calling the following command
1. If you haven't already, connect to your robot by going to ``http://<jetbot_ip_address>:8888``

2. Click the ``+`` icon to open the Jupyter Lab launcher
3. Launch a new terminal
4. Select 5W power mode

```bash
sudo nvpmodel -m1
```
5. Verify the Jetson Nano is in 5W power mode
```bash
sudo nvpmodel -q
```
Here you can easily access the JetBot examples! From this point on, when you power on the JetBot, it should automatically connect to WiFi and display it's IP address. So all you need to do is reconnect using your web browser to start programming!

Now that you're finished setting up your JetBot, you're ready to run the [examples](../examples/basic_motion.md).
2 changes: 1 addition & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ nav:
- Bill of Materials: bill_of_materials.md
- Hardware Setup: hardware_setup.md
- Software Setup:
- Using Docker Container: software_setup/docker.md
- Using SD Card Image: software_setup/sd_card.md
- Using Docker Container: software_setup/docker.md
- Examples:
- Basic Motion: examples/basic_motion.md
- Teleoperation: examples/teleoperation.md
Expand Down

0 comments on commit d21d158

Please sign in to comment.