XIAO with Grove base - Chainable RGB LED with clock and data does not work

Issue: The Chainable RGB Grove LED uses 2x signals - clock and data. The grove ports on the XIAO bases only seem to expose 1 signal on both grove connector pins, as seen on reference pinout at https://www.seeedstudio.com/Grove-Shield-for-Seeeduino-XIAO-p-4621.html

XAIO Base with XIAO ESP32C6 and Grove Chainable RGB LED
ChainableLED leds( /* clk / A1, / data */ D1, 1); // tried A0/D0 or A1/D1 or A2/D2 or A8/D8 or A9/D9

Has anyone gotten the Chainable RGB to work with one of the XIAO base grove connectors using the suggested GitHub - Seeed-Studio/Grove_Chainable_RGB_LED: examples for chainble RGB led code with 4-pin grove cables between any of the grove connectors on the base to the RGB module?

Maybe take a look at how this device works

as you can see from this diagram the pins on each connector are different so you have to match your programming to the connector… the only one that is the same is the IIC port which can have more than one device on the bus at the same time

I have gotten it to work on these devices

you are going to want to use digital D not Analog A

these LEDs are recieving data commands to change color… and so the D-Digital Mode… if you were using voltage to control the LED or PWM Pulse Width Modulation that would A -Analog Mode

It is the same pin… just in Digital or Analog Mode of Operation
kinda like how a pin can be in Input or Output Mode

for example
if you look at grove connector D5/A5 for example
it is as follows

Gnd-3v3-SDA/4 & SCL/5

so if you plug into this port use those pins

for example if you wanted to use Grove Port D0/A0
it is as follows

Gnd-3v3-SDA/1 & SCL/0

Most grove ports have pin X on the last pin (outside) and pin X+1 on the inside pin

this is also why ground is on the outside as well so if you somehow accidently put the connector backwords it will be ground to the data pin… which is much less likely to burn out a component

Its the same pin…

exactly, which is my problem.

The grove connector in the upper left is labeled (on the base board) as 0,1,3v3,gnd. This implies that there are two data signals, “0,1” on that grove connector.

The pinout for the XIAO only shows ONE data signal, either the digital or analog output from the “A0/D0” pin. This is the root of my question - I expect each grove socket to expose two signals, but the ones on this base only expose 1. (I’m only looking at the connectors labeled for general grove interconnections, grove1 and grove2 etc, not counting the I2C and serial sockets which I am using for other I/O needs)

Since the Chainable RGB LED needs two signals (clock and data) IT CAN NOT WORK on the grove* sockets that only expose one signal…

What connector did you use for the Chainable RGB device, and what software initialization did you use to make it work?
edit: The 2813 RGB chain things only use a single signal that combines both clock and data information, and so can work with these “1-signal-only” grove connectors. I was expecting to see something like “A0/D0. + A1/D1” on each socket.

Are you talking about this device…

if so yes this device only has pin 0 exposed and pin 1 is NC for Not Connected to anything…
I dont know exactly why they did this… it does cause a problem if you are trying to use UART and this pin as 2 data…

OH yeah… they did this so the pin 1 could be used for the user button on this device

Thanks for all your advice and followup!

I’m using the other Grove XIAO base, the one without an OLED but with a battery manager.

I built a bodge cable to merge the signals from two sockets into one 4-pin cable (and verified it with a meter and an encoder), but have been unable to make the Chainable RGB code work with the non-neopixel grove RGB LEDs or the grove RGB LED strip driver…

The RGB strip driver/LED works with my other ESP32/Arduino setups, both commercial and custom (Model Railroad Electronics | John Plocher\'s SPCoast - electronics, trains and software), but this is the first time I’ve tried to use the XIAO ESP32 boards and the XIAO Base - which has me convinced that I’m missing something obvious…

Thanks again for your help as I figure this all out.

This one has 2 io’s per grove connector plus PWR & GND, So your good. Battery management is separate and there’s a power on/off switch to , check the wiki :+1:

HTH
GL :slight_smile: PJ
:v:

This one has 2 io’s per grove connector

Not really - they only expose one,a single pin in either analog or digital form…
A0/D0 is the same pin on the grove connector, there isn’t anything on the 2nd pin. Same for A1/D1

The markings on the silkscreen don’t match this picture - A5/D5 isn’t I2c, A7/D7 isn’t TX/RX…

trust me brother… you dont know what you are talking about… go back and read what we posted

Solved.

The pictorial documentation of the XIAO Base is at best confusing. Making it match the rest of the grove 4-pins-per-connector documentation, it should call out the connectors as:

Gnd
5v
A1/D1
A0/D0

instead of the ambiguous and misleading

D0
A0

I can’t upload a *fixed" picture, so you will have to imagine…

Thanks for all your help.

1 Like

Hi there,
I go by the silk screen… TWO io.per connector. ie. A4 & A5 for I2C for example.
They do Overlap. So good Luck BTW you can also add some flash to it as I have check the demo’s

HTH
GL :slight_smile: PJ
:v:

Se the Demo , may help you figure it out…and there is one on the wiki using the round LED ring. :+1:

I go by the silk screen

I would have, except for the table towards the end of (Grove Base Docs) that says
Supported Boards … “Pin Difference: slightly different”
for everything except the SAMD chip…

Combine this with the base board pinout diagram that (because it chose a confusing graphical layout for the grove connectors) does not match the silkscreen, and you get a thread like this…

Thanks again for demystifying me!

I can agree that the D0/A0 is confusing… the reason is because sometime a pin may be digital but not analog capable if the internal of the chip does not have an ADC

Check this device out from the olden days

Yes, it may be incompatible with analog clock