Your Team Sucks At Electronics: Here's Why

If this is going to be a thing, then let’s keep it going. This is following on similar posts about scouting, programming, defense, and being rookies.

Hi, I’m Ari. I was in charge of electronics on my high school team, mentor the electronics sub-team on my current team, and have been volunteering as a CSA for 3 years (with 15 competitions as a CSA under my belt). I’ve seen my fair share of robots dying from all kinds of electronics problems. Here are some of the more common ones that might be hindering your on-field performance:

  • You didn’t follow the instructions/rules
    • Before kickoff each season, you should go over the control system and practice setting it up properly. There are a number of helpful diagrams and instructions that will help you learn how to set it up.
    • After kickoff, you need to read through the rules to see what’s changed since last season. The electronics rules stay pretty consistent, which means teams will often miss the small changes made each year.
    • If your electronics aren’t set up properly you probably won’t pass inspection, and they certainly won’t work correctly on the field.
    • The number of teams we find every year with their electronics set up incorrectly (and illegally) is astounding. roboRIOs plugged into VRMs, radios plugged into PDP branch circuits, robots without VRMs altogether, and just about anything else you can imagine. Don’t be that team.
  • You didn’t plan where your electronics are going when designing the robot
    • When the robot is being designed mechanically, make sure you’re leaving space for the electronics.
    • Think about every wire on the robot, how much current will be going through it, how much resistance it has, and how critical it is for that wire to be short. Make sure the high current wires are as short as possible.
    • Your battery, main breaker, and PDP should all be close together. All of the power flows through those wires; don’t make them any longer than necessary or you’ll see large voltage drops.
    • Make sure your radio is placed far from RF-interfering devices (motors, magnets, large metal sheets, etc) and somewhere not prone to high vibration forces.
  • You’re not working carefully
    • Take an extra few hours to do it right the first time, and you’ll save time in the long run when you don’t need to fix problems at competition. (For the record, this is true for pretty much all of your robot)
    • Make sure you use the right size/color wire, strip your wires to the right length (there shouldn’t be any copper showing), assemble everything properly, etc.
    • Tug test every connection after it’s made. If it can’t stand up to you pulling on it, it won’t stand up in competition.
    • Take the time to label every wire on both sides, even if it’s easily traceable (but especially if it isn’t). You’ll be thanking yourself later when you need to debug or replace something.
    • Strain relieve every wire. You should be able to shift every electronics component an inch or two without straining your connections. When your robot takes a bit hit, stuff will move. Don’t let that disconnect anything.
    • Make sure everything is tied down properly. Floppy wires quickly become disconnected wires. Floating components will get banged around and die.
  • You’re not careful with your main power wiring
    • The AWG 6 (or larger) wires between the battery, main breaker, and PDP are called the main power wiring. All power goes through there. I’d say in about 70% of cases where the robot resets on the field, the problem is usually in this section of wiring.
    • Every connection there should be rock solid or your robot will reset on the field. If you can twist the connection with your hand, it’s too loose. Don’t be afraid to really put some torque on the bolts. A few milliseconds of bad connection while the connector twists can be enough to cause a radio reboot.
    • Don’t use nylock nuts on these connections. They can hide loose connections by holding their position without any real clamping force.
    • If you’re crimping your own wires, make sure you use the right tools for the job and section a few crimps to make sure they’re done properly. Don’t try to crimp the connections with a vise, even though the finished product may look the same as when you use the right tool. Crimps can look good from the outside but actually have an extremely high resistance. Also, don’t solder them.
  • You don’t take care of your batteries
    • Batteries don’t last forever, and they degrade over time.
    • Use a battery beak (or similar) to test each battery’s internal resistance under load. Good batteries usually have an internal resistance of less than 20 mΩ (this number can vary though). Once the battery passes this point, they should be removed from the rotation.
    • Check your battery cables regularly throughout competition to make sure that they’re all tight. As you’re swapping batteries, it’s easy to accidentally shift the cable and loosen the connection.
    • Never lift your batteries from the wires! The terminals are only an electrical connection, not mechanical. You will likely damage the battery internals, and kill the battery.
    • Use star washers to dig into the terminals to make a good connection. The washer teeth break through the layer of oxide on the terminal to make a better electrical connection, and it helps resist loosening.
  • Your radio isn’t wired properly
    • The radio is the most critical part of the robot. If it loses power for even a few milliseconds, it takes 90 seconds to reboot. While the radio isn’t working, neither is your robot.
    • You should power your radio with both a barrel jack and POE cable. If one should disconnect, there’s a chance that the other will keep power flowing.
    • Wiggle check your Ethernet cables regularly to make sure vibrations don’t cause them to disconnect. The small pins can come loose, especially in cheaper cables. Also, some POE cables have been known to have bad Ethernet connections, so make sure to check those too.
    • I highly recommend that the radio be the only thing plugged into the main VRM. If anything else plugged in there should short, you can blow the VRM fuse and kill your radio (and your robot). Use a separate buck-boost converter instead (like this one).
  • You’ve been drilling over your electronics
    • Drilling metal makes metal shavings, and metal shavings are conductive. If those metal shavings get inside your electronics, bad things happen.
    • When you’re drilling over or near your electronics, you need to cover them. In a pinch a jacket or t-shirt will work. Make sure to lift the cover in a way that the metal shavings won’t fall off when you lift it.
    • Never use compressed air to clean metal shavings out of your robot. It doesn’t actually remove it, just pushes it into harder-to-reach spaces. You should use a shop-vac to clean out the shavings so they actually get pulled out.
    • If you do find that there are metal shavings inside one of your components, you can take the case off most components to clean them. Be very careful not to damage the internals when doing so.
  • You’re not doing regular inspections and preemptive repairs
    • Like all parts of the robot, your electronics go through normal wear and tear over the course of the season. Wires will get unplugged, components will break, etc.
    • You can either find these problems on the field when your robot stops working, or in the pits before the match.
    • Make a pre-match checklist that includes going over all of the wiring, tug testing all critical connections, and enabling the robot to check that all mechanisms work as expected.
    • At the beginning of every event and during the break before playoffs, it’s a good idea to do a more thorough check of the robot wiring.

