Integrated Motor Encoders Now Available!

We are pleased to announce the availability of VEX Integrated Motor Encoders.

This product replaces the plastic cap on the back of a VEX 2-Wire Motor with a quadrature encoder. Install this product and connect it to your Microcontroller via I2C to receive direct feedback from the motor. This encoder provides information on how fast the motor is going, how far it has traveled, and what direction it is moving. These encoders provide higher resolution than the current VEX quadrature encoders.

There are two different versions of the IMEs, one for each of our motor types (one for 2-wire Motor 269s and one for 2-wire Motor 393s).

Programming is required with these encoders. Check with your software provider for more details.

Motor 269 Integrated Motor Encoder (2-pack) - P/N: 276-1985 - $29.99 USD

Motor 393 Integrated Motor Encoder (2-pack) - P/N: 276-1321 - $29.99 USD

To go along with this product, we now have 4-Wire Extension Cables available in a 12" length. They come in a 4-pack.

4-Wire Extension Cable 12" (4-pack) - P/N: 276-1949 - $19.99

Cool! This should help make much more compact robots!

A few questions:

  1. Does this require an upgrade to robotc 3.05 and a cortex firmware upgrade or will it work with previous versions?
  2. How many encoders can be dasiy chained together? Can all 10 motors be diasy chained if we really wanted to do that?
  3. We may need longer extension wires available. Motors up near a 30" goal mean long extension wires. And you’re forced to daisy chain everything together versus using different ports.
  4. When do the programming instructions come out?

The I2C port:

Yes, very cool, been waiting for this for several months.

RobotC 3.05 has a hidden (enabled in prefs) I2C sensors tab that allowed up to 8 I2C devices to be connected, that looks like the limit for now. Is there an I2C address that needs to be set for each encoder or is that automatic?

Oh boy, I have (and probably everyone else has) been waiting for these ever since they were announced at worlds! Do IEMs (can we call them that now to reduce confusion?) have any documentation on how exactly to communicate with them?

Internally we call them “IMEs.”

No documentation from us beyond the manuals which are posted on the product pages, ROBOTC and easyC should each be releasing all sorts of cool things that you can do with the encoders. Each module does internally process the count and provides velocity feedback to the Cortex – I know this opens up a wide variety of options for our technology partners, and I’m know both of them are excited to get them out to teams.

NOTE – these do not control the motor. They are a sensor which straps onto a motor. Motors will still need to be driven via the Cortex 2-wire motor ports or by a Motor Controller 29 connected to a 3-wire motor port.

Oh my goodness!!! How easy are these to mount onto the motors and how much bigger are these than the normal back plates?

Whats the thread count on the motor screws so we can replace stripped and lost ones? Also what are the lengths of these new motor screws for mounting the encoders?

How is the daisy chaining accomplished? Is there a special 4 conductor ‘Y’ cable that performs the daisychain, or is there an in and out connector on the encoder? It’s difficult to tell from the photos.

There are in and out connectors on each encoder module.


it would be really cool if you offered a combo pack with a motor (269 or 393) a 29 and the appropriate encoder to cut the cost down a little for teams

They’re cool and all, but was just wondering if there’s any plans to basically repackage this as a new shaft encoder to replace the old ones? We’re not too sold on the idea of moving an encoder further away from the wheels :stuck_out_tongue: but love the new features of these ones! :slight_smile:


Very cool, much more compact than the old encoder.

Only the daisy chain way to connect all IMEs seem hassle if you have motors everywhere, wish there is a parts that of “hub” type which should be more efficient.

Wow! They look great!

I just ordered a set of each along with a set of extension cables. I think they will open up a lot more possibilities as most additions to the VEX product line usually do.

Now all I need is some support for I2C on the VEXPro so that I can use them.

I really like the fact that the encoders have ports on them. I think that vex should try to go this way with the rest of their motors and sensors. My and one of my teammates were thinking about how nice it would be to just have a port on the back of a motor that way you can basically use the extensions as wires. It would be easier when building the robot and also you could use different length extensions depending on how far the motor or sensor is from the brain.

I would love to buy some, but I won’t without the communication protocol being published. Boo to closed source!

I have some on order, should not be that hard to figure out the communications protocol, hopefully they will arrive before next weekend so I can work on it then.

How is programming them compared to the current quad encoders? I’m sure I can figure them out but would you say it is quite harder to program them or easier?
I am asking this because my team may get them soon but based on this I will probably wait till after my next tournament to actually put them on my competition robot since our code is near completion aside from 2 more autonomous runs.

I don’t know yet, however, in ROBOTC I expect to be able to read SensorValue in a similar way to the existing encoders. The counts per revolution is different from the current encoder and depends on which motor and how it is geared (torque or speed for the 393). Should have some example code posted (if they work at all) by the end of next weekend.

To use them you need ROBOTC V3.05 (and master firmware 3.20).

I don’t think a new version of EasyC has been released yet.

Seeing as I use EasyC it will probably be a simple drag and drop function block that has 4 “modes” ; start, preset, get, and stop. (Hopefully.)

and I know I will be able to figure it out if I just sit down and look at it for a while but I’m going to hold off on putting them on my competition robot till our next tournament is over. (Hopefully we qualify for worlds)(We have 2 more tournies and the design challenge.)

But when you do get them do you think you could post a sample code on the forum? just a quick snapshot or something. (I use EasyC but I can read ROBOTC)

(My club just uses EasyC because there aren’t many “advanced” programmers in my club and my club director sees EasyC as the easier to use program)(Not trying to brag or toot my own horn but I am the best programmer at my school right now)

What about the communication protocol do you need to know? Are you trying to use different I2C devices with the VEX Cortex? Are you trying to use these IMEs with different microcontrollers?

Please help me understand what you want.