../../../../_images/seeed_grove.png

Seeed Studio Grove Interconnect Shields

Bridle supports a couple of different shields carrying Seeed Studio Grove System [7] connectors. Please download and read through the Preface - Getting Started [12] and Introduction to Grove [13] before use the product. Also have a look on the SiPEED Wiki page about the Grove standard interfaces [14].

Grove Base Shield

The Grove Base Shield [15] is an Arduino Shield that breaks out the Arduino pins to Grove connectors. Once you plug the Base shield on the Arduino, you will be able to plug a Grove module to one of the Grove connectors on the Base Shield. All I/O ports of the Arduino are exposed and adapted into Grove connectors which include digital I/O, analog I/O, and specialized ports (I2C, SPI, UART).

Versions

There are three versions, but nowadays only version 2 should be used actively. Here find the comparison between various versions of Grove Base Shield:

Parameter

Base Shield V2.1

Base Shield V2.0

Base Shield V1.3

Base Shield V1.2

Release Date

Aug 2015

Mar 2014

Aug 2012

Oct 2011

Operation Voltage

3.3V or 5V

3.3V or 5V

5V only

5V only

Operation Temperature

-25℃ to +85℃

Grove Connectors

16

16

16

22

Digital Ports

7 +1 (UART)

7 +1 (UART)

7 +1 (UART)

14

Analog Ports

4

4

4

5

UART Ports

1

1

1

1

I2C Ports

4

4

4

3

SPI Ports

1

Digital Ports:

see Grove Digital Layout [8]

Analog Ports:

see Grove Analog Layout [9]

UART Ports:

see Grove UART Layout [10]

I2C Ports:

see Grove I2C Layout [11]

SPI Ports:

The Grove System [7] does not specify an SPI port. The port listed here was therefore only provided exclusively and without standardization on the very first shield.

Grove Base Shield V2

Overview

Model: 103030000

The Grove Base Shield V2.1 [16] and Grove Base Shield V2.0 [21] board provides a simple way to connect with Arduino boards. This version 2 focuses on the simplicity of power supply.

SEEED_GROVE_BASESHIELD_V2

Power Compatible

Every Grove connector has four wires, one of which is the VCC. However, not every controller main board needs a supply voltage of 5V, some boards only need 3.3V. That’s why now a power toggle switch was add to this version so that one can select the suitable voltage of the controller main board using via this switch.

Pinout Diagram

The pinout of Base Shield V2 is the same as Arduino Uno R3 [1]. The shield usually has the same pin position as the Arduino development board and can be stacked and plugged into Arduino compatible boatds to implement specific functions.

Hardware

Name

Function to Grove port-pin –>

A0

A1

A2

A3

I2C

UART

D2

D3

D4

D5

D6

D7

D8

A0

Analog 0 / Digital 14

1

A1

Analog 1 / Digital 15

2

1

A2

Analog 2 / Digital 16

2

1

A3

Analog 3 / Digital 17

2

1

A4

Analog 4 / Digital 18 / I2C-SDA

2

2 (*)

A5

Analog 5 / Digital 19 / I2C-SCL

1 (*)

D0

Digital 0 / UART-RX

1

D1

Digital 1 / UART-TX

2

D2

Digital 2 (INT0)

1

D3

Digital 3 (INT1)

2

1

D4

Digital 4

2

1

D5

Digital 5

2

1

D6

Digital 6

2

1

D7

Digital 7

2

1

D8

Digital 8

2

1

D9

Digital 9

2

D10

Digital 10 / SPI-CS

D11

Digital 11 / SPI-MOSI

D12

Digital 12 / SPI-MISO

D13

Digital 13 / SPI-CLK

D18

Digital 18 / I2C-SDA

2

D19

Digital 19 / I2C-SCL

1

(*) I2C bus default disconnected by open solder pads.

Grove Base Shield V1.3

Overview

Model: SLD01099P

