Gamecube controller support

To start off, I will preface this by saying I’m judging the controller out of a place of wanting the V5 controller to be the best, and while I feel that there are some decent improvements with the controller currently I see more issues that they introduced and just feel like odd decisions made by Vex. I know it isn’t the most reasonable thing in the world to ask, but would it be possible to allow support for other sorts of controllers for use with vex robots? I am personally a big fan of the GameCube controller, coming from a background in playing melee, and super smash bros. with siblings and friends alike throughout my life. I believe that the GameCube controller is just so much more efficient and compact than the current iteration of the controller with v5 and I am not a big fan. When it comes to a GameCube controller my fingers rest comfortably on it and are open for using the other buttons. While V5 helps make the buttons on the controller more accessible, the size of the v5 controller makes it quite uncomfortable to hold, as well as making it a pain to use, with no real way I can hold it comfortably and access any of the buttons. This is where I feel the GameCube controller has its biggest advantages over the current V5 controller. The GameCube controller also reigns over the V5 controller in the way of size, as the V5 controller feels clunky and unnecessarily large. It is much like the flawed like the original Xbox Duke controller. If anyone else remembers the controller, it was a massive frame, and wasn’t the best controller, though it flowed much better than the V5 controller ever has. I am severely unimpressed by the controller design, which could have gone upward from V4, but the current iteration just feels really uninspired, bland, and built for the hands of a lumberjack. On top of that, in my personal opinion the V5 controller, despite having the screen in it and all just in general looks really cheap and tacky as well as feeling so. The grip is the most notable part, being able to feel the seam of the controller, and the general texture of the material being rough leads to further discomfort. Though it is meant to be a surface good for gripping on to, I feel the V4 controller did this just fine with the rubber siding on the grips of the controller, is non-invasive, and the texture feels just fine and smooth, while also having a level of security while holding. This leads me as a gamer to feel very disappointed and extremely outraged by the design decisions that were made with it. On top of that, the input lag of the controller is just simply the worst thing I have ever seen in my entire time playing with any sort of controller, and YES I did play super smash bros. brawl with the Wii remote. sometimes the connectivity of it is so bad that a TV remote could surpass its responsiveness, my Roku at home responds faster to any input I make, and that simply atrocious that a controller meant to be COMPETITIVE lacks competent input times. I feel as well the issue that exacerbates this is the lack of analog inputs, this leads to me sometimes pressing a button, despite the button press not registering with the brain. On top of this, the general ergonomics don’t help to guide my hand into any general position while holding that feels right, if my hands are further on the grips my fingers feel uncomfortable moving to get to buttons, and back to the sticks. However, if I move my hands up the controller, I can’t place my fingers along the back of the controller without them feeling uncomfortably placed, though I can fluidly move between the sticks and the buttons. I feel there is no real middle ground between comfort and usability. I have a few smaller nitpicks, like the sticks and their odd and weightless movement, the odd choices when it comes to the grips on the sticks, but I digress, vex likely isn’t going to make any changes to the controller and the way it is currently produced with this generation, so those of us who care about the quality of a controller, and of the longevity, reliability, and functionality of a controller are likely not to be satisfied until the next generation of brain comes along. P.S. Please add gyro functionality next time around, it would be an interesting feature.

tl;dr Vex has some controller problems that are unlikely to be fixed this generation, this could be alleviated if we had the ability to use third party controllers.

3 Likes

Third party controllers would be an interesting move for Vex to make at this point. The only way I could really see this working is if Vex started to sell adapters for Partner Controllers.

Because V5 controllers are built specifically to interact with the Brain, it would somehow have to be routed through the V5 Radio. Maybe this is something Vex could sell with a USB port, but it’s doubtful to happen.

I could see a “Mini-Controller” or the like from Vex to go with V5 in a future V5 product reveal. (Worlds this year? Kinda unlikely.)

