Ye old IFI

Im a marketing newb, I build, but Im still a marketing newb. And i have an idea, an idea to build a robot for the marketing team to take to events, that is run off of the IFI controllers. I built one my first year of FIRST, and want to again. Problem is, I cant remember how. Who can help me with the layout of the breakers, victors, spikes and pwms?

When I get a little more time on my end, I can elaborate on this a little more thoroughly, and there’s surly someone who can answer better than me (not having actually competed in the IFI days), but I’ll give it my best shot.

An overview of the control system can be found here. Basically, there are two parts, the Operator Interface (OI) and Robot Controller (RC). These are the predecessors to the cRIO and driverstation, respectively. Everything plugs into the RC (it has rows of pins for all I/O types you’d need). As for programming this, start by going here. Eventually, you’ll need Microchip MPLAB 7.2 and the C18 compiler. You can find both of these online somewhere (although I think only a trial for the compiler), but things would be made much easier if you could find your install discs from a few years ago.

That’s the best I can do in the short amount of time I have, but I’ll get back to you later in the day with more.

I would kill to be able to build an IFI based robot right now.

So jelly.:stuck_out_tongue:

It’s nearly the same layout as with the cRIO. Signal (PWM and relay) and sensor cables just connect to the IFI RC instead of the cRIO. There is no wireless bridge, just the IFI radio that plugs into the IFI RC.

Uh, not respectively. The OI will not work to control the robot if it is used on the robot. They will be labeled as Operator Interface (which has a small display and a selector button) and Robot Controller (which does not have that display).

Here’s the FRC wiring diagram:
We have some other IFI era info documented here

An alternative to learning to program it yourself is to experiment with the Robot Controller you have and discover what the program already on it will do for you. Since it ran a robot at one time it’ll probably still be setup with that original program.

If you find you need to write your own program:

  • If you have the original MPLAB installation for FRC (compiler version 2.4) then the default code and FRC libraries linked to in earlier posts will work (the FRC libraries were compiled under version 2.4).
    *]If however you get the later version of the C compiler (version 3.4) now available online then you will need to start with the code from Kevin Watson’s site and use the matching pre-compiled FRC libraries (version 3.x or 2.4 are available).

I have at my disposal 4 interfaces, 4 radios. I have electrical parts for all of them to.:cool:
Some random parts i have.
An old gold circut board.
lots of 20 and 30 breakers.
a mile of cables.
I have some victors and spike relays
A robot that needs controls.
I actually have a controller set up with 2 joys and a Op interface and radio. I need to find the corresponding Robot interface and radio.
I have the little board that the 12 V connects to. I hope this works :eek:

Still searching for:
The backup battery
The little red black and gray blocks that could fit together that wires go into
The pwms we have that the programmers wont throttle me for taking(our team is low on the things)
Other random electrical junk ::rtm::

Quick question while we have the experts looking – does anybody know what that ‘dongle’ between the USB and the 9-pin (serial?) port is?

We’ve got a couple of those old dongles, and I’ve often wondered if you can use the USB side of the orange VEX cable with a passthru or cossover 9-pin serial? If you’ve tried that out and know what actually works, please let us know. We’ve had some weird issues with our old (orginal) USB-to-9-pin dongle and the newer Easy-C code when programming our old IFI controllers.

(Specially: the on-line window doesn’t work, and it appears to download but the program never gets to the IFI controller.)

Keith Hall

If this is what you’re talking about, then its a USB to Serial DB-9 (RS232) adapter. Necessary since the vast majority of laptops don’t come with serial ports any longer.
For the IFI controller it’d work with a regular serial cable, but not with a null modem cable.

Can’t help you with EasyC operability on the IFI controller. I didn’t know EasyC was capable of that.



You’ve forgotten the later years of the IFI system, Mark. It was compatible, all right, and I’m pretty certain multiple teams used it.

I think Jess is going to find a new victim for the clipboard on Long Island for forgetting about that…:stuck_out_tongue:

…and I’ve got five or six licenses for EasyC too :slight_smile:
It’s been awhile though since I’ve used it.

If help with EasyC is needed then you can email * [email protected]* for assistance.

You could use any 7.2 volt rechargeable battery as the backup battery, you would just need to have a charger for it and an end you can put 2 female tab connectors to attach to the RC. Don’t bother using the red,black and gray blocks. Instead just use the black breaker (fuse) panels and the gold fuse block.

The backup battery isn’t actually needed to operate normally, especially for demonstrations. It’s effect is only noticeable if you have a low battery or a very draining pushing contest, then the robot just stops for about 5 seconds before continuing on.

Maybe, maybe not… If the main battery gets too low, the IFI controllers didn’t have the capability that the cRIO does to cut power to the motors before the controller. So, you could get the case where the motors take all the power and the RC gets none, AKA an uncontrolled robot that the E-stop can’t stop. It’s happened (IRI 2002 for one instance).

If you operate without the backup, set the OI LED screen to show the battery voltage; if you start getting down in voltage, change batteries.

That’s not true for the 2004-2008 controllers and I don’t see how it could be true for the 2002 controller (it isn’t true for mine but the Master Code might have changed since 2002).

When the RC loses power, the speed controllers and spikes stop receiving a PWM signal that allows them to move. They immediately go to the no signal state and stop until the RC finishes rebooting and reevaluates the joystick inputs when it comes back up (~ 5-10 seconds).

What is your speculation on the technical reasons why you had that problem in 2002?

Surface-charged battery is what we think the problem was (they may have also had heat damage); the motors would start running when told to at the start of the match, but the controller would cut out. The motors would keep running, and yes, that’s keep running, at a slow speed, and the E-stop could NOT stop the robot. So there would be someone pushing the E-stop, and the robot would keep driving without anybody at the controls.

You might not see how it could be true, but that’s what happened. That’s one of the reasons the backup battery was put in place; that came in in 2004. The purpose of the backup battery was to maintain power to the controller so that you could stop the robot remotely–it’s not intended to provide enough power to drive around, just to maintain communication. So after 2004, it was a non-issue due to the backup battery.

I certainly disagree about the purpose of the backup battery.
It only saves the robot from rebooting in the middle of a match when the robot main battery voltage dips. Something that doesn’t matter in demo presentations. We use the old controllers constantly and have never included the backup batteries.

That would have been a really bad band-aid if it was to solve a runaway robot problem (from a different generation of control system). It would be a very high risk solution to depend on teams running with a charged backup battery if they couldn’t be depended on to run with a charged main battery either.
Estop plays no part. That only works in any case if the robot controller from any generation is listening and responsive.
I do know ways to accidentally power the speed controllers while the Basic Stamp RC from that generation is disabled, but I’d lean towards a corrupted Master controller program allowing that to happen. Which could have been caused by low voltage, but the solution is a circuit/master code redesign.


Like others in this thread, we’ve been asked to get our students to resurrect an old IFI controlled robot and get it in shape for demos and fundraising events…
The robot we have, has code on it, and runs, but only had limited functions. The marketing folks came to me and said, “Make it So”…or, get it to work and do what we want. I was not mentoring the team during those days and am once again looking at a “black box” I’ve got to figure out.
The posts here have been very useful, but I am having a very hard time finding the MPLAB V ~7…C 18…2.4 software. Which if I understand it, has the bulk of the basic code required in files.

Would someone be kind enough to find me a link to that, and apparently the correct or corresponding IFI loader software. There are a considerable number of links out there to MPLAB software, but it’s hard to sort through the stuff.

Thanks in advance,

Not sure if this would help any Doc, but we used RobotC to program our 2008 robot, which was the last one to use the IFI system. :wink: just sayin …