Hope this helps! If you have more specific questions about FRC electronics pro-tips, feel free to ask them here or over PM.

36 Likes

Glad this is catching on. Great tips here.

I’d also note that as the summer is starting to kick up, teams should be very mindful of how they store their batteries, especially if they would like to reuse them for the next season.

Batteries don’t like to be stored when discharged. If you can’t afford to keep a battery plugged into an appropriate charger over the summer, at least charge it fully before you close up shop.

The cooler your storage temperature, the better.

We obliterated our entire fleet of batteries in 2017 when we stored them discharged… in a hot trailer… all summer. Don’t be like us.

More info here:

http://www.upsbatterycenter.com/blog/safely-store-lead-acid-batteries/

The following post contains a wealth of info on potential upgrades to batteries. If you can only do one, definitely do the nordlock washer upgrade. It’s made a world of difference in making sure our battery-to-lug connection is secure. With the stock hardware, we found it could work lose over the course of a single event. Upgraded as described, these connections haven’t worked lose over 3 events.

7 Likes

Okay, can we stop this thread naming convention?

19 Likes

You aren’t using Ferrules, nuff’ said.

4 Likes

It’ll stop when someone makes “Your Forum Sucks at Titles: Here’s Why”.

Edit: For the record, I do not endorse the post that was actually made because of this comment.

8 Likes

This post was flagged by the community and is temporarily hidden.

4 Likes

This post was flagged by the community and is temporarily hidden.

4 Likes

