V5 Addressable LEDs

How can I upgrade vexCode pro SDK version?
I find something difference between 20220726_10_00_00 and 20220215_18_00_00.
I can’t find “index( )” and “id( )” function in “vex_tripot.h”…
So it can’t work succussful on vexcode pro.

It’s only working in the vscode version right now, I believe there will need to be a vexcode update before it works there.

nvm james corrected me


There is a way to update the SDK in VEXcode Pro, I’ll explain when I’m back in the office next week.


What did the new firmware update add?

Also what makes it possible to address WS2812 chips like that now? Reading past posts I thought bitbanging those is not practical because of the 10ms triport update/refresh?

Can this be done in the Python version of VEX Extension as well? Kinda wanna learn how it works and program it from scratch and not just use James’s lib blindly.

1 Like

ok!! I can’t wait for update!

We added native functionality to the 3wire firmware to address WS2812 LEDs, see my previous post regarding limitations.
(fun fact, a proof of concept was written by @RanchSauce during his summer 2021 internship)

By adding to the 3wire firmware we avoid the need for bit banging.

It’s not supported by Python, I’ll add something for whenever we do the next VM update, but that won’t be anytime soon (it is supported on EXP in the same way as V5). We also did not add directly to the C++ classes as it not completely plug’n’play, at a minimum you have to make your own cable, this falls into the hobbyist realm.


I have some ideas for making a PROS library on top of whatever API Will and company make for it to control the lights.

I am curious though if it’s possible to update light devices on multiple ports in the same frame? i.e. not needing 30ms to update 3 lights, being able to do it all in 10.

1 Like

Not possible. The LED data is clocked out using SPI (1 bit of pixel data becomes 4 bits of SPI data). The single SPI channel can only be directed to one 3wire port at a time.


Just to make sure I am following, multiple 3 wire port expanders would bypass this restriction?


yes, you could use multiple expanders.


Currently I am using two of my strips on an expander, and one on the built-in ADI ports. This seems to solve basically any issues I had been having with power draw limits and such.

1 Like

There’s no support for the addressable LEDs using blocks, it’s not even really supported using VEXcode. The demo project is used with the VEX Robotics VS Code extension.


So like can you just connect a led strip to the brain to power it and use a remote to control them?

you could do that, but you could already do that.

this lets the user program control the lights.


sylib addrled controller release soon :eyes:?


Nice, very very nice.

Do you know how to update SDK?

Doing a fresh installation of the extension / app seems to have done the job for me.


That is not the correct version of the SDK, you need 20220726_10_00_00 or later.


is anyone having issues with getting an orange color using hue, and sat? it seems to jump from red at 59 to a yellow at 60, like it’s missing a section of the color wheel.

1 Like