NVIDIA’s Jetson TX1 and TX2 (Fig. 1) deliver supercomputing punch in a compact module. They’re not cheap, but for less than $500, you get 256 general-purpose GPU (GPGPU) CUDA cores, a quad-core ARM A57, 4 GB of LPDDR4, Wi-Fi and Bluetooth wireless, USB 3.0 and USB 2.0 support, plus up to six 2-lane CSI-2 camera inputs.
1. The Jetson TX2 module (shown on the development board) needs a carrier board to operate.
The Jetson platform has been popular because of its compute support, including the Jetson’s machine-learning support. The Jetson can run Linux and already handles everything from OpenCV vision framework to TensorFlow.
The development board available for the Jetson family is a good staring point, but its size and flexibility don’t lend it to deployment in embedded systems such as drones. A number of carrier boards are available, like ConnectTech’s Sprocket. It’s the same size as the Jetson module and adds a few connectors and one video input. The board is suitable for many applications, though not necessarily a good fit for drones.
Gumstix AeroCore 2 for NVIDIA Jetson (Fig. 2) does target the drone and robotic space by providing the Jetson module with on-board peripherals like a 9-axis inertial measurement unit (IMU) and a barometer. It also has connections for GPS and a Sierra Wireless LTE cellular modem. There’s a SIM card slot for the LTE modem.
2. The Gumstix AeroCore 2 supports NVIDIA’s Jetson platform with multiple camera inputs as well as sensors like a 9-axis IMU and GPS support.
In addition, the AeroCore 2 incorporates an STmicroelectronics’ STM32F427 based on an Arm Cortex-M4F microcontroller. The STM32F427 provides real-time control of devices like servos or motors. It comes with the open-source, PX4 flight controller autopilot software, but the microcontroller can be easily reprogrammed. With the PX4 support, the Jetson can be used for other chores, such as planning and image recognition.
The Jetson supports up to six CSI-2 dual-channel camera inputs. The AeroCore 2 has connections for a pair of dual-channel CSI-2 cameras as well as a pair of four-channel inputs. The Jetson handles the high-speed interfaces like the USB 3.0, while the STM32F427 manages low-speed interfaces such as the UARTs and PWMs.
The micro-HDMI connector is linked to the Jetson module. Though this would probably not be used in a drone, it would be handy to link to a display when the drone isn’t flying.
The Geppetto Factor
As with most of Gumstix new boards, the Aerocore 2 was designed using Gumstix’s Geppetto rapid design system, creating a carrier board that targets drones. Geppetto is a web-based board-layout tool that can be used without the need to understand or handle detailed printed-circuit-board (PCB) layout. Connections like linking a microcontroller to power a device is done at a logical level. For example, linking a STM32F427 to an I2C sensor is a matter of a few clicks. Geppetto handles the actual routing.
The interface is easy to use. An item or area marked in red indicates something isn’t connected or there’s a positioning error. Green indicates that the item is good to go, and yellow indicates unresolved connections. Add items and connect them until the designed is complete and green. Drop down $1999 for a setup fee and then pay the per-board charge for any quantity you like. This is for a completely populated board, not just the PCB.
The selection of items that can be added to a design is limited, but it includes dozens of modules and processors like the Jetson as well as Gumstix’s own tiny COM boards. A few microcontrollers can be mounted directly on the board versus the sockets used with COM boards. Likewise, there’s typically only one or a few selections for items like sensors; however, you can get Gumstix to add more.
Geppetto does have some very useful items in its toolbox including Power-over-Ethernet (PoE) and even an FRAM chip. The system can be utilized to design boards for platforms like Raspberry Pi and Arduino.
Existing designs can be used for the basis of a new layout. Look for the Design Your Own button under the Customizable Boards section of the company’s website. The boards that are in stock have only a per-board cost, but any customized layouts will require the setup fee. New Geppetto-designed boards can ship within 15 days.
3. I redesigned the system to include a USB 3 connector and removed features like the HDMI interface.
I laid out an NVIDIA Jetson carrier board from scratch (Fig. 3) in less than an hour. It had three CSI-2 camera sockets, a USB Type-C connector, the IMU and barometer, and some CAN transceivers. This might be more useful in a robot that employs a couple of CAN bus-based systems for motor control. Alternatively, I could have added a pair of Cortex-M4F processors to handle the PX4 software, with the second handling other real-time chores.
I didn’t have my design built since I don’t have a dozen robots that need a new set of eyes, but I will be checking out the AeroCore 2 when it arrives with a couple of cameras. The Jetson TX2 development board comes with only a single camera; I’ve used USB and Ethernet to connect to other cameras. The advantage of the CSI-2 interface is lower latency and higher frame rates.
Geppetto not only generates the layout, but also the board support package (BSP) and documentation. The BSP includes C headers and code files, along with Linux device tree definitions for platforms like the Jetson.
The Aerocore 2 for NVIDIA Jetson is priced at $275. This doesn’t include the Jetson module.