On a more practical note - This thread is lacking in descriptions of proper crimping tools, ferrules, anderson powerpoles (or other quick disconnects), CAN bus layouts, CAN connectors, PWM retention techniques, sensor selection, sensor placement, and sensor mounting.

8 Likes

With the exception of the location of the battery (consider carefully for best weight distribution), main breaker, and PDP the proper positioning of the mechanics should take priority. The FRC robot is so small that the CANbus length is of no concern. PWM wires must be shorter that CANbus wires but can still be quite long. Motors must be where they are most efficient and how much of the supply wires (versus load wires) are close to the PDP does not matter all that much. Finally sensors must be located in proper relation to the mechanics.

Why not help the OP out and add them (if you know them)?

(i dont claim to have the best knowledge of electronics myself, so if you see something wrong do point it out.)

Ferrules

This image actually linked me to this Automation Direct article outlining ferrules and how to use them, and I also found this video guide for FRC specifically.

anderson powerpoles

The name should look and sound familiar already, the same connector is used for the battery. 4513 switched to these for their wiring in 2018 and hasnt looked back. This screenshot from the Andymark product page helps show how the wire should be inserted, and this video guide from Robots Explained is a good step by step tutorial.

Control Systems Layout
3128 has created a great diagram based off the 2015 wiring diagram FIRST released when the RoboRio first came out. I may be misreading what you mean by “CAN bus layouts, CAN connectors” but either way this is a pretty great thing to have handy.

The rest is a bit outside my understanding (and easy google searching) so hopefully someone can come in and help explain them (or you!) to help everyone out.

2 Likes

This thread wasn’t meant to explain how to set up the electronics system, just some common problems I’ve seen and ways of mitigating them. I’d say most of the stuff you listed falls under “learning how to set up the control system” which I mentioned you should do in the pre-season, or (for the sensor stuff) “how to improve mechanism control of an already working robot” which is beyond the scope of this thread. You’re welcome to add any pertinent information you see fit, but my goal with this thread was more “pro tips” and less “this is how you wire a robot”.

2 Likes

This post was flagged by the community and is temporarily hidden.

You don’t do robot configuration management

  • Have the electrical subteam create and promulgate a living, shared document that contains all the information about the configuration of the robot’s electronics. This workbook will be the rosetta stone that links together the hardware environment and the software environment. Now this information will become accessible to non-programmers who don’t know how to navigate the code. The doc will be essential during troubleshooting efforts.

  • This document is created on Kickoff Day. As soon as the team decides “Yep, we’re gonna build a FRC robot”, we already know a great deal about the electrical configuration… We know there will be a power distribution system, probably a drivetrain, probably at least one game piece manipulator, and probably an endgame device of some sort. Each of these will probably have sensors for closed loop control. We’ll fill in the details later as our design matures.

Here’s an example of what might be contained in the document… the following table lists the robot mechanisms that are controlled from each slot of the PDP on our 2019 bot:

PDP Fuse Controller Type CAN ID Breakout Subsystem Subsystem detail Wire Gauge Motor Type Total reduction
0 40A Victor 10 Drivetrain Slave R Rear 12 Mini-CIM 8.0
1 40A Victor 11 Drivetrain Slave R Mid 12 Mini-CIM 8.0
2 40A Talon SRX 12 quad encoder Drivetrain Master R Front 12 Mini-CIM 8.0
3 40A Talon SRX 13 Hall Effect limit RobotLifter Slave 12 775Pro 10.0
4 30A Talon SRX 14 1-turn Hall Sens Wrist Wrist 12 BAG 210.0
5 30A Victor 15 Floor Intake (cargo) 12 775Pro 4.0
6 30A Talon SRX 16 8-turn mag position Arm Arm (shoulder) 12 775Pro 190.9
7 30A Victor 17 Arm Arm (shoulder) 12 775Pro 190.9
8 30A Talon SRX 18 CargoGrabber end effector 12 RS550 9.0
9 30A Talon SRX 19 CargoGrabber end effector 12 RS550 9.0
10 5A Custom Circ Volt Display 18 -
11 5A Custom Circ Camera Limelights, Switch 18 -
12 40A Victor 22 RobotLifter Master 12 775Pro 10.0
13 40A Talon SRX 23 quad encoder Drivetrain Master L Front 12 Mini-CIM 8.0
14 40A Victor 24 Drivetrain Slave L Mid 12 Mini-CIM 8.0
15 40A Victor 25 Drivetrain Slave L Rear 12 Mini-CIM 8.0
  • Extend this document to also include description of what is connected to DIO slots, PCM slots, solenoid manifold slots, and more.

  • Have a place for the mechanical designers to enter information regarding the gearing relationship between encoders and the final output of whatever mechanism they’re controlling. Example, for the shoulder joint on our arm:

