Competition Super Dongle

Does anyone know where I can find the pinout for the competition control? My team is attempting to make a super dongle, that basically does everything competition control does (radio, power, color, disable/enable, autonomous, etc). Thanks in advance.

Unless you are an employee of Innovation FIRST, there is no diagram of the complete OI pin out. Innovation FIRST wants to keep that secret for a couple of reasons. Besides the obvious pins (5 & 6 etc), there have been some people by accident figured out the pins. For example Pin 1 is the pin that carries the power. But no one that I know has found out how to enable all 40 channels. I did find out how to disable the radio, but I forgot the pins you had to short.

You can experiment but remember that if you damage your OI intentionally then the warrantee won’t cover it.

IFI doesn’t usually release the full pinout or the communication protocol, but you might still ask them; they might be feeling generous.

Here’s the basic pinout, for disable, auton. and additional channels: http://www.ifirobotics.com/docs/competition-port-pinout-guide-reva.pdf

And actually, there’s no set “pinout” for the port. The bulk of the communication(radio channel, color, feedback to field control equipment, etc) is managed through a two-way communication between the processor in the OI and a processor in the arena controller. The link mentioned above is pretty much all you can get without figuring out the communication protocol between the OI and AC. I believe the communication is also encrypted. And I wouldn’t count on it being released any time soon, as that communication protocol is what ensures no interference or other problems caused by a rogue team at an event.

Lol a “rogue team”. I would think a more practical approach would be for IFI to just go ahead and give it to us (of course under the conditions that if you break anything you are responsible) and just bank on the fact that there wont be any “rogue teams”. I really cant see blowing thousands of dollars and man hours in a robotics team, then going and doing something that would get you kicked out, and hopefully permanently banned from FIRST. If some team did do that then just kickem out, and get on with the competition. And dont give me something about their robot going crazy and hurting someone, the operators are behind windows that would stop a bullet, and everyone else is far enough away that they can get out of the way in plenty of time. Its not that there is absolutely no danger involved, its just that the chances of someone getting hurt (first you need a “rogue team” which is unlikely enough, then you need them to put a lot of time and energy into building a killer robot, then they need to have it actually work. If they can build this awesome killer robot why dont they just build a good robot and win the competition?) are thousands of times less than those of the human player getting hurt in last years competition.

It would be very helpful to a lot of teams, and more people would probably end of frying their OI so it would also make for increased profits too. In the end everyone is happy, except maybe the lawyers.

Has anyone used a Y connector and used something like… HyperTerminal (I think that would work) to monitor the signals between the OI and the radio transceiver? I’m just curious what it would look like.

Orrrrrrrrr. Lets not

why would you want to ban a team permanently from FIRST, why, would punish a group of people for somthing that one person potentinaly did, and why on top of that, would you take FIRST away from people who could join that team in the future, kinda takes away the whole reason for FIRST

so in my opinion, (the half a nano-cent its worth) i really would plug my favorite saying, sure we can have fun, but glances down at the scar from the radial arm saw on my arm lets try and play it safer than sorrier

You forget: IFI sells gear to many different groups, including some whose members might not have the highest standards of gracious professionalism all the time.

Besides, the dongle pinout’s enough for me. Disable, autonomous. What more do you need?

Full auxiliary channel access :slight_smile:

And you would need this why?

Well, my theory is that Dave’s cooked up a game so complex that it required more than the RC could handle. Since it’s kinda late in the game to develop a new one, we’re getting TWO of them this year. And each requires its own modem and such.

:wink:

I would like to see a super dongle, that is finished out in a nice breakout box with clearly laid out and labeled switches that allow for autonomous, disable, extra channels and, heres the biggie, power.

Right now, if you want to use the robot away from an outlet, you need to use a bunch of 9 volt batteries and a radio shack barrel connector. It works, but it seems like a really ugly and inefficient solution. And you use lots of 9v batteries and those buggers are expensive!

