JetsonHacks

JetsonBot Part 5 – A Vision Robot with a Create 2 Base – USB FTDI Module

Build USB FTDI Module

The iRobot Create 2 base interfaces with the NVIDIA Jetson TK1 via a serial to USB FTDI converter. Unfortunately, under Linux for Tegra (L4T) release 21.4 the USB FTDI module is not part of the normal software distribution.

There are a couple of ways to get the USB FTDI module. The first, and probably the easiest, is to replace the stock kernel with the community supported Grinch kernel for the Jetson which includes the FTDI driver. You can read how to do that here. Another way is to build your own USB FTDI module. Looky here:

Background

So why would you choose one method over the other? In the case of the JetsonBot, we currently only have one unsupported hardware device, which is the USB FTDI converter. If you use the Grinch kernel you get a whole kit and caboodle of drivers and such, which is great but has some overhead. The advantage of compiling the USB FTDI module yourself is that it is the minimum amount of extra code and support needed to control the JetsonBot.

There is a script that will download the kernel source for L4T 21.4, build and then install the module in an automated manner. Basically fire off the script and when the script has finished executing, the USB FTDI driver is installed.

Installation

First open a Terminal and download the buildJetsonFTDIModule repository:

$ git clone https://github.com/jetsonhacks/buildJetsonFTDIModule.git

Next, switch to the buildJetsonFTDIModule directory and prepare the module.

$ cd buildJetsonFTDIModule
$ sudo ./prepareModule.sh

After the script has completed, you can then plug the Create 2 base (or another FTDI device) into the Jetson USB and execute:

$ dmesg | grep FTDI

You should some something like:

FTDI USB Serial device converter now attached to ttyUSB0

Then you’re good to go.

Cleanup?

After installation you have the option of running another script to remove the kernel sources and free up some space. Note that this is not mandatory. To remove the kernel sources:

$ sudo ./removeSources.sh

Prerequisites

The video above was created after flashing L4T 21.4 onto the Jetson TK1 (in a procedure similar to this write up except using JetPack 1.2). After the flash, the postFlash procedure was followed using the updated for L4T 21.4 postFlash script.

Off to JetsonBot Part 6 – Install ROS