VEX programming

I am looking to offer a robot programming class next fall. I am thinking that the VEX kit would be a good platform for the programming assignments/examples. I want to be using the same language © as the IFI RC. Has anyone heard official news that the VEX programming tools will support programming in C. Nothing on the VEX site seems to give an answer to this question. I need to know soon for budgeting reasons.

Thanks in advance for the feedback.

Not a definitive answer, but the VEX RC contains the exact same processor as the FRC and EDU RCs (I peeked inside), so I’d be pretty shocked if it didn’t support the same programming environment as those two products.

please search

I was a Judge for VeX in Atlanta and spoke to Sam Mahserjian, the Marketing Manager for Radio Shack about the programming module. He told that it would be out in the August timeframe. It would based on the same C18 compiler that we use with the full size controllers, but they are building a custom GUI rather then using MPLab. The GUI would also beginning users to code via flowcharting and blocks (similar possibly to the Lego tools) but they would be able to that side-by-side with the C code and would be able to edit the C code directly or just write that themselves.

Sounds like an interesting way of doing it. In addition, this was sort of verified at the WPI programming session in the conferences. Brad Miller said that the company doing the work for RadioShack were coming out to speak with them the week after Atlanta and how it might be more graphical similar to what I said above.

Hope this helps and clears up confusion.

BTW, being a judge down there was great and I was impressed with what the teams did without any programming ability.

Dave, thanks for the reply.

Greg, I did read that thread and several others but they don’t really answer my question. I need to know if the VEX system programming in C will be available for purchase. I need to put together a budget proposal and need to know if I will need to look to a third party for this support. I have also posted on the VEX site.

The company producing the development environment is Intelitek. The environment is called easyC and will be available when the programming module is available in August. You will probably need to contact Intelitek to get pricing information.

There is more information on the Vex Programming Accessory here:


Our sponsor (intelitek) is indeed developing the programming module for the Vex robots. Intelitek has quite a bit of experience in creating learning software. They write all the programs that are used on their CNC machines which are meant for schools. Although I am not a great programer, the module does seem to be rather cool. The flowchart aspect of it should make it easy for students etc. to pick up C programming. And no, I don’t have a copy (so don’t ask :wink: )

I just purchased the programming kit for VEX from Radio Shack. It comes with EasyC V1.1 and the indication is that EasyC supports user defined functions. Inteletek indicated that I need to upgrade for $50 to V2 to support this. Can someone confirm this? I’m supprised that after spending $300 for the VEX kit, $50 for the battery pack and charger, $30 for tank treds, $100 for a programming kit, I now need to spend another $50 to support user functions. I’m starting to think this is a never ending expenditure to get a basic programmable robot. Anyone else think this?

Easy C 1.1 supports user statements Not user functions. Easy C 2.0 supports user functions, global variables and some other enhancements. You can do quite allot with the 1.1 version. The problem is the code gets very long and convoluted. Being able to create user functions makes things easier and more readable. If this is for a Vex competition the 2.0 upgrade is free. The educational upgrade I believe is 25. Else they want 50$. Radio shack is not supporting 1.1 to 2.0 upgrades. You have to go threw intelitek. In my opinion 50 bucks is allot to pay for some thing that should have been released at the 2.0 level in the first place. There are allot of other improvements needed and I’m afraid Intelitek may try to put everyone on the upgrade tread mill.

uh, yeah. i got the prototype programmer last summer, so i don’t even have easyc 1.1. got mcc18 instead. what ifi told me was that if i want easyc i should buy a second programmer.

oops, i’m about to go off topic. seems to me that for an educational system there is an awful lot here that is off limits. the programming interface is intentionally obfuscated. if you ask ifi for information about the data coming from the radio, they tell you that that’s proprietary information, although it looks pretty much like a plain vanilla ppm stream to me. there is no information on the interface between the master and user microcontrollers in the controller and the sources for the libraries that handle it are not available.

that said, ifi are, indeed, very helpful in areas in which they are willing to be helpful.

oh, well, i guess this is an education of sorts, after all.

I’m an old programmer, but new to VEX. It appears that EasyC system calls are all blocking functions. The basic loop time is what - 54 Hz, but every time I make an EasyC I/O call, it eats another loop time. After driving two motors and one analog sensor - a simple line follower - I appear to be down to 18 Hz. That’s slower than the LEGO 20 Hz. Am I missing something? Is there another programming technique that doesn’t waste the time? Would MPLAB cure my problems?

I noticed that working with EasyC as well for my little shooter robot. The timing I was using for my firing mechanism was working abysmally, jumping by 200 ms at a time. I switched to MPLAB and solved all the problems.

Sounds good. Will MPLAB comfortably coexist with EasyC, or do I have to pick one? Does MPLAB offer any good libraries? I gather (between the lines of other posts) that MPLAB supports a subfunction of operations to be performed on the tick, rather than a main that stops every time you do anything. Sounds like a better model, though I’ll have to find some references on it. Any pointers gratefully accepted.

EasyC and MPLAB won’t co-exist at all. You have to pick one or the other.

MPLAB won’t have any libraries that are particularly useful for you like the ArcadeControl() function, etc. On the plus side, there is a loop in the MPLAB code that runs every 18.5 ms. Instead of the various get and set PWM functions, you access the values directly as variables. PWM_in# are the inputs from the RC, pwm0# are the motor outs. Most things are documented in the code and FAQs at