LED strip driver

Would it be possible to add support for the chainable LED strip driver?



Hi Mirar,
Sadly the LED driver needs code to be changed on the Firmware to make it work. We don’t have any plans to add for the chainable LED driver but if you want to go ahead and try to do it, we’ll be happy to help you out.


I can probably do that, if I have time to get to know the codebase for the GrovePI… the protocol seems quite trivial:

  dx |= (uint32_t)0x03 << 30;             // highest two bits 1,flag bits
  dx |= (uint32_t)TakeAntiCode(Blue) << 28;
  dx |= (uint32_t)TakeAntiCode(Green) << 26;	
  dx |= (uint32_t)TakeAntiCode(Red) << 24;
  dx |= (uint32_t)Blue << 16;
  dx |= (uint32_t)Green << 8;
  dx |= Red;

TakeAntiCode is the inverse of the two highest bits.

Send dx with highest bit first with stable value on low-high flank (although I’m not 100% sure that’s correct).

What’s the quickest way of getting to know the codebase?

(Also I probably should get my hands on a GrovePI first…)

Hi Mirar,

I’ve managed to port the LED strip driver Driver code to Go. No firmware changes are needed. I can send it to you but it is slow for some reason, it takes about 30 sec between color changes.

Hi GrimmKull,
Awesome. Can you send a pull request to the GrovePi repository here https://github.com/DexterInd/GrovePi/tree/master/Software so that others can use it too.


Hi Karan

I’ve forked the GrovePI repository.

Since my previous solution was too slow, I added the LED strip driver to the firmware and changed the version to 1.2.
There is also an example for a single RGB strip in Go.
In the near future there will be an example combining this example with a Grove light sensor.

Once my solution is tested a bit more I can make a pull request and add it to the main repository.

The new solution is much faster about 1ms versus 29s from before. :smiley:


Hi Sanjin,
Let us know how you firmware turn out. We’ll be glad to merge the LED driver code.


Dear gentlemen,

I am very interested to use the led strip driver for GrovePi. I can see that you have managed to get it to work. Nice job! Is there a a u for me to use this code for my own little project?

Hi @liam37,

Sorry, we do not have any support for it right now, but you can check back after a few days. We’ll push some code into our GrovePi github repository and you can to give it a shot since we do not have the LED strip with us, to try it out.


Hello there,
Thanks for the reaction. I asked because I read in this post that @mirar managed to get it working on the GrovePi? Or did Ï misinterpret it? Otherwise, is you could give it a shot that would be awesome!


Hi @liam37,

The delay in pulling the code to our repository is because we didn’t have a LED strip to try out the example. We will push a code in shortly. Thanks for your patience.


1 Like

Ah no worries! Very happy that you’re giving it a try. Thanks a lot

Hi @Shoban, is there any news on the LED strip driver code for the GrovePi?

I’m very late to this particular thread and have been reviewing @grimmkull @Shoban and other contributions to the respective githubs. Has this board been fully supported? I saw one reference to the grove_chainable_rgb_led code and this commit talking about a firmware update but couldn’t find any references/tutorials/examples working with this specific board. Does it require a custom firmware, or is it fully integrated back into the primary repository? If it’s working it has the potential to make some very cheap/amazing home IoT lighting so I’m very interested if it’s working.

I believe this is still on our to be developed list; we haven’t see much demand for it yet. We will keep it on the list though!

Hi all,
I’m curious about this. I need to control a led strip from my raspberryPi. I have a grovepi + board, and also a “Grove - LED Strip Driver”. Is this already possible to combine?

If not, what is the easiest way to control a ledstrip with grovepi (or other easy solution)? Any pointers are welcome. (FYI; I’m building a Robot like digital assistent and want the ledstrip to light up in different ways, depending on what the DA is doing)

Thanks for you help.


Hi @luc.bors,

You could easily hook-up a led strip to the Raspberry Pi directly and have them controlled using this library.

Bear in mind that this library is meant for WS281X LEDs.