I know this falls a bit under the electronics category but next year it appears very likely that I will be both the lead programmer and the lead electronics captain. While I’m fairly knowledgeable in both, I have no idea what the I/O is for or what it can do (programming wise). Can anyone tell me?

I is for Input. It’s how the robot program can sense things.
O is for Output. It’s how the robot program can move things.

Can you be a little more specific about what you’re asking?

Sorry if I was unclear, but as I said i’m confused to.

Let’s see…

The I/O tab is only used if you have the Cypress board attached. The Cypress is the best/easiest way to use non-joysticks to control the robot.

Found that in another thread and so I was wondering of the potential possibilities such as can I use it for wiring a ps3 or xbox controller? Can I make a custom joystick and button pad (saw a few teams do that this year)?

And if so how would I go about programming it?

In its normal mode, the Cypress board can read the state of a bunch of switches and a handful of knobs, and control a few LEDs. In “enhanced” mode, it can also read encoders, touch sensors, and built-in accelerometers, and generate voltages and PWM signals. It is indeed a good way to implement a “button box” in addition to the USB joysticks or game controllers.

You don’t actually program the board itself. The Driver Station application reads it for you and passes the information on to the robot, where the program on the cRIO can read the values of the switches and knobs connected to the board. You will find the functions for reading it in either the Compatibility IO or Enhanced IO subpalettes (they’re in the DriverStation section of the WPI Robotics Library functions).

Alan Anderson is dead right
But am I wrong in understanding you want to use the cypress board to hook up the ps3 and xbox controller?
because both of those you can plug straight into your driver station and as long as you have the drivers for them will be recognized as essentially a box of buttons and knobs.(You can order in the driver station which USB ports they are associated with, to match how they are called in the CRIO)
Cypress board is very helpful, but particularly if your trying to make a custom arrangement to ease the difficulty of driving your bot.