FIRST Carrier board/Enclosure for the TX1/TX2

Last season 3419 decided to use a separate vision co-processor and after much debate and testing decided on the Nvidia Tx1 as the best option for low latency video and target tracking.

I worked with a sub team of students to package the TX1 with a USB Hub, Buck boost regulator, Ethernet switch, Passive cooling and the Connect Tech Obityy carrier board. Here is a photo of our 2017 co-processor

After chatting with folks from Nvida in St Louis I realized that many other teams were trying to solve the same packaging issues with the TX1 and the idea of making a FIRST Carrier board/Enclosure for the TX1.

I’ve been working with Connect Tech on the design and specification and before I take it further I’d be interested in feedback on the design, the cost and level of interest. The target price for the board and enclosure would be $250 + the cost of the TX1 SOC.

Look forward to hearing your feedback and questions!

I know we’re very interested. :slight_smile:


but only if a battery is included.

We actually are working with Connect Tech to see if we can include a battery to support an RTC.



Very interested

Want it.

Hello, my name is Jon. I’m the Director of Programming for team 1671. Our team has looked over the hardware specs, and we wanted to point out some of the specifications that caught our attention.

  1. There isn’t a way to output video (none headless system). Would retrieving a video feed require an SSH client such as PuTTY?

  2. Is the microUSB being pulled to the front panel in the form of a full-size USB port?

  3. Does SMA represent Surface Mount Antenna? And if so, how useful would it be in an FRC environment?

Thank you for taking the time to look over our thoughts!

Absolutely interested!

These are really good questions. Thanks for asking.

  1. You’re right that there is no video output. That was going to increase the size and cost of the module a bit, and we thought it was not worth the trade-off. If you need to access anything graphical, including direct viewing of video, you can do that over the network using SSH and something like XMing. Of course, the normal use-case is that during the game, you’ll be streaming the video over something like gstreamer. This will allow you to get incredibly high quality video, using the hardware compression on the Jetson, into a very small amount of bandwidth streamed over the field’s wifi. We did that this year (on the rigged up board pictured above) and the resulting video quality and latency were dramatically better than the standard FRC options.

We’ll be providing some sample programs (with a build environment) for teams to use to do the basic tasks that we think people will want to use:
A. Stream video from a USB camera though gstreamer onto the driver station computer, using the Jetson’s hardware compression.
B. Take in video from a USB camera, run it into OpenCV optimized for the Jetson, find targets in an image, and then send data to the RoboRIO using either NetworkTables or UDP
C. Take in video from a USB camera, run it into OpenCV optimized for the Jetson, find targets in an image, and then draw info (such as targeting directions) onto the image, and then stream that using gstreamer to the driver station.

  1. The MicroUSB port in front connects to an FTDI USB to Serial Convertor, the serial side of which connects to the Jetson SOC. So you can connect a USB cable between there and a computer and get serial access to the terminal on the Jetson. This would be useful for the lowest level troubleshooting - for example, if you couldn’t get see the Jetson on the network for some reason.

  2. Yes, those are surface mount antennas for Wifi and Bluetooth. We agree that they are not useful in an FRC application and have asked for them to be removed in the next version of the spec.

Interested. Sure would like an HDMI port, though.

It’s definitely not too late to make changes. That’s why we’re posting it here - to see how to make the module more useful to the FIRST community. To that end, I have two questions for you:

  1. How do you see yourself using the HDMI on it? Are you picturing doing your software development directly on the board by plugging a monitor, keyboard, and mouse into it? Or are you only planning on using it for troubleshooting? Or something else that I’m not thinking of?

  2. Would you be willing to spend, say $20 extra, to have that on the board? We’re keenly aware that this product is going to be pretty expensive for a lot of teams, so we’re keeping a close eye on costs. Our vision is that a lot of teams will use this just for the video-streaming capabilities, and we appreciate the fact for lower budget teams, it’s going to be a lot of money just for that usage.

I know we would definitely spend $20 extra for an HDMI port. We used odroids this year and for the most part they worked fine but we had some communication issues in the beginning of development. It was definitely easier to debug by just plugging in a monitor, mouse, and keyboard to see what was happening.

Thinking about it some more, it would be a lot easier to troubleshoot initial setup dropping on a keyboard/monitor than trying to fiddle with USB over serial.

It would be nice to be able to do development directly on the board. It’s much simpler that way for us. The main thing is being able to use it for troubleshooting in a pinch, as our radios and network connection have been extremely dodgy in the pits in past seasons. With that in mind, if we have spent 6 weeks building our entire autonomous based on the TX2 and ZED camera, we would want every possible manner of troubleshooting at my disposal to get it up and running ASAP. I think that’s worth $20. However, it is understandable that teams using it just to stream video (no vision or other computing) wouldn’t want it that expensive. That said, if you are looking at a TX 1 or 2 just to stream video, you are probably better off spending less money in the first place.

Personally, I picture myself lugging a monitor, keyboard and mouse to a robot just about to get in queue to figure out why the RobioRIO and Jetson suddenly stopped communicating and oh god I can’t ssh in and why is the volunteer yelling at my students they’re going to miss a match can’t they see we have a last second networking issue for some reason that didn’t happen on the practice field and now our autonomous won’t work because it relies on communicating with the Jetson at startup which now thinks it should be looking for a DHCP server rather than having the static IP we assigned to it before the event and I have no way to get at it without logging in on a local session and fixing it and wait what match number just finished there’s no way we’re going to have time to pull it and swap it onto the stock carrier board just to reset the networking setting before we have to get on the field.

Sorry, flashback to like every competition ever. What was the question again?

  1. Would you be willing to spend, say $20 extra, to have that on the board?

I only have so much hair left, so yes.

It sounds like there is reasonable demand for an HDMI port, so we’ll try to get it on there. I actually don’t think it will impact the cost very much - in reality likely far less than $20. It will probably make the overall dimensions a bit bigger, but it still seems like a good trade off.

Thanks for the useful feedback!