I/O expander

More and more i see teams running out of I/O ports, an expander that gives more analog and digital ports would be really nice

Usually most ports are consumed by quad encoders, (for teams that dont have an LCD) jumpers for auton, and pnumatics
Having an expander would allow teams to use more complicated designs that rely on a lot of these sensors

Although depending on the speed of the expander it might not work well with sensors that need to be polled quickly (like quad encoders)

Id prefer UART over I2C because its faster and there are 2 ports, but with I2C you can chain together as many as you want

Pardon if I’m wrong, but IMEs go through I2c, and I can’t imagine that many optical shaft encoders being used save in a full coaxial swerve. What do you guys use all of them for?

usually 6 digital ports for encoders and 3 ports for bumper switches, that only gives me 3 ports for pnumatics and status LEDs
analog ports arent used as much though

Why would you ever use the quad encoders? The IMEs are plenty fine, and most issues have been worked out…
I2C on the cortex IS Faster than UART is.

A sensor port expander would be contradictory to the Vex robotics constraints.

They designed the cortex with the amount of ports that they have currently to put a challenge in their games. It makes the teams prioritize what sensor will be necessary for the job being done.

If you are having trouble with the Optical Shaft encoders taking up too much space in the digital ports, why don’t you only plug in one cord and have a separate task counting the ticks of rotation? You lose direction in your reading, but that could be figured out by which direction your motor is spinning as well.

IMEs have static issues, installing them is hard because motor screws strip a lot, you have to re attach it to another motor if it breaks and you dont have a spare

the same could be said about the power expander, it expanded our power contraints

IME Static issues are almost nonexistent for me, and if they do arise(which does happen), I just use anti-static spray, and my robot works like a charm!
Installing an IME requires patience, I’ve installed a fair share of IMEs, and I have found that by taking my time(and using the proper screwdriver) I don’t strip screws.

I feel that we shouldn’t expand the number of ports, but rather the usage of I2C. We only have one sensor on I2C and we could easily put rangefinders and gyroes on the interface. The only issues we have with I2C are its relatively high learning curve for effective usage and that the cables for it are short and unshielded. But those can be fixed fairly easily with a simple guide and possibly a re-purposed USB cable.

You could move those bumper switches over to analog

I didn’t know that works. Can you elaborate?

This will probably answer your question: http://content.vexrobotics.com/docs/inventors-guide/main-2008/05-sensor-06272008.pdf

The digital pins read 1 or 0, either the switch is closed or it’s open. The analog pins read a range of values, not just on or off, usually based on the variable resistance of whatever analog sensor you’re using (more resistance, lower value). However, if you treat the switch as an analog sensor and treat it as pressed when a really high analog value is returned (I can’t remember the exact range on what’s returned by analog sensors in VEX, it’s been a while) it can effectively act as a digital input.

analog ports pull up to about 255 so grounding them will reduce it to less than 16
this is a little harder to implement, though

Interesting, thanks. I had never thought of that. This may free up some ports for digital sensors for us this year.