V5 Controller Virbration programming

The v5 controller has a built-in controller vibration system. But why haven’t I seen anyone be able to program it? I was thinking of using the vibration system to vibrate when the cube intake was full.

1 Like

It’s documented here. Perhaps it was hard to find because the terminology used is “rumble”.


Yes I was thinking about that as well.

I mean, you should be able to see if the tray was full. I more helpful use of the rumble would be to tell if your tray was all the way forward or backward.
Although you could do both.

Admittedly I haven’t used the rumble functionality much, but I’ve never seen this issue. I’d assume they fixed it on the real (non-beta) hardware.

1 Like

I got it working just fine. Make sure that you only send vibration commands once every 50ms

is that how long the controller would vibrate for? 50 MS?

No, only update the rumble patter every 50ms. The command sets how the controller rumbles using mores code. It’s in the docs but I mist it the first time that I looked at them.

1 Like

TL;DR there’s a VEXos bug that only one command will be sent to the controller for rumble or screen control per 50 milliseconds, and any faster requests are just dropped (not queued or anything)


Fun fact: a rumble command is just a normal controller LCD text command sent to line 3 (the 4th line).
controller.set_text(3, 0, "..."); rumbles the controller.
In fact, this is what PROS does:


our team acctually cut away the vibrator

Why would you call that a bug ?

From a programmer’s perspective, there is no way to tell whether a command was successful or not, which I would consider to be a “bug”. At a minimum, returning a boolean to indicate whether or not the call was succesful would let someone fully wrap the underlying issue from user code.


Eden, I am sorry to say this, but if you actually cut out the vibrator from the remote (and you’re going to compete), you’re kinda going to have to buy a new one
Electronic components are not to be modified at all.


I think it’s because the wireless link doesn’t have enough bandwidth because if you look at the pros docs you can see that over wired you can change it much faster. I would be a big problem if you saturated your wireless link in competition with rumble commands.

1 Like

Ok, buts that’s really a PROS issue. VEXcode will block if necessary so you can’t send too many messages.

Interesting, I was not aware of that. Thanks.

I will see if we can report status back in future vexos/sdk update.


no, it is the beta version so i cant compete at all and the vibrations is so annoying

1 Like

Oh never mind then.
20 characters reeeeee