Another Idea for the Backlog

I love the pre built joystick options for steering in IQ Blocks. I’d like to suggest another item for the backlog (which I’m sure is very long).

Since the drivers are required to switch off, it’s likely there will be different preferences for different drivers. The simplest issue would be, we all like Arcade style steering, but some drivers prefer the right joystick and some prefer the left. You can not choose both and there doesn’t appear to be an option for toggling between the 2 in IQ Blocks. Some workaround for this in Blocks would be appreciated.

Really? Everybody prefers Arcade-style steering, even though Tank-style can give much more precise driver control, and is pretty much standard for higher levels of robotics competitions?

Sorry. My example was intended to be the my team’s discussion. Perhaps this helps clarify that I was not presuming to speak on behalf of all roboteers…

Middle School Team Member 1: Hey Coach ?
Me: Yes?
Middle School Team Member 1: We are having a problem
Me: What’s that?
Middle School Team Member 2: Middle School Team Member 1 and I like using arcade driving with out right thumbs
Middle School Team Member 3: But Middle School Team Member 4 and I like using arcade driving, but with our left thumbs
Middle School Team Member 4: But we drive Better when we are matched up Middle School Team Member 1 and Middle School Team Member 3 as a team and Me and Middle School Team Member 2 as a team. We all like using arcade style, can’t figure out how to use VEXcode IQ Blocks to be able to switch between both joysticks in the same match
Me: I see. Let me go on the forum to ask.

Is that more clear? I will endeavor to be more precise in the future.

Tank drive doesn’t seem as intuitive to the students as arcade style.


Hm… interesting feature for sure. Something we can consider as we continue to ideate on future improvements to the software.

In the mean time, I’ll work up an example on how you might be able to do this in code yourself by using a set of buttons on the Controller to toggle between two driving modes.


In short, you want a want to change the driver control by doing something like pushing a button. That’s not bad at all. We have a group at our summer camp that would “switch” which side of the bot was the front by hitting a button. A touch LED would indicate which side of the bot is the “front.”

In fact, as long as they are only using one stick, you could just code it so that if the left stick is at zero, then the right stick is controlling the bot, otherwise it’s the left controlling. So you would have BOTH arcade control.

1 Like


So… I’m not sure if my +'s and -'s are correct, and they would need to program deadbands as well.

But this would let both sticks control the bot with arcade control at the same time. It also would save you a button for the switching.


Thank you!! I’ll pass this on to them as a starting place and they can work on it from there.

I’m used to using robotc graphical so I’m not sure if the motor spins need to be in the loop or if they can just be above it. Setting the velocity on a different line than the line that makes the motor go is still a little weird to me.

1 Like

Thank you so much. We don’t have a practice until next week, and they are still in the game analysis stage, so it will be a while before they get to this. But I’ll pass it on and as part of their planning they may decide to split someone off to research this while the drive train gets designed and built.

Here’s the idea I came up with to solve this… you could use the separate thread to look for the “magic key” to switch the control mode - This example uses the Left Up / Left Down buttons, but you could add more logic here to prevent accidental switching by using more buttons.


1 Like

If you guys have potentiometer maybe you could have a lever that you turn to 0 degrees or 270 degrees to select it. That way it would work even if the bot was off.

No potentiometers on IQ (as far as I know…)

1 Like

Are there perhaps any levers or switches that IQ has? Those could be used instead

I believe the objective is to switch control schemes mid-match - since Student Drivers have to switch the controls to their partners at the halfway point of the match.

1 Like

In IQ they have to hand off the controller, so they are switching the driver controls halfway through the match. No touching the bot, has to be a controller solution.

Just turn the controller upside down lol.

But otherwise, it’s a code only solution like you said. Sadly I do edr so I cant help you with this one.
Still, best of luck!

We have similar code as the base for my roboteers. You cycle the modes (tank, left arcade, right arcade) with a button and it shows you by color on the robot which mode is running. (Red, Yellow, Green). We also set the light to Blue when it’s in autonomous mode to help stop “Hey why won’t this drive” issues.


I gave exactly this to them for their practice bot, and they like it, but am still working on leading them (elementary students) to work through programming it themselves for the team bot.

Also, split arcade is the fav.

1 Like

Broadcast needs to be inside loop to switch during match, yes?

Broadcast starts a separate thread, so it only needs to happen once as that thread has its own forever loop.

1 Like