Trying to decode Grove pinouts

I have a ESP32-C6 along with a grove shield.

I’m trying to understand how the pins work with the shield. For example, on the grove shield, it says that one group of pins in GND, 3V3, 10, and 9. On the wiki page, it says that these are A9 and D9. However, the wiki for the esp32c6 doesn’t not show an A9 pin.

How do I address that particular pin?

I tend to stick with the actual GPIO numbers for the ESP32’s, so D9 is GPIO_NUM_20 (in Arduino) and not an analog capable pin for ESP32-C6 - hence no A9 reference.

1 Like

Hi there,

So there are “Silkscreen” pinouts Vendors use.
Programmers use the GPIO’s for code , UNLESS…!

The Boards support package .a.k.a. BSP include PIN macros that translate the SilkScreen numbers to GPIO’s, very processor specific. As @grobasoz indicates , stick with the GPIO’s You can’t go Wrong. :+1:

Sort it out it will work , AOK!

HTH
GL :slight_smile: PJ :v:

ok. On the grove shield, there are 2 physical pins. are both of those considered D9 then? Are they not individually addressable?

I don’t have access to the board but the pins labelled “D9” should be the same connection to the device.
See PCB design below…

Hi there,

If I may..
PIN 9 is PIN 9 everywhere. :+1: it’s on multiple connectors, one could be part of the SPI interface connection (MISO(9), MOSI(10)), the other can be used for direct addressing or Vice-versa, just code it properly.

BTW , that silk screen colors squares is stupid confusing. but only for the mechanical connections, they did try to make a lot of options. USE the pin numbers on the board and the GPIO’s on the Code.

HTH
GL :slight_smile: PJ :v:

also , the adding external flash to Grove Expansion Board, Post may be of use.
relating , display, buzzer, button , sleep and Wake code to connections Helpful.:crossed_fingers:

If i may add…. it is a little confusing that they call it D1 and A1… the important part is the 1… the meaning is this pin is in location 1 on the physical board…the only meaning is all pins are on a basic level digital (D) meaning they accept or output a digital signal… meaning 0V0 or 3V3 low or high

I call it the Physical Pin, or Board Pin number… as opposed to what I call the Logical Pin or the Chip Pin #… it is confusing, but to make it simple, each board has a pin, but each chip has a GPIO and depending on the chip used on the device, the logical pin may be connected physically on the board to a different physical or board pin… this is confusing but it happens when different chips need to be connected for different reasons that i dont understand

(A) Analog pins mean they can accept or output an analog signal, meaning the pin has access to an analog to digital converter… menaing if properly setup the pin can accept or output a proportional voltage at either 8, 10 or 12 bit resolution depending

(it is important in the setup code to assign ADC to pins to enable this feature)

to understand better, chips have ADC converter sub-systems, these sub-system units can be logicly connected to other elements to perform functions… if the code is incorect, the logical pipeline is corrupted… hope this is understandable

Most pins are digital by default… if you want it to perform analog functions, you have to assign it an analog resource units (ADC or DAC hadware)… this is done thru software configuration options

most pins can be A or D so it is assumed, but depending on the hardware, this may or not be true

alot of configuration options need to happen under the hood….

I hope this helps

1 Like

Hi there,

Exactly :grin:

Someone just added on without checking , the thing needs a refresh Anyway IMO.:+1:

GL :slight_smile: PJ :v:

I get what you are saying.

What I’m confused on is that there are 4 pins.

one is ground, one is 3V, one is D9, .. what is the last one?

this is the official / unofficial seeed XIAO standad pinout… take it all with a grain of salt


like this or where ?

The pin 9’s are tied together..

Same pins on the Xiao socket :+1:

HTH
GL :slight_smile: PJ :v:

BTW , first in the rework would be a proper grove connector for the full SPI interface, (8,9,10) they try to keep the clock pin close (8) but suc’s when you trying to keep the wiring clean.

Yes Seeed Gove connectors have a multiplexing concept, by staggering the Data Pin a and b for a grove connector, it is possable, depending on coding to use 2 pins to give 4 connector options… it is not used as much as before… but a vey powerful system

By staggering the Data channels-a and -b between connectors it is possable to multiplex connectors… one channel is typically a timing channel and one is a data channel… by multiplexing, the periferal unit can detect if they are recieving a timing or data channel and they will ignore or accept as appropriate… This is the beuty and elegance of the system…

you have to look at the silk screen of each device… every one may be and is almost certanly different

Just so we are on the same page, which Grove Shield (and connector) are you talking about?

each grove connector, by definition is a 4 wire connector, black is ground, red is 3v3, white is Data-a channel and Yellow is Data-b channel