Programming Vex Arm9 Pro

Hi everyone,

I’m an university student and I’m going to start the three year thesis;
my project consists into programming a simple car with VEX Arm9 Microcontroller via WiFi directly by Pc (not using a joystick).

I want to know if I can program the microcontroller with C, or I can only use Eclipse.


The Language is C++ I believe, Eclipse is just the IDE not the language. Search ARM9 on the forums there are many posts and a couple members who have some experience with the ARM9 VEX PRO, Quazar seems most active and has posted a bunch of information to the wiki.

Cheers Kb

Correct on both counts.

The VEXpro is a Linux computer that has a pretty standard complement of libraries available.

The library you use to get access to most of the motor/sensor ports is libqwerk, which is a C++ library. So, you can write the vast majority of your code in C, and just use a bit of C++ at the edges to get at the I/O ports.


  • Dean

Thanks everyone, you’re very kind. :slight_smile:

I’ve used Eclipse for a Java project some time ago, but I think there’re some better IDE. :wink:

Now I’ll search more info, I’ll contact you for other question! :smiley:

I Have a number of questions about the Vexpro, if you can help it would be great.

The first is whether there is a master processor / user processor similar to the cortex design.

Specifically if there is a need to download master processor firmware.

Have you been able to get a joystick to work?

I would like to use a Kinect device to function as the eyes of a robot using the vexpro do you know of anyone who is working on such a project.

Cheers Kb

There is not. The ARM processor runs both the operating system and your user programs. The VEXpro does have an FPGA which acts a bit like an I/O processor and handles all the servo/motor ports and encoders. This reduces the interrupt load on the processor since the FPGA can handle all the timing and counting autonomously, and the CPU interacts with the FPGA when it wants to change a motor speed or read an encoder.

It is different, but there is software that may need to be flashed (re-imaged is the VEXpro term for this) periodically. The VEXpro has a built-in 16MiB flash drive that contains the TerkOS (a Linux variant). You run user programs by copying them over the network to a folder in this filesystem. You can also change any part of the TerkOS operating system if you want to (full source is available!).

Re-imaging will only be needed if you corrupt your VEXpro’s filesystem or to install TerkOS updates. I’ve only ever done it once, just to go through the process, and it was similar to reloading master firmware on a Cortex.

I had to back-burner that project because I had too many projects in-progress already. I verified that I could get all the pieces going, though, so at this point it is “just a simple matter of code” to put it all together.

I’m not aware of anybody doing this, but I don’t see any reason it couldn’t be done since the VEXpro has a USB port.


  • Dean

Thanks for the reply and information. I am a bit worried about having time to work on this as well. I did get a Kinect and will try to work with it in the coming weeks and if successful just might order a Vex Pro (If I don’t pick one up at the Vex Store at Worlds:)

Cheers Kb