The Jetson TK1 embedded computer
The Jetduino is an electronics board that will make it much easier to interface sensors and actuators with the NVIDIA Jetson TK1 embedded supercomputer. The Jetson is an awesome computer that is perfect for projects that require huge amounts of number crunching, like vision processing and robotics. However, it is still difficult to use it as a development board because of the small, female 2 mm connector it uses, and the fact that almost all the signals are at 1.8V, which requires level shifting to something usable by microcontrollers. The Jetduino will solve these problems and make it trivial to use commercial, off-the-shelf (COTS) sensors and actuators. I just finished and submitted the board layout for the Jetduino, which is shown in the project image. Sorry I do not have any pretty pictures of the Jetduino yet, but I will be updating this page as the project progresses and I get the actual prototypes. I will be launching a crowdfunding campaign to help cover the costs of getting the first batch of these boards produced. I wanted to start a Prefundia page now to allow anyone who is interested in the Jetduino to sign up to receive notifications on its progress, and when it will launch. Below is a more detailed description of all the cool features that will be available on the Jetduino.
The Jetduino is the same size as the Jetson TK1 and has identical mounting holes so can be mounted above or below the Jetson using standoffs. It interfaces with the Jetson by using a small connector board that converts the 2mm J3A1 and J3A2 sockets into a smaller 25 pin, 0.1" male IDC connection that only has the signals needed by the Jetduino. You can use a standard ribbon cable connector to interface it to the Jetduino.
This version of the Jetduino includes the DynamixShield for the Arduino Due microcontroller. This makes it possible insert an Arduino Due into the Jetduino so it can communicate with the Jetson. The DynamixShield works with the Due to give users the ability to control Dynamixel AX, MX and XL smart servos and regular servos, while also offering numerous connectors for modular Grove and RobotGeek sensors. Grove and RobotGeek are frameworks for robotics that allow you to purchase commercial, off-the-shelf (COTS) modules and plug them in with a single cable.
The Jetduino also includes Grove and RobotGeek connectors for all of the major I/O lines available on the Jetson. Say you want a GPS module, just buy an inexpensive module and connect one wire and your hardware is ready. Please note that since the software for Grove was written for use with an Arduino or Rasberry Pi, there may be some conversion necessary to get it to run on the Jetson, but that should be relatively minor, and I plan to make some base libraries available that will make that almost effortless. My goal is to make it as easy to use Grove and RobotGeek parts on the Jetson as it is on the Arduino or Rasberry Pi. For a more detailed description of the DynamixShield look here.
The Jetduino also has some really great features that make it easier to use the Jetson TK1. It has holes for mounting a 2.5" SATA hard drive. I use a hard drive for most of my applications, but it usually just sits there and flops around. That will not work to great in your final product. With the Jetduino it's no problem. Just use a couple of small standoffs and mount it to the bottom of the board so it is held securely in place.
If you want to use a hard drive then you will also need a reliable 12V power source. While the Jetson can be powered directly from a battery, you will need a stable 12V supply to use a SATA drive. The Jetduino includes a 12V voltage regulator with a dedicated 2.5mm barrel jack connector so you can power the Jetson at a steady voltage. It also has a connector for you to provide an on/off switch that can be mounted on your case.
A minor annoyance with the Jetson is that it has so few USB ports. For a lot of applications I end up needing a USB hub. To make this more compact I have been working with a USB Hub supplier to create a custom, externally powered 4-port USB 3.0 hub that is the same length as the Jetson (122 mm x 3 mm), and will attach in-line with the Jetson's mounting holes. This will make it a snap to mount on top of the Jetduino, or directly on the Jetson if needed. This hub will be offered as an optional add-on. So you can get the hub only if you need it.
The Jetduino also has a ton of prototyping area for you to build your own circuits. It has two large sections for prototyping with 440 holes. It also has two sets of prototype holes available for all of the level shifted signals from the Jetson as well.
- Mounting holes for a 2.5" SATA hard drive on the bottom surface. This will make it much easier to mount your hard drive while trying to use it on a robot, or even while it is sitting on your workbench.
- A separate 2.5 mm barrel jack connector for plugging in a battery. A single battery can power the entire system.
- An On/Off switch connector. This provides a convenient place for you to connect a power switch and run it to the outside of a case.
- A dedicated 12V power supply and connector for the Jetson TK1.
- An optional, externally powered 4-port USB 3.0 hub.
- A 25 pin 0.1" IDC ribbon cable connector from the Jetson's 2mm connectors to the Jetduino.
- Grove and RobotGeek connectors for all of the major I/O for the Jetson.
- All of the Jetson's serial lines have a Grove connector for plugging modules directly into the Jetson, and another for connecting to another microcontroller.
- A large prototype area for you to build your own circuits and connect them to the Jetson or Arduino.
- Two sets of prototype holes are also available for all the Jetson I/O signals. This makes it easy to connect up any of the I/O lines into the prototype area and your own circuits.
- A Grove prototype breakout. This gives you a way to connect a Grove module to the board and easily wire it into your prototype area.
- PTC fuses for all the Jetson power connectors to help prevent any over current accidents while you are adding your own circuits and tinkering.
Jetduino I/O for Jetson TK1
- All Jetson 1.8V I/O lines are level shifted. The I/O is split into three groups. You can use a jumper for each group to determine if you want to shift it to 3.3V or 5V.
- Grove connectors for two separate serial lines.
- Grove connectors for three separate I2C lines.
- Three Grove connectors for general purpose I/O lines (GPIO).
- RobotGeek 3-Pin connectors for 11 GPIO lines. (4 of these are output only.)
- A configurable jumper for the 3-Pin GPIO connector that lets you choose to use 5V or the external battery for power. This allows you to use the Jetson to send the data signal, but power a servo directly from the battery.
- Five additional level shifter lines that you can use for your own prototypes
DynamixShield Features on the Jetduino
- 4 Dynamixel smart servo connectors.
- Jumper control of the power source for servos, shield and Arduino.
- 7 Digital Grove connectors.
- 4 Analog to digital Grove connectors.
- 2 Independent serial Grove connectors.
- 2 Independent I2C Grove connectors.
- 19 Digital 3-pin RobotGeek connectors.
- 12 Analog to digital 3-pin RobotGeek connectors.
- All digital lines are level shifted to 5V.
- PTC fuses for overcurrent protection.
I plan to have two versions of the Jetduino. The first is this one that has a DynamixShield for the Arduino Due on it. The second is one that just has the level shifted Jetson I/O lines on it, with no Arduino connections. It will still have all of the other features though.
I plan to build and test this first version of the Jetduino as soon as possible. However, there are still some cool features I would like to add before the production version goes out the door. Here are some things on the ToDo list. If you have suggestions for things you would like to see added then please let me know!
- I plan to redo the small Jetson-Jetduino connector board so it not only allows you to use a ribbon cable to connect to the Jetduino, but it also has a pass-through connector for the Jetson MIPI camera signals. This would allow you to use MIPI cameras like the ones from e-conn systems. At the moment I am not planning on just reproducing the full set of 2mm connectors on the Jetson. Instead, I plan to breakout only the ones that are needed for the camera and have a smaller ribbon cable that can run to the MIPI camera and connect to it.
- I would like the power supply to be a little more robust. I would like to look at integrating some of the great power supply work done on the MyzharBot.
If you are interested in the Jetduino then please sign up with your email so you can be notified when the crowdfunding campaign is launched. Also, please make sure to subscribe to my newsletter so you can be kept up to date on project progresses.