The Grove Base Shield V1.3 [24] board has a similar shape to Arduino, which enables exact reflections of each I/O pins. This 1.3 version focuses on the simplicity of the interface and convenience of operation, making it even easier to use for newbies. Here is a top view:

SEEED_GROVE_BASESHIELD_V1_3

The pinout of Base Shield V1.3 is the same as Arduino Uno R2 [2].

Hardware

Name

Function to Grove port-pin –>

A0

A1

A2

A3

I2C

UART

D2

D3

D4

D5

D6

D7

D8

A0

Analog 0 / Digital 14

1

A1

Analog 1 / Digital 15

2

1

A2

Analog 2 / Digital 16

2

1

A3

Analog 3 / Digital 17

2

1

A4

Analog 4 / Digital 18 / I2C-SDA

2

2

A5

Analog 5 / Digital 19 / I2C-SCL

1

D0

Digital 0 / UART-RX

1

D1

Digital 1 / UART-TX

2

D2

Digital 2 (INT0)

1

D3

Digital 3 (INT1)

2

1

D4

Digital 4

2

1

D5

Digital 5

2

1

D6

Digital 6

2

1

D7

Digital 7

2

1

D8

Digital 8

2

1

D9

Digital 9

2

D10

Digital 10

D11

Digital 11

D12

Digital 12

D13

Digital 13

Grove Base Shield V1.2

Overview

Model: SLD12148P

The initial Grove Base Shield V1.2 [27] board is very similar in fashion to an Arduino shield board. Here is a top view:

SEEED_GROVE_BASESHIELD_V1_2

The pinout of Base Shield V1.2 is the same as Arduino Uno R2 [2].

Hardware

Name

Function to Grove port-pin –>

A0

A1

A2

A3

A4

IIC

UART/D0

D1

D2

D3

D4

D5

D6

D7

D8

D9

D10

D11

D12

D13

SPI

A0

Analog 0 / Digital 14

1

A1

Analog 1 / Digital 15

2

1

A2

Analog 2 / Digital 16

2

1

A3

Analog 3 / Digital 17

2

1

A4

Analog 4 / Digital 18 / I2C-SDA

2

1

2

A5

Analog 5 / Digital 19 / I2C-SCL

2

1

D0

Digital 0 / UART-RX

1

D1

Digital 1 / UART-TX

2

1

D2

Digital 2 (INT0)

2

1

D3

Digital 3 (INT1)

2

1

D4

Digital 4

2

1

D5

Digital 5

2

1

D6

Digital 6

2

1

D7

Digital 7

2

1

D8

Digital 8

2

1

D9

Digital 9

2

1

D10

Digital 10 / SPI-CS

2

1

4

D11

Digital 11 / SPI-MOSI

2

1

3

D12

Digital 12 / SPI-MISO

2

1

2

D13

Digital 13 / SPI-CLK

2

1

1

Grove Base Shield for XIAO

The Grove Base Shield for XIAO [29] is a plug-and-play Grove extension board that breaks out the Seeed Studio XIAO [6] pins to Grove connectors. Once you plug the Base shield on a XIAO board, you will be able to plug a Grove module to one of the Grove connectors on the Base Shield. All I/O ports of the XIAO board are exposed and adapted into Grove connectors which include digital I/O, analog I/O, and specialized ports (I2C, SPI, UART).

Versions

Currently there is only one version known:

Parameter

Base Shield for XIAO V1

Release Date

Apr 2020

Operation Voltage

3.3V / 3.7V (LiPo-Battery)

Operation Temperature

-40℃ to +85℃

Grove Connectors

2 x 4 (breack-off)

Digital Ports

5 +1 (UART) +2 (I2C)

Analog Ports

8 (shared with digital)

UART Ports

1

I2C Ports

2

SPI Ports

1 (PCB or 2 Grove Conn.)

Digital Ports:

see Grove Digital Layout [8]

Analog Ports:

see Grove Analog Layout [9]

UART Ports:

see Grove UART Layout [10]

I2C Ports:

see Grove I2C Layout [11]

SPI Ports:

