roboRio replacing damaged USB B

Could not connect to our roboRio and a quick inspection of the USB B port revealed why. It is badly mangled I’m sure from someone yanking the cable accidentally. Anyone had to order this particular part - It is a 4-pad surface mount 4-pin USB B socket. We ordered a USB-B right angle cable to use in the future which can be our strain reliefed connection point.
https://www.amazon.com/gp/product/B01LPS1I2Y/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1

From what I’ve heard, call NI. Their warranty policy is pretty good for FRC teams, and they’ll replace that for you.

6 Likes

When I called the NI FRC number last I got an automated message that redirected me to their forums. They aren’t doing phone support this year (for FRC teams) which really sucks but understandable. Responses are still there just significantly slower.

Support Resources — FIRST Robotics Competition documentation (wpilib.org)

Anyone is welcome to try +1 (866) 511-6285 to confirm it for themselves.

3 Likes

Do the NI thing. But, FWIW, that part looks like a through-hole one (not surface mount). Of course, I don’t have a RIO to check. If I were attempting this, I’d look to try to find a part number. Here are some possible matches. If you can’t find a part number, try to find the manufacturer. You should be able to find a match, paying attention to the pin spacing on the PCB side.

You would need to desolder the old part, clean the holes, then solder the new part.

Here’s a guess as to the part: https://www.te.com/commerce/DocumentDelivery/DDEController?Action=srchrtrv&DocNm=5788336&DocType=Customer+Drawing&DocLang=English.

1 Like

As @nuttle stated, that looks like a through-hole part.

It may be challenging to find a part that will match the one on the board unless you can find some indication of the manufacturer and part number on the outside of the part. While the part of the connector that mates with the cable has to conform to industry standards, the part that mounts on the board does not so parts from different manufacturers (and even the same manufacturer) can have different pin locations and sizes.

Unless you have someone who is adept at soldering and has access to a desoldering station, it may be difficult to get that connector off the board without damaging the board. It is very likely that at least one of the pins is connected to an internal plane layer that acts as a heatsink making it difficult to heat it up sufficiently to allow the connector to be removed without damaging the circuit board.

1 Like

Definitely a through hole as @philso and @nuttle have suggested.

Where I’ve had to do something like this, my approach was to destroy the connector enough to be able to remove each soldered connection individually. Get it hot, pull it out - one at a time with no tension on other parts.

Your biggest risk is heating one connection and pulling on a cold one. This will end up stripping the plating out of holes which will break internal connections to other planes.

Desoldering is very tricky; way trickier than people who don’t make and repair this stuff tend to think. The adhesive holding the copper on is designed to melt at become more fluid at high temps to help the copper stabilize as it undergoes thermal expansion and contraction - that’s why it’s so easy to lift a pad or a trace.

Send this on back to the mothership when you can.

So how can you avoid this?

I use something like this on our robot:

https://smile.amazon.com/USB-Printer-Extension-Cable-iGreely/dp/B07CGXTXMT

USB connectors are designed to have a long number of of plug and remove cycles but the real risk in my opinion is damage from side loads while connected and misalignment with forced insertion.

Using a pig tail like this gives you two big wins:

  1. You plug it into your RoboRIO once and tie it down solidly so that any future pulling doesn’t make it to the connector.

  2. You can bring that connector out of the depths of you robot and to someplace on the outside (like the rear of the robot is my favorite) so it’s super easy to plug into and even sort of likely to unplug if it gets pulled on if you run it straight out the back.

If it does get damaged, you replace you cheap pigtail and don’t take your RoboRIO down with it.

I’ve got two connections like this on the outside of our robots now: USB and a similar RJ45 one that extends one of the ports of our on-board Ethernet switch.

Easy to plug into and it protects the physical ports on much more expensive parts…

2 Likes

This shows the panel on the rear of a promotional robot we’ve been building:

Ethernet on one side and USB on the other. The RoboRIO is mounted upside down under the top panel:

Hard to see the exact connection, even with the polycarb belly pan, man, do I love that, but we all pretty much know what a RoboRIO looks like and where it connects. The Ethernet switch is on the top right as that picture is oriented.

5 Likes

The difficulty with “destroying the connector” as @zog described is the metal shell on connectors like this often have pins soldered into the board. You probably don’t want to be learning how to do this on your Roborio…

It is highly recommended to do what @zog has done to provide an easily accessible, secure and sacrificial place to plug in the USB and Ethernet cables.

In the past, I have purchased short (2 ft) Ethernet cables and plugged them into the Roborio then very securely fastened the other end to an accessible part of the robot chassis. We used an Ethernet coupler to join the tether cable to the cable in the robot. WHEN (not if) the driver hits the end of the tether on the practice field, it isn’t the connector on the Roborio that gets damaged.

2 Likes

Update from NI - they wanted $400 plus shipping to repair. With shipping, we could buy a new one. I found the same part on Digikey for $2.58 (same measurements for the 8 pins and height - https://www.digikey.com/en/products/detail/te-connectivity-amp-connectors/5788336-1/2188176). We used the following steps to remove and repair the roboRio USB B port: used an exacto blade to scrape the coating on the 8 solder points, put the roboRio circuit board in a board vice and used a Dremel to cut into the connector all the way around (from the two approachable sides) so that less than 1/16" of it was still on the board, desoldered each mounting pin while pulling with tweezers on the top side and then did the same for the 4 pins, used a solder sucker and solder wick to mostly clear all 8 holes (see image), and then resoldered the new connector, and cleaned the board before installing back in the grey case. The roboRio connects to the driver station via USB fine. The Dremel took a steady hand and the whole job took about an hour. Lesson learned: roboRio connectors can be replaced but definitely need to strain relief any connectors going to the roboRio!

8 Likes

I hope there aren’t any FRC legality concerns around this repair because $400 is ridiculous.

There shouldn’t be, if the rule (R66M) regarding repairs is similar in the future:

Devices may not be repaired, provided the performance and specifications of the device after the repair are identical to those before the repair.

This should be perfectly legal, though with the roboRIO 2 coming next year it probably won’t be too big of an issue. (and assuming readding the USB port doesn’t count as a change in specifications)

Also, pretty disappointed that NI would hike up the price that much for a simple repair for a FRC team. I’ve heard very good things about NI’s support in the past, so seeing them try to charge almost as much as a new unit for a 3 dollar part is just sad.

1 Like

Well done. These ports are a real pain to replace. We did a similar exercise on a roboRIO a couple years ago - it worked fine but it was labeled as “not for competition” after we did the repair. The removal process was difficult as I recall.

Although probably not for competition, I found an expedient solution of putting a stripped USB cable directly to the data/power pins on the back. Strain relief with a hot glue gasket to the case and I’m updating the Rio firmware in under 15 minutes.

1 Like

I doubt that would pass inspection on a competition robot. If it works, it works so use it on your practice robot or programming platform.

I would strongly suggest that you use cable ties to strap the USB cable to the mounting points for the RoboRio or to the hole in one of the corners. the hot glue will not stick to the cable well enough to prevent it from being ripped out.

bad bot