If someone could put together a project box that had all that, and enough battery power to run the OI and radio for say 15-20 minutes, I would would be very happy. I’m not to worried about getting all the channels, or knowing exactly what the OI is trying to say the the AC, but being able to conveniently power and disable the OI would be worlds better then the current mess of a dongle we use (ACK! which switch is disable? Crap! that was auto! ACK!).

While I was thinking about my ideal dongle switch, I thought that while training new drivers, it would be fun and maybe even useful to flip a switch and simulate a faliure on the bot. Perhaps knock out one side of a drive train, or simulate a breaker tripping. I see a lot of drivers who panic and don’t understand why the bot ‘won’t go’. If they had some experenice, they might understand that a breaker has over heated, and needs to cool.

I guess thats more of a software deal, but any thoughts on that?

-Andy A.

I just looked at the OI reference guide. Building a box to intentionally screw up your robot should be no harder than building a box to control your robot for any other purpose. Assuming you use the buttons on Port 1, you have four digital inputs–eight if you disable them on Port 1. Additionally, you have four analog inputs to work with as well. If you wire up a set of resistors connected to switches, you should be able to have many potential issues. Then just add a smidge of code to set your PWM values to 127 (or whatever it’d be stuck as).

Just make sure to keep that box clear of the competition!

Why not get a power inverter that plugs into your car’s cigarette lighter and has a standard AC outlet. Replace lighter end with the anderson connector used for batteries. Then you can hook it up one of your extra batteries.

Wouldn’t it be cheaper just to regulate the battery and feed that to the OI directly?

We were hoping to completely duplicate competition control as much as possible. All you practically need is the pin-out, but we also want to provide power, radio and change team color. In other words, they would plug in competition and be provided everything that happens in a competition. It would be very useful for training new drivers.

You don’t even need to regulate it, the OI will be happy with 12 V (after all, that’s what it gets when the tether cable is connected).

I still dont see why it would be necessary to have a “super dongle” the dongle we use is a box with three labled switches, Auto, Practice and Power. Team color an easily be done just go to radioshack and buy a couple of blue and a couple of red led’s. The power would not be any more compact if it was a power supply to the competition port than if it was going to the regular pin for the power. It is impractical for IFI to release anything more than they have done.

If you want to simulate problema and you use less than 4 joysticks then get the pinout for these joysticks and make a switch box that would attach to the pins for yaxis x axis and all of the buttons. Then in the code p4_y could do something like cut power to the motors or rest the circuit breakers. If I remember there are 12 different inputs for each joystick, 4 for the hat 2 each for the x and y axis 2 buttons on top, one button by the thumb and the trigger. by wiring these to switches and assigning a binary number to each possible thing to go wrong you could have 2^12 or 4096 different problems. The software would see what switches were open and what was closed and then simulate the problem. Doing this now would also give you a nice set of switches to use as preprogrammed arm posistions or to use to reset pots in competition. This may be a more practicle use of your time than building a “super dongle”

Security through obscurity is never a good tactic. Look at a commonly used program that some of you may know, Windows. It’s source code is not available to the public. Because of this, it is harder to write virii (because you can’t see evident holes, you must find them.) Now look at an open-source operating system, Linux. You could see the code and find holes, but for some reason there are less virii for Linux than for Windows. (Yes, I know it may be because of less Linux users… but my point is still valid.)

If somebody wanted to go through the trouble of making a killer robot, finding the funding, etc. they will go through the trouble of figuring out IFI’s pinout positions. Right now they are just penalizing teams that may want to use it for legitimate, helpful, purposes… such as TonzOfun.

Open the protocol/pin diagrams.

Actually, it’s very frequently a good tactic, so long as it’s not the only tactic. Why make it easier for someone to compromise the system? Just make sure that if it’s guarding something important, there are other measures to prevent unauthorized access.

As for the Windows-Linux analogy, I don’t think that that really helps your point. You’ve pointed to a correlation, but haven’t established causation—there are many more facets to that issue that should be considered.

By the way, it’s not “virii”, it’s “viruses”, both in English and Latin. Here’s why. (Scroll down…the article tackles other, related issues first.)