The Grove System [7] does not specify an SPI port. The port listed here is either the Flash SPI bonding pad area on PCB bottom side or the signals shared with on the Grove connectors for D8/A8 until A10/D10.

Grove Base Shield for XIAO V1

Overview

Model: 103020312

The Grove Base Shield for XIAO V1 board provides a simple way to connect with XIAO boards. This version 1 is the first member in the Grove System to support low-cost, high-performance XIAO boards.

SEEED_GROVE_BASESHIELD_XIAO_V1

Pinout Diagram

The pinout of Base Shield V2 is the same as Seeeduino XIAO [5]. The shield usually has the same pin position as the Seeed Studio XIAO development board and will be used as an carrier board.

Hardware

Name

Function to Grove port-pin –>

D0

D1

D2

I2C

UART

D8

D9

D0

Digital 0 / Analog 0

1

D1

Digital 1 / Analog 1 / SPI-CS (*)

2

1

D2

Digital 2 / Analog 2

2

1

D3

Digital 3 / Analog 3

2

D4

Digital 4 / Analog 4 / I2C-SDA

2

D5

Digital 5 / Analog 5 / I2C-SCL

1

D6

Digital 6 / Analog 6 / UART-TX

2

D7

Digital 7 / Analog 7 / UART-RX

1

D8

Digital 8 / Analog 8 / SPI-CLK

1

D9

Digital 9 / Analog 9 / SPI-MISO

2

1

D10

Digital 10 / Analog 10 / SPI-MOSI

2

(*) SPI bus also connected to the SPI-Flash bonding pads.

Grove Basic Kit for Raspberry Pi Pico

The Grove Basic Kit for Pi Pico [31] comes with an carrier board for Raspberry Pi Pico that breaks out the Raspberry Pi Pico pins to Grove connectors. Once you plug the Shield on the Raspberry Pi Pico, you will be able to plug a Grove module to one of the Grove connectors on the shield. Most of all I/O ports of the Raspberry Pi Pico are exposed and adapted into Grove connectors which include digital I/O, analog I/O, and specialized ports (I2C, SPI, UART).

Versions

Currently there is only one version known:

Parameter

Shield for Pi Pico V1

Release Date

Jan 2021

Operation Voltage

3.3V or 5V

Operation Temperature

-25℃ to +85℃

Grove Connectors

10

Digital Ports

3 +2 (UART) +2 (I2C)

Analog Ports

3

UART Ports

2

I2C Ports

2

SPI Ports

1

Digital Ports:

see Grove Digital Layout [8]

Analog Ports:

see Grove Analog Layout [9]

UART Ports:

see Grove UART Layout [10]

I2C Ports:

see Grove I2C Layout [11]

SPI Ports:

The Grove System [7] does not specify an SPI port. The port listed here is an simple 2x3 pin header.

Grove Shield for Pi Pico V1

Overview

Model: 103100142

The Grove Shield for Pi Pico V1 [31] board provides a simple way to connect with Raspberry Pi Pico boards. This version 1 is the first member in the Grove System to support low-cost, high-performance microcontroller RP2040 on the Raspberry Pi Pico boards, either with or without W option.

SEEED_GROVE_RPIPICOSHIELD_V1

Power Compatible

Every Grove connector has four wires, one of which is the VCC. However, not every controller main board needs a supply voltage of 5V, some boards only need 3.3V. That’s why now a power toggle switch was add to this version so that one can select the suitable voltage of the controller main board using via this switch.

Pinout Diagram

The pinout of Shield for Pi Pico V1 is the same as Raspberry Pi Pico R3 [3] or Raspberry Pi Pico R3 W [4]. The shield usually has the same pin position as the Raspberry Pi Pico development board and will be used as an carrier board.

Hardware

Name

Function to Grove port-pin –>

UART0

UART1

I2C0

I2C1

D16

D18

D20

A0

A1

A2

GP0

Digital 0

2

GP1

Digital 1

1

GP2

Digital 2

GP3

Digital 3

GP4