I assume we are all aware of why the controllers are large. (Albeit larger than need be.) just the fact if the matter is that boys traditionally have larger hands than girls, and, purely statistically, there are more young men involved in Vex than young ladies. (Hence the #GirlPower movement)
[Again, nothing sexist, just an observation.]

So, I’m pretty sure the space inside the controller can be condensed some. (I’m too afraid to crack open one to find out. CAD or sketches might exist out there somewhere, though.) Maybe we might see these “Mini-Controllers” at some point, but I wouldn’t get my hopes up.

1 Like

I mean, Microsoft did eventually make the Controller S for the original Xbox, I don’t see any reason why Vex couldn’t eventually too if they can still fit an LCD with that resolution in there.

1 Like

@Sunshot_Ghost Third party controllers would be awesome!!! I would recommend (if you wanted to use a gamecube controller) that you find a gamecube to usb adapter, you can find these all over and they are relatively inexpensive. Before you do so, see if one of the more experienced programmers here (there are so many which makes this forum so great) can come up with a way to effectively translate the gamecube inputs to something that VCS can understand.

Also, it would be great for VEX to make a new V5 remote, there are a few reasons why we will not be able to expect such:

1: VEX only recently rolled out V5 in the first place and is still fulfilling orders, this would mess up a lot of things on their end.

2: This would cause V5 prices to go up even more, unless VEX decided to create this controller as an extra accessory, but demand would be very low for it as everyone would already have their basic controllers, and there are no problems impeding with the direct function of the basic controller

3: A redesign at this point would make no sense as the controllers are (as previously stated) new, and there is nothing pointing to a direct and urgent need for a new design.

@Got_a_Screw_Loose I also do hope for a better controller someday, but as for now, I believe that it is out of reach. If you wanted too though, it could be possible to make a .stl file of a better controller shell, printing it, and transferring the controllers components. I do not believe though that this is competition legal and would love for VEX to allow for minor physical modifications to their parts as long as they do not interfere with actual function (alike to the nonfunctional decoration rule). This route would also require you to do a lot of experimentation with a controller, so I would say only risk it if you have a broken one laying around that can be taken apart “for scientific reasons” (my personal favorite excuse).

Good luck though! I am looking forward to seeing what people come up with in the future!

2 Likes

This would be fairly straightforward to implement (relative to reverse engineering vexnet) by emulating a partner controller through the partner port. The caveat, however, is that this way is in theory only VEXU legal (Q&A needs to be posted to confirm past rulings), and will likely never be VRC legal.

1 Like

For reference, this technique was discussed in more detail in this thread.

1 Like

I would love to see support for the old controller, which I liked much better. maybe a USB radio key you could pop into a cortex controller to have it be able to connect with a v5 brain?

2 Likes

A few years ago I did this for fun.

That was for EDR/cortex.

It’s a bit harder with the new system but technically not impossible.

1 Like

How about doing this with a keyboard. . .

1 Like

Did anyone use this function with the Cortex function? I could see this being pretty fun, it’s just not really a competitive feature.

1 Like

To do this you would have to have the firmware on how to interface with the vex arm devices.

My bet is that vex will never allow something like this for VRC.c The reason for this is the same that PTCs are included on the motors: To level the playing field. Robotics is a sport so that if people have something different that could have an advantage (however slight) to controlling the robot then they wouldn’t create it. Also interfacing with them would be extremely difficult for vex to change at this point. It would have to be a 2.4ghz dongle that can take the feedback from the gamecube controller and turn that (I would assume serial data) into a 2.4ghz VexNet connection. The thing is is that we don’t know how exactly that would works. Despite all of this there might be a work-around.

Some of you may be familiar with pros. PROS is an open source program so you can essentially “hack” it. You don’t even need to hack the firmware is the funny part. With wireless downloading pros is connected through a usb cable that is transferring serial data from the computer to the controller. In the API you can use a printf function. You can use this to print information from the computer to the microcontroller.

Now how you would setup the controller is that it also uses a usb cable transferring serial data from the controller to the computer. You could use a python library to take that output of the controller that can talk to a library that can integrate with PROS’s C++ and then take that data to printf to the microcontroller. Then based off of what the printf says you can program to do in c++.

It would be a tedious process to get that working so I honestly wouldn’t suggest it if you have a robot to create and improve but if you can find a library that can interface the c++ code to python or some other sort of serial logger then you could 100% do it. Vex won’t do it for you but that would be a way to get around the system.