Grove é o sistema plug-and-play da Seeed Studio: um conector de quatro pinos, um cabo e algumas centenas de módulos que o compartilham. Um botão, um sensor de temperatura, um relé, um OLED, uma câmera térmica e um rádio LoRa se conectam à mesma tomada, e é por isso que tantos primeiros projetos são construídos sobre ele.
Em setembro de 2026, 222 dos 279 módulos do catálogo Grove da Seeed rodam no Velxio. Cada um tem sua própria peça na tela, desenhada a partir da foto do produto, um cartão de datasheet com o link para a loja da Seeed e um exemplo da galeria adaptado da própria wiki da Seeed, conectado a uma placa XIAO. Este artigo percorre o que isso significa na prática.
Como um módulo Grove aparece na tela

Cada módulo é desenhado a partir da foto do produto da Seeed, com o conector,
os componentes e a serigrafia onde estão na placa, e carrega o nome exato do
produto da Seeed. Os pinos são as quatro linhas do conector, nomeados como a
serigrafia os nomeia, então um fio de SIG ou SDA chega onde chegaria na
bancada.
O que você recebe com cada peça:
- Um cartão de datasheet. Clique na peça e a caixa de diálogo mostra o que o módulo é, qual chip ele carrega, seu endereço I2C quando tem um, e um botão Product page para a loja da Seeed.
- Os controles que um de verdade precisaria. Um sensor analógico ganha um controle deslizante para a grandeza que mede. Um botão é clicável. Um relé clica e acende seu LED. Um display pinta o que o sketch envia. Um rádio ganha um painel que reproduz a outra ponta do enlace.
- Um exemplo da galeria. Cada módulo vem com um sketch adaptado da wiki da Seeed, conectado a um XIAO ESP32-C6, com as bibliotecas que o sketch precisa já declaradas. Abra, pressione Run e o módulo responde.
Para encontrá-los, abra o seletor de componentes e digite “Grove”, ou abra a galeria de exemplos e filtre por Seeed Studio.
Experimente três deles
Os passos são os mesmos para todos os exemplos:
- Abra o link do exemplo. Você não precisa de uma conta.
- Pressione o botão de play na barra de ferramentas. O sketch compila nos servidores do Velxio e a placa inicializa no seu navegador.
- Mova os controles deslizantes do módulo, clique em seus botões ou observe-o desenhar.
Uma câmera térmica. A MLX90640 é um arranjo 32 por 24 de termopilhas. O sketch lê a EEPROM de calibração do sensor, lê um quadro e executa a própria matemática radiométrica da Melexis, e imprime o quadro no monitor serial como arte ASCII. A peça mostra o mesmo quadro como um mapa de calor; o controle deslizante define onde está o ponto quente e quão quente.

Dois motores em um driver. O I2C Motor Driver carrega um TB6612FNG atrás de um pequeno STM32 que fala um protocolo de comandos. O exemplo aciona dois motores DC para frente, para trás e freia; os rotores na tela giram na velocidade e direção comandadas, e o freio os trava.

Um OLED. O SSD1315 de 0.96” é o display com que a maioria dos kits Grove vem. O exemplo é o hello world do u8g2 da Seeed: uma linha de texto e um contador, enviados por I2C em 0x3C, pintados por um modelo do controlador.

Como um módulo é emulado
Nada aqui é simulado no nível da biblioteca. O sketch é compilado por um
arduino-cli de verdade para a placa que você escolheu, o firmware roda no
emulador do Velxio para aquele SoC, e o módulo responde no fio como a peça
responderia. O que difere de módulo para módulo é o que “o fio” é:
- Módulos analógicos (32 deles: luz, som, umidade, gás, corrente,
temperatura) colocam uma tensão em
SIG, definida pelo controle deslizante. O sketch a lê comanalogRead()através do modelo de ADC da placa. - Entradas e saídas digitais são um nível em
SIG: botões, chaves, sensores PIR e de toque de um lado, LEDs, relés e buzzers do outro. - Módulos de pulso e temporização como o Ultrasonic Ranger e a família DHT usam um modelo de linha: as bordas são agendadas no próprio relógio da CPU emulada, porque um quadro DHT22 é de microssegundos e um quadro de navegador é de dezesseis milissegundos.
- Módulos NeoPixel e PWM decodificam a forma de onda que o sketch produz.
- Módulos I2C, UART e SPI são o maior grupo: 84 módulos em 78 modelos de dispositivos escritos em C e compilados para WebAssembly. Cada modelo responde às leituras de registradores e comandos que o driver do fabricante envia, e o mesmo código-fonte C roda dentro do navegador e dentro dos emuladores em nuvem do Velxio para as placas que rodam lá.
Os modelos de dispositivos são curtos, porque a maioria das peças segue uma de algumas formas: um mapa de registradores com um ponteiro de incremento automático, um dispositivo de comando no estilo Sensirion com CRC-8 em cada palavra, ou um quadro plano que o sensor transmite. O modelo do SHT31 é o sensor de temperatura e umidade da Seeed por inteiro, menos os comentários:
static uint32_t handle(sn_dev* d, uint16_t cmd, const uint16_t* args, uint32_t nargs, uint16_t* w) {
(void)d; (void)args; (void)nargs;
switch (cmd) {
case 0x306D: heater = true; return 0;
case 0x3066: heater = false; return 0;
case 0x30A2: heater = false; return 0; /* soft reset */
case 0x3093: return 0; /* break */
case 0x3041: return 0; /* clear status */
case 0xF32D: { /* status register */
uint16_t st = heater ? 0x2000 : 0x0000;
w[0] = st; return 1;
}
default: break;
}
/* Everything else is a measurement request (single shot, periodic, fetch). */
double t = vx_attr_read(A_temp) + (heater ? 2.0 : 0.0);
double h = vx_attr_read(A_hum);
w[0] = gc_u16((gc_clamp(t, -45, 130) + 45.0) * 65535.0 / 175.0);
w[1] = gc_u16(gc_clamp(h, 0, 100) * 65535.0 / 100.0);
return 2;
}
A_temp e A_hum são os dois controles deslizantes. A conversão é a do
datasheet do SHT31, executada ao contrário: o controle deslizante diz 25 graus,
o modelo produz a palavra bruta que o driver transformará de volta em 25 graus,
com CRC e tudo.
De onde vêm os modelos
Cada modelo é escrito com base em um documento: o datasheet da peça, ou a biblioteca do fabricante que se comunica com ela, lida linha por linha. Quando nenhum dos dois existia, o módulo era deixado de fora em vez de ser adivinhado. Três casos mostram o que isso significou.
As câmeras térmicas tiveram que ser derivadas, não transcritas. Um driver térmico nunca lê uma temperatura. Ele extrai 832 palavras de EEPROM, obtém cerca de duzentas constantes de calibração, lê 832 palavras de dados de quadro e executa o modelo do fabricante. Então o modelo do MLX90640 fornece uma calibração degenerada na qual todos os termos de correção se anulam, e faz a matemática de trás para frente, partindo da temperatura que o slider pede até a palavra bruta que a produz. Ele foi verificado contra um port do driver antes de qualquer linha de C ser escrita; um alvo de -20 a 300 graus faz o caminho de ida e volta com erro inferior a 0,02 graus. O MLX90641 precisou do mesmo truque mais uma EEPROM codificada em Hamming, e o MLX90621, para o qual a Seeed não publica nada, veio do driver de referência da Melexis.
O exemplo do driver de motor usa Wire diretamente. A biblioteca da Seeed
para a placa TB6612FNG inclui um helper I2C da era AVR que não compila para um
ESP32, então o exemplo fala o protocolo diretamente. É um byte de comando e seu
payload:
const uint8_t ADDR = 0x14;
const uint8_t BRAKE = 0x00, CW = 0x02, CCW = 0x03;
const uint8_t STANDBY = 0x04, NOT_STANDBY = 0x05;
const uint8_t CHA = 0, CHB = 1;
void cmd(uint8_t c, const uint8_t* payload, uint8_t n) {
Wire.beginTransmission(ADDR);
Wire.write(c);
for (uint8_t i = 0; i < n; i++) Wire.write(payload[i]);
Wire.endTransmission();
delay(1);
}
void run(uint8_t channel, int speed) {
uint8_t p[2] = { channel, (uint8_t)(speed < 0 ? -speed : speed) };
cmd(speed >= 0 ? CW : CCW, p, 2);
}
O módulo CAN BUS não é um design da Seeed. Ele foi deixado de fora
inicialmente porque a Seeed não publica nenhum protocolo nem biblioteca para
ele. A placa é feita pela Longan Labs, que publica ambos, e o modelo segue o
layout de quadro deles: 0xAA, um comprimento, um comando, o payload e um CRC
MODBUS.
Todo modelo tem um teste que o aciona da mesma forma que seu driver, byte a byte: 1.804 deles em todo o catálogo em setembro de 2026. Os exemplos da galeria também foram executados no app implantado, não apenas na suíte de testes.
O que não está no catálogo
Sendo honesto sobre as lacunas: 57 dos 279 SKUs não estão modelados, e três grupos explicam os que poderiam estar.
- O módulo DMX512. A placa é um line driver; a parte difícil é que nenhuma biblioteca Arduino produz um quadro DMX em um XIAO da forma que a placa espera.
- O kit 433 MHz Simple RF Link. Seus sketches usam VirtualWire, que não está no índice de bibliotecas do Arduino, e a metade receptora precisaria que o módulo gerasse um fluxo de bits para a placa em vez de responder a ela.
- Três placas vendidas sob o nome Grove: o Grove Beginner Kit, o Arduino Sensor Kit Base e o GrovePi+. São placas com um microcontrolador em vez de módulos, e precisam de suas próprias definições de placa.
O restante são cabos, ferragens de montagem e kits.
Para onde ir agora
- O seletor de componentes: pressione Add Component na tela e digite “Grove”. Cada cartão é um módulo; a descrição diz o que ele faz.
- A galeria de exemplos em velxio.dev/examples, filtrada por Seeed Studio, tem um exemplo por módulo.
- Os módulos estão na loja da Seeed em Grove; o cartão de datasheet de cada peça tem um link para sua página.
A arte dos módulos é desenhada a partir das fotografias de produto da Seeed Studio.