Digital 4

2

GP5

Digital 5

1

GP6

Digital 6

2

GP7

Digital 7

1

GP8

Digital 8

2

GP9

Digital 9

1

GP10

Digital 10

GP11

Digital 11

GP12

Digital 12

GP13

Digital 13

GP14

Digital 14

GP15

Digital 15

GP16

Digital 16

1

GP17

Digital 17

2

GP18

Digital 18

1

GP19

Digital 19

2

GP20

Digital 20

1

GP21

Digital 21

2

GP22

Digital 22

GP23

(Digital 23) not on header

GP24

(Digital 24) not on header

GP25

(Digital 25) not on header

ADC0

Analog 0 / Digital 26

1

2

ADC1

Analog 1 / Digital 27

1

2

ADC2

Analog 2 / Digital 28

1

Utilization

Laced Grove Signal Interface

All Grove Interconnect Shields provide their specific interface for general signal mapping, the Laced Grove Signal Interface.

Following mappings are well known:

  • grove_gpios: GPIO mapping

  • grove_pwms: PWM mapping

GPIO mapping

This is the GPIO signal line mapping from an Arduino Uno R3 [1] or Arduino Uno R2 [2] header bindet with arduino-header-r3.

phandle index to shield –>

Signal : Meaning

seeed_grove_base_v2

seeed_grove_base_v1

<&grove_gpios 0 …>

D0: UART-RX

<&grove_d0_header 0 …>,
<&grove_uart_header 0 …>
<&arduino_header 6 …>
<&grove_d0_header 0 …>,
<&grove_uart_header 0 …>
<&arduino_header 6 …>

<&grove_gpios 1 …>

D1: UART-TX

<&grove_d0_header 1 …>,

<&grove_uart_header 1 …>
<&arduino_header 7 …>
<&grove_d1_header 0 …>,
<&grove_d0_header 1 …>,
<&grove_uart_header 1 …>
<&arduino_header 7 …>

<&grove_gpios 2 …>

D2

<&grove_d2_header 0 …>

<&arduino_header 8 …>
<&grove_d2_header 0 …>,
<&grove_d1_header 1 …>
<&arduino_header 8 …>

<&grove_gpios 3 …>

D3

<&grove_d3_header 0 …>,
<&grove_d2_header 1 …>
<&arduino_header 9 …>
<&grove_d3_header 0 …>,
<&grove_d2_header 1 …>
<&arduino_header 9 …>

<&grove_gpios 4 …>

D4

<&grove_d4_header 0 …>,
<&grove_d3_header 1 …>
<&arduino_header 10 …>
<&grove_d4_header 0 …>,
<&grove_d3_header 1 …>
<&arduino_header 10 …>

<&grove_gpios 5 …>

D5

<&grove_d5_header 0 …>,
<&grove_d4_header 1 …>
<&arduino_header 11 …>
<&grove_d5_header 0 …>,
<&grove_d4_header 1 …>
<&arduino_header 11 …>

<&grove_gpios 6 …>

D6

<&grove_d6_header 0 …>,
<&grove_d5_header 1 …>
<&arduino_header 12 …>
<&grove_d6_header 0 …>,
<&grove_d5_header 1 …>
<&arduino_header 12 …>

<&grove_gpios 7 …>

D7

<&grove_d7_header 0 …>,
<&grove_d6_header 1 …>
<&arduino_header 13 …>
<&grove_d7_header 0 …>,
<&grove_d6_header 1 …>
<&arduino_header 13 …>

<&grove_gpios 8 …>

D8

<&grove_d8_header 0 …>,
<&grove_d7_header 1 …>
<&arduino_header 14 …>
<&grove_d8_header 0 …>,
<&grove_d7_header 1 …>
<&arduino_header 14 …>

<&grove_gpios 9 …>

D9

<&grove_d9_header 0 …>,
<&grove_d8_header 1 …>
<&arduino_header 15 …>
<&grove_d9_header 0 …>,
<&grove_d8_header 1 …>
<&arduino_header 15 …>