Stage Gearing
motor: 775pro
1 8:30
2 1:4
3 18:84
analog 8-turn sensor goes here
4 22:60
rotational output

You’ve made the programmers, not the electrical team, responsible for managing the CAN network

  • The electrical students should initialize the CAN devices, debug the CAN network, clear faults, etc. Having high-level responsibility for managing the CAN network, they’ll take even greater care with the basics: ensuring good wiring connections and adequate strain relief.

  • Setting CAN IDs and entering these into the robot configuration management document is something the electrical guys do. This information then flows down to the programmers, who consume this data when they develop their robot map.

  • The electrical guys will have to become proficient with the Rio web dash, Phonenix tuner, and other hardware config tools to do their jobs well.

14 Likes

Literally the wiring in our competition bot. At least our promo one looks good and is wired well

Be careful with this one. Compressed air, done right blows the shaving away. Vacuuming can generate some amazingly high static charges and kill delicate electronics. Especially if you are using a cheap vac with a brush on the end of the hose.

In a perfect world just don’t ever do activities over your robot. Its my happy place and we actually went there at one event (zero work required on the robot), but when we need to, we cover and secure, prior to drilling. In some cases we also tape over all the venting holes (in transmissions, motorcs, etc) to keep shavings out. It is also worth taking the time to position your robot, to minimize shavings landing on the robot. Tipping it on its side may allow this.

Good wiring does not just happen. It is as important to design and plan the wiring as the mechanical bits. Routing, tie downs, strain relief, labelling, connectorization. Nasty, point to point spagetti wiring, with no slack, is a disaster waiting to happen, and is impossible to debug and repair.

We have found some success with allocating a fairly large planar surface for an electronics board (hopefully only one) and freezing that early in the design. Controls team can then plan the layout and prewire much of it. We also get the controls team involved with the design team once mechanisms have been nailed down to start thinking about wire routing, required access, before final placement is done. Is much easier to design in space for wire bundles, than sort out how we are going to run stuff after the fact. Cable management for moving parts is also where it is important to design it in, rather than figure it out after. Especially for mechanisms that are going to be outside your frame perimeter and more exposed to contact with “stuff”.

1 Like

Thanks @AriMB Ari for making such a comprehensive post

This may also damage the seals around the battery terminals and allow the acid to leak out.

When assigning space for your electronics panel, give preference to vertical orientations since metal shavings are less likely to stay on your components. Also, choose locations and arrangements that allow all the LED’s on the various components to be easily seen as well as easy access for repair and/or modification.

2 Likes

I had no idea you could do this. I will be doing this from now on. We had a bunch of connection issues in the off-season because the PoE cable was becoming worn out

2 Likes

While vacuuming out metal shavings isn’t risk free - it is far, far, far easier to blow metal shavings deep and permanently into your electrical components than it is to damage electronics with a vaccum. I would never recommend using compressed air over a vacuum.

1 Like

I personally think it’s worth-wild to try to put your VRM next to the radio. Power it with POE and the barrel jack. When you put the barrel jack in, hot glue it around the seam.

1 Like