ROBOTC for VEX Robotics 4.06 Update Available

The ROBOTC Development Team is happy to announce an update to ROBOTC for VEX Robotics – Version 4.06! This new version is highly recommended and fixes a number of user reported issues and also adds a few new features and enhancements. We’d like to also thank VEX power user James Pearman for his assistance in helping us track down bugs and testing this build.

ROBOTC is available for a 30-day free trial period and works completely without an internet connection - If you have any questions, feel free to post them here or contact us directly at

Download ROBOTC for VEX Robotics 4.06 today!

4.05 -> 4.06 Change Log:

  • Fixed bug that may have crashed the VEX IQ when using the “getMotorSpeed” function.
  • Fixed an issue where the catalog entries for VEX IQ were incorrectly sized. This prevented “Tele-Op” programs from operating only when the debugger was active. This is now fixed and all users can operate their robot remotely without requiring the debugger.
  • Adjusted sensor polling rates to mitigate “I2C Error” messages on the VEX IQ brain – We’re still investigating the root cause of these issues with VEX Robotics, but this fix should prevent the issue from occurring as frequently.
  • Added a delay to the download process when downloading “Tele-Op” programs to the VEX IQ – The radio must be disabled to send a program to the VEX IQ and may take a few seconds to reconnect – ROBOTC was not waiting for the radio to reconnect before trying to open the debugger.
  • Added a “Get/Set” command for the motor regulation property for the VEX Cortex IMEs.
  • Fixed issue with commands like startTask which has multiple versions (overloads) when the command is compiled with the incorrect case (i.e. StartTask vs startTask) – Compiler was not selected the correct version (overload) of the function in this scenario.
  • Cosmetic: VEX IQ Message “Waiting for radio…” is moved to middle line of screen instead of bottom.
  • Added new and enhanced error messages on download failure to provide better troubleshooting support on the root cause of the issue.
  • Prevent updating the top line program name when file index is empty. Specially leave “TeleOp Pgms” on display instead of replacing with “Empty Pgm” when debugger starts up with a file slot that is not a valid file.
  • Significantly improved the error reporting when ROBOTC Firmware messages experienced a failure (communication from PC to VEX IQ Brain).
  • Fix a few bugs in the “File Management” dialog for the “Info” command to dump detailed information on a single file. Enhance the single file dump to also include displaying the option bytes.
  • Fixed various user reported issues with the ROBOTC Functions Library.
  • Updated VEX Cortex Competition Templates and Competition Include files to remove compiler errors/warnings.
  • Updated ROBOTC command so that Cortex IME-based PID can be disabled within a user program.

I downloaded the update and have been testing it all weekend with one our bots. So far, knock on wood, everything is going great! A couple of times I would get the following error: Failed to download user program file to robot controller. Error “failure setting program number into robot” that would freeze up the brain and would need the battery popped out to resume. I think the brain itself froze once or twice but after re-downloading the firmware, and not repeating downloads too fast, it was fine. Bottom line: No I2C errors and the programs my kids wrote run without issue. As of now, we’ll switch back to RobotC.

I have noticed one small bug that I wanted to share. My team using RobotC notices that when they pop the battery out to charge overnight, their driver control program disappears when they turn the robot back on the next day. If they simply power off, then power on without removing the battery, it stays. Their autonomous always stays on but the driver control mysteriously disappears when the battery is removed. This has happened every day this week and over the weekend so it’s safe to say it’s not random:)

Hi - does this update include any improvement to the gyro sensor calibration that would minimize “gyro drift”? We’re really struggling with that.

I was unsuccessful at reproducing the problem you describe. I kept the battery removed for 8 hours. I will try again and for a longer time without the battery. Have you updated or tried reinstalling your Brain’s firmware?

We’re still getting a lot of the I2C errors during remote driving. It’s kind of scary knowing that the team work challenge is effectively single elimination. One bad run in the finals and you’re done.

Some of the movement examples such as move forward and display, etc do not work. Methods using encoders do not work (reset, setMotorTarget, moveMotorTarget, etc). The encoder values never change. Is there something specific setting required or work only with Physical mode? Thanks.

What do you mean, here?

I don’t think any of those will do anything in the emulator. They must be connected to a robot to read the encoder.

Does that answer the question?

I think so. Was trying to do some code ready before having a chance to plug in. I thought it might simulate the motor moving so the values would update. When it is straight motor speed, the values change so I thought it might work the same. Oh well. I will have to wait and try it out. One of our motors is not working so we have to wait for order delivery. Thank you.