<&grove_gpios 10 …>

D10: SPI-CS

not wired

<&grove_d10_header 0 …>,
<&grove_d9_header 1 …>,
<&grove_spi_header 3 …>
<&arduino_header 16 …>

<&grove_gpios 11 …>

D11: SPI-MOSI

not wired

<&grove_d11_header 0 …>,
<&grove_d10_header 1 …>,
<&grove_spi_header 2 …>
<&arduino_header 17 …>

<&grove_gpios 12 …>

D12: SPI-MISO

not wired

<&grove_d12_header 0 …>,
<&grove_d11_header 1 …>,
<&grove_spi_header 1 …>
<&arduino_header 18 …>

<&grove_gpios 13 …>

D13: SPI-CLK

not wired

<&grove_d13_header 0 …>,
<&grove_d12_header 1 …>,
<&grove_spi_header 0 …>
<&arduino_header 19 …>

<&grove_gpios 14 …>

D14: A0 as GPIO

<&grove_a0_header 0 …>
<&arduino_header 0 …>
<&grove_a0_header 0 …>
<&arduino_header 0 …>

<&grove_gpios 15 …>

D15: A1 as GPIO

<&grove_a1_header 0 …>,
<&grove_a0_header 1 …>
<&arduino_header 1 …>
<&grove_a1_header 0 …>,
<&grove_a0_header 1 …>
<&arduino_header 1 …>

<&grove_gpios 16 …>

D16: A2 as GPIO

<&grove_a2_header 0 …>,
<&grove_a1_header 1 …>
<&arduino_header 2 …>
<&grove_a2_header 0 …>,
<&grove_a1_header 1 …>
<&arduino_header 2 …>

<&grove_gpios 17 …>

D17: A3 as GPIO

<&grove_a3_header 0 …>,
<&grove_a2_header 1 …>
<&arduino_header 3 …>
<&grove_a3_header 0 …>,
<&grove_a2_header 1 …>
<&arduino_header 3 …>

<&grove_gpios 18 …>

D18: (A4) I2C-SDA

<&grove_i2c_header 1 …>,

<&grove_a3_header 1 …>
<&arduino_header 4 …>
<&grove_i2c_header 1 …>,
<&grove_a4_header 0 …>,
<&grove_a3_header 1 …>
<&arduino_header 4 …>

<&grove_gpios 19 …>

D19: (A5) I2C-SCL

<&grove_i2c_header 0 …>

<&arduino_header 5 …>
<&grove_i2c_header 0 …>,
<&grove_a4_header 1 …>
<&arduino_header 5 …>

<&grove_gpios 20 …>

D20: ADC6 as GPIO

<&grove_gpios 21 …>

<&grove_gpios 22 …>

<&grove_gpios 23 …>

<&grove_gpios 24 …>

<&grove_gpios 25 …>

<&grove_gpios 26 …>

<&grove_gpios 27 …>

<&grove_gpios 28 …>

<&grove_gpios 29 …>

<&grove_gpios 30 …>

<&grove_gpios 31 …>

Attention

On the NXP MIMXRT1010-EVK, resistors R793, R795 and R800 must be fitted for proper use. The Laced Grove Signal Interface overwrites the default settings of the board on the Arduino UNO R3 header and completes the missing PAD assignments for the signal lines D4, D5 and D9.

PWM mapping

Not all boards provide a dedicated PWM channel for the output of a variable average value of voltage or current over time on all digital lines. The corresponding mapping is always board or SOC specific. In addition to the PWM signal line mapping, the valid references to the PWM function units in the SOC or on the board are therefore also defined as Grove PWM Labels.

The following tables reflects the currently supported boards, but this list will be growing up with further development and maintenance. This list must not be complete.

This is based on the Zephyr board ST Nucleo F303RE and its arduino-header-r3.

Grove PWM Label

phandle index to shield –>

Signal : Meaning

seeed_grove_base_v2

seeed_grove_base_v1

<&grove_pwms 0 …>

D0: UART-RX

<&grove_pwms 1 …>

D1: UART-TX

&grove_pwm_d2

<&grove_pwms 2 …>

D2

<&pwm2 4 …>

<&pwm2 4 …>

&grove_pwm_d3

<&grove_pwms 3 …>

D3

<&pwm2 2 …>

<&pwm2 2 …>

&grove_pwm_d4

<&grove_pwms 4 …>

D4

<&pwm8 3 …> (compl.)

<&pwm8 3 …> (compl.)

&grove_pwm_d5

<&grove_pwms 5 …>

D5

<&pwm3 1 …>

<&pwm3 1 …>

&grove_pwm_d6

<&grove_pwms 6 …>

D6

<&pwm2 3 …>

<&pwm2 3 …>

&grove_pwm_d7

<&grove_pwms 7 …>

D7

<&pwm1 1 …>

<&pwm1 1 …>

&grove_pwm_d8

<&grove_pwms 8 …>

D8

<&pwm1 2 …>

<&pwm1 2 …>

&grove_pwm_d9

<&grove_pwms 9 …>

D9

<&pwm3 2 …>

<&pwm3 2 …>

&grove_pwm_d10

<&grove_pwms 10 …>

D10: SPI-CS

not wired

<&pwm4 1 …>

&grove_pwm_d11

<&grove_pwms 11 …>

D11: SPI-MOSI

not wired

<&pwm17 1 …>

&grove_pwm_d12

<&grove_pwms 12 …>

D12: SPI-MISO

not wired

<&pwm16 1 …>

&grove_pwm_d13

<&grove_pwms 13 …>

D13: SPI-CLK

not wired

<&pwm2 1 …>

<&grove_pwms 14 …>

D14: A0

<&grove_pwms 15 …>

D15: A1

<&grove_pwms 16 …>

D16: A2

<&grove_pwms 17 …>

D17: A3

&grove_pwm_d18

<&grove_pwms 18 …>

D18: (A4) I2C-SDA

<&pwm8 3 …>

<&pwm8 3 …>

&grove_pwm_d19

<&grove_pwms 19 …>

D19: (A5) I2C-SCL

<&pwm8 2 …>

<&pwm8 2 …>

<&grove_pwms 20 …>

D20: ADC6

<&grove_pwms 21 …>

<&grove_pwms 22 …>

<&grove_pwms 23 …>

<&grove_pwms 24 …>

<&grove_pwms 25 …>

<&grove_pwms 26 …>

<&grove_pwms 27 …>

<&grove_pwms 28 …>

<&grove_pwms 29 …>

<&grove_pwms 30 …>

<&grove_pwms 31 …>

Programming

Grove Base Shield

Set -DSHIELD=seeed_grove_base_v2 or -DSHIELD=seeed_grove_base_v1 when you invoke west build or cmake in your Zephyr application. For example:

  1. Grove Base Shield V2 on NXP MIMXRT1060-EVK:

    Using west:

    west build -b mimxrt1060_evkb -p --shield seeed_grove_base_v2 -d build/helloshell-seeed_grove_base_v2 bridle/samples/helloshell
    west flash -d build/helloshell-seeed_grove_base_v2
    

    Using CMake and ninja:

    # Use cmake to configure a Ninja-based buildsystem:
    cmake -Bbuild/helloshell-seeed_grove_base_v2 -GNinja -DBOARD=mimxrt1060_evkb -DSHIELD="seeed_grove_base_v2" bridle/samples/helloshell
    
    # Now run the build tool on the generated build system:
    ninja -Cbuild/helloshell-seeed_grove_base_v2 flash
    
  2. Grove Base Shield V1.3 or Grove Base Shield V1.2 on NXP MIMXRT1060-EVK:

    Using west:

    west build -b mimxrt1060_evkb -p --shield seeed_grove_base_v1 -d build/helloshell-seeed_grove_base_v1 bridle/samples/helloshell
    west flash -d build/helloshell-seeed_grove_base_v1
    

    Using CMake and ninja:

    # Use cmake to configure a Ninja-based buildsystem:
    cmake -Bbuild/helloshell-seeed_grove_base_v1 -GNinja -DBOARD=mimxrt1060_evkb -DSHIELD="seeed_grove_base_v1" bridle/samples/helloshell
    
    # Now run the build tool on the generated build system:
    ninja -Cbuild/helloshell-seeed_grove_base_v1 flash
    

Grove Base Shield for XIAO

Set -DSHIELD=seeed_grove_xiao_v1 when you invoke west build or cmake in your Zephyr application. For example:

  1. Seeeduino XIAO on Grove Base Shield for XIAO V1:

    Using west:

    west build -b seeeduino_xiao -p --shield seeed_grove_xiao_v1 -d build/helloshell-seeed_grove_xiao_v1 bridle/samples/helloshell
    west flash -d build/helloshell-seeed_grove_xiao_v1
    

    Using CMake and ninja:

    # Use cmake to configure a Ninja-based buildsystem:
    cmake -Bbuild/helloshell-seeed_grove_xiao_v1 -GNinja -DBOARD=seeeduino_xiao -DSHIELD="seeed_grove_xiao_v1" bridle/samples/helloshell
    
    # Now run the build tool on the generated build system:
    ninja -Cbuild/helloshell-seeed_grove_xiao_v1 flash
    
  2. XIAO SAMD21 (Seeeduino XIAO) on Grove Base Shield for XIAO V1:

    Using west:

    west build -b xiao_samd21 -p --shield seeed_grove_xiao_v1 -d build/helloshell-seeed_grove_xiao_v1 bridle/samples/helloshell
    west flash -d build/helloshell-seeed_grove_xiao_v1
    

    Using CMake and ninja:

    # Use cmake to configure a Ninja-based buildsystem:
    cmake -Bbuild/helloshell-seeed_grove_xiao_v1 -GNinja -DBOARD=xiao_samd21 -DSHIELD="seeed_grove_xiao_v1" bridle/samples/helloshell
    
    # Now run the build tool on the generated build system:
    ninja -Cbuild/helloshell-seeed_grove_xiao_v1 flash
    

Grove Basic Kit for Raspberry Pi Pico

Set -DSHIELD=seeed_grove_rpipico_v1 when you invoke west build or cmake in your Zephyr application. For example:

  1. Raspberry Pi Pico on Grove Shield for Pi Pico V1:

    Using west:

    west build -b rpi_pico -p --shield seeed_grove_rpipico_v1 -d build/helloshell-seeed_grove_rpipico_v1 bridle/samples/helloshell
    west flash -d build/helloshell-seeed_grove_rpipico_v1
    

    Using CMake and ninja:

    # Use cmake to configure a Ninja-based buildsystem:
    cmake -Bbuild/helloshell-seeed_grove_rpipico_v1 -GNinja -DBOARD=rpi_pico -DSHIELD="seeed_grove_rpipico_v1" bridle/samples/helloshell
    
    # Now run the build tool on the generated build system:
    ninja -Cbuild/helloshell-seeed_grove_rpipico_v1 flash
    
  2. Raspberry Pi Pico W on Grove Shield for Pi Pico V1:

    Using west:

    west build -b rpi_pico/rp2040/w -p --shield seeed_grove_rpipico_v1 -d build/helloshell-seeed_grove_rpipico_v1 bridle/samples/helloshell
    west flash -d build/helloshell-seeed_grove_rpipico_v1
    

    Using CMake and ninja:

    # Use cmake to configure a Ninja-based buildsystem:
    cmake -Bbuild/helloshell-seeed_grove_rpipico_v1 -GNinja -DBOARD=rpi_pico/rp2040/w -DSHIELD="seeed_grove_rpipico_v1" bridle/samples/helloshell
    
    # Now run the build tool on the generated build system:
    ninja -Cbuild/helloshell-seeed_grove_rpipico_v1 flash
    

References