VEX IQ Internals

Hello,

I was wondering if someone could provide technical details on the components of VEX IQ. I’m particularly interested in how to hook up additional sensors, etc.

So here are my initial questions:

  1. What type of microcontroller/cpu does the Brain have? Atmel? ARM? Is there any possibility of programming it with Arduino code/libs?

  2. Obviously the ports support i2c and also have power. Do they also have drivers for the motors, or do the smart motors have drivers embedded inside?

  3. Can the ports handle straight digital I/O? Analog Input? Or only i2c?

If VEX could answer these questions it will save someone from having to do a teardown :wink:

I’ll start with that!

Josh

Hi Josh,
We intend to provide full technical details on the VEX IQ system so that advanced users can do “cool stuff” outside the normal system usage – but this is still a few months off.

-John

Josh,

Until we can provide the full technical details, here are the basic answers to your questions:

  1. The main processor in the Robot Brain is a Texas Instruments Tiva LM4F (formerly called Stellaris) 32-bit ARM Cortex M4F processor.

  2. All VEX IQ devices except the Bumper Switch contain a Texas Instruments MSP430 processor and communicate back and forth to the Robot Brain via I2C API calls.

  3. All three. Each of the twelve ports on the Robot Brain can read one channel of digital input (Bumper Switch), one analog input channel (not used currently), or I2C communications (Smart Motor, Touch LED, Distance Sensor, Color Sensor, Gyro Sensor).

Regards,

  • Art.

I’m also interested in adding other sensors on to VEX IQ

So from what I understand each sensor communicates via i2c, each sensor board contains a MSP430 processor,

If one was to breadboard up a simple say temperature sensor such as the DS18B20, what needs to be loaded into the MSP430 so its recognisable by Robot C

Or if I use a PCF8574 I2C IO Expander what do I need to load… A simple schematic may help

Or is this level of extensibility several months away…

regards

David

Hi dragonslayer,

The documentation and schematics regarding the VEX IQ I2C communication protocol, including sample code for a ROBOTC program on the VEX IQ Robot Brain to communicate with a TI MSP430 LaunchPad is available here:
http://www.vexiqforum.com/forum/main-category/technical-discussion/3963-vex-iq-i2c-documentation

Regards,

  • Art

JVN/Art,

Was the I2C protocol the extent of the ‘full technical details’ that JVN mentioned in his earlier post?

It seems like programming language support for the IQ brain has exploded recently, but none of these are exceptionally good at advanced things and all of them have a lot of frustrating quirks. Is there a basic way of programming the IQ brain?

Thanks,
Andrew

Yeah, I also wonder about the actual internals to the point of custom firmware directly interfacing the HW.
My understanding is that both RobotC and ModKit, as well as Python/Blockly developers have access to lower level info so they can provide custom firmware implementing their respective runtimes.

Somewhere in between is the serial line protocol used to manage the brain firmware/content. I have seen that partially documented in the SmartRadio SDK, not much in detail though…