Zurück

222 Seeed Grove-Module laufen jetzt im Browser

Grove ist Seeed Studios Plug-and-Play-System: ein vierpoliger Stecker, ein Kabel und ein paar hundert Module, die sich diesen Anschluss teilen. Ein Taster, ein Temperatursensor, ein Relais, ein OLED, eine Wärmebildkamera und ein LoRa-Funkmodul stecken alle in derselben Buchse — deshalb basieren so viele erste Projekte darauf.

Seit September 2026 laufen 222 der 279 Module aus Seeeds Grove-Katalog in Velxio. Jedes hat sein eigenes Bauteil auf der Arbeitsfläche, gezeichnet nach dem Produktfoto, eine Datenblatt-Karte mit dem Link zu Seeeds Shop und ein Galerie-Beispiel, das aus Seeeds eigenem Wiki übernommen und mit einem XIAO-Board verdrahtet wurde. Dieser Artikel führt durch das, was das in der Praxis bedeutet.

Wie ein Grove-Modul auf der Arbeitsfläche aussieht

Sechzehn Grove-Module, wie Velxio sie zeichnet: Button, Light Sensor v1.2, SHT31, OLED 0,96", Ultrasonic Distance Sensor, DHT22 Pro, Chainable RGB LED V2, Relay, Wärmebildkamera MLX90640, Vision AI Module V2, LoRa Radio 868 MHz, NFC PN532, 16x2 LCD RGB Backlight, I2C Motor Driver TB6612FNG, Triple Color E-Ink 2,13" und das CAN BUS-Modul

Jedes Modul ist nach Seeeds Produktfoto gezeichnet, mit dem Stecker, den Bauteilen und dem Bestückungsdruck an der Stelle, an der sie auf der Platine sitzen, und es trägt Seeeds exakten Produktnamen. Die Pins sind die vier Leitungen des Steckers, benannt wie der Bestückungsdruck sie benennt, sodass ein Kabel von SIG oder SDA dort landet, wo es auch auf dem Labortisch landen würde.

Das bekommst du mit jedem Bauteil:

Um sie zu finden, öffne die Bauteilauswahl und tippe “Grove” ein, oder öffne die Beispielgalerie und filtere nach Seeed Studio.

Probiere drei davon aus

Die Schritte sind für jedes Beispiel dieselben:

  1. Öffne den Beispiel-Link. Du brauchst kein Konto.
  2. Drücke die Play-Taste in der Symbolleiste. Der Sketch wird auf Velxios Servern kompiliert, und das Board startet in deinem Browser.
  3. Bewege die Schieberegler des Moduls, klicke seine Taster oder schau ihm beim Zeichnen zu.

Eine Wärmebildkamera. Das MLX90640 ist ein 32 mal 24 großes Array aus Thermosäulen. Der Sketch liest das Kalibrierungs-EEPROM des Sensors aus, liest ein Bild aus und führt Melexis’ eigene radiometrische Berechnung durch, und gibt das Bild als ASCII-Kunst im seriellen Monitor aus. Das Bauteil zeigt dasselbe Bild als Heatmap; der Schieberegler legt fest, wo der heiße Punkt liegt und wie warm er ist.

Die Wärmebildkamera MLX90640 auf der Arbeitsfläche, verdrahtet mit einem XIAO ESP32-C6, die einen warmen Punkt in der Mitte ihres 32 mal 24 großen Bildes zeigt

Zwei Motoren an einem Treiber. Der I2C Motor Driver trägt einen TB6612FNG hinter einem kleinen STM32, der ein Kommandoprotokoll spricht. Das Beispiel betreibt zwei Gleichstrommotoren vorwärts, rückwärts und mit Bremse; die Rotoren auf der Arbeitsfläche drehen sich mit der befohlenen Drehzahl und Richtung, und die Bremse blockiert sie.

Der Grove I2C Motor Driver auf der Arbeitsfläche, der zwei Gleichstrommotoren antreibt, verdrahtet mit einem XIAO ESP32-C6

Ein OLED. Das 0,96” SSD1315 ist das Display, das die meisten Grove-Kits mitliefern. Das Beispiel ist Seeeds u8g2-Hallo-Welt: eine Textzeile und ein Zähler, über I2C bei 0x3C gesendet, gemalt von einem Modell des Controllers.

Das Grove OLED 0,96" auf der Arbeitsfläche, das Hello World und einen Zähler zeigt, verdrahtet mit einem XIAO ESP32-C6

Wie ein Modul emuliert wird

Nichts hier wird auf Bibliotheksebene vorgetäuscht. Der Sketch wird von einem echten arduino-cli für das von dir gewählte Board kompiliert, die Firmware läuft auf Velxios Emulator für diesen SoC, und das Modul antwortet auf der Leitung so, wie es das Bauteil tun würde. Was sich von Modul zu Modul unterscheidet, ist die Frage, was “die Leitung” ist:

Die Gerätemodelle sind kurz, weil die meisten Bauteile einer von wenigen Formen folgen: eine Registerkarte mit einem sich selbst inkrementierenden Zeiger, ein Sensirion-artiges Kommandogerät mit CRC-8 auf jedem Wort, oder ein flaches Frame, das der Sensor streamt. Das SHT31-Modell ist der gesamte Temperatur- und Feuchtigkeitssensor von Seeed, abzüglich der Kommentare:

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 und A_hum sind die beiden Schieberegler. Die Umrechnung ist die aus dem SHT31-Datenblatt, rückwärts gerechnet: Der Schieberegler sagt 25 Grad, das Modell erzeugt das Rohwort, das der Treiber wieder in 25 Grad verwandeln wird, samt CRC.

Woher die Modelle stammen

Jedes Modell entsteht anhand eines Dokuments: das Datenblatt des Bauteils oder die Herstellerbibliothek, die mit ihm kommuniziert, Zeile für Zeile gelesen. Wenn keines von beiden existierte, wurde das Modul weggelassen statt geraten. Drei Fälle zeigen, was das bedeutete.

Die Wärmebildkameras mussten hergeleitet, nicht abgeschrieben werden. Ein Thermotreiber liest nie eine Temperatur. Er holt 832 Wörter EEPROM, extrahiert etwa zweihundert Kalibrierungskonstanten, liest 832 Wörter Bilddaten und führt das Modell des Herstellers aus. Das MLX90640-Modell liefert also eine degenerierte Kalibrierung, in der jeder Korrekturterm verschwindet, und rechnet von der Temperatur, die der Schieberegler anfordert, rückwärts auf das rohe Wort, das sie erzeugt. Es wurde gegen einen Port des Treibers geprüft, bevor irgendein C geschrieben wurde; ein Zielbereich von -20 bis 300 Grad läuft mit einer Abweichung von 0,02 Grad zurück. Das MLX90641 brauchte denselben Trick plus ein Hamming-kodiertes EEPROM, und das MLX90621, für das Seeed nichts veröffentlicht, stammt aus dem Referenztreiber von Melexis.

Das Motor-Treiber-Beispiel verwendet rohes Wire. Seeeds Bibliothek für das TB6612FNG-Board enthält einen I2C-Helfer aus der AVR-Ära, der für einen ESP32 nicht kompiliert, also spricht das Beispiel das Protokoll direkt an. Es ist ein Befehl-Byte und seine Nutzlast:

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);
}

Das CAN-BUS-Modul ist kein Seeed-Design. Es wurde zunächst weggelassen, weil Seeed kein Protokoll und keine Bibliothek dafür veröffentlicht. Das Board wird von Longan Labs hergestellt, die beides veröffentlichen, und das Modell folgt deren Frame-Layout: 0xAA, eine Länge, ein Befehl, die Nutzlast und eine MODBUS-CRC.

Jedes Modell hat einen Test, der es so ansteuert, wie sein Treiber es tut, Byte für Byte: 1.804 davon im gesamten Katalog im September 2026. Die Galerie-Beispiele wurden zudem in der bereitgestellten App ausgeführt, nicht nur in der Testsuite.

Was nicht im Katalog ist

Um ehrlich über die Lücken zu sein: 57 der 279 SKUs sind nicht modelliert, und drei Gruppen machen diejenigen aus, die es sein könnten.

Der Rest sind Kabel, Montagematerial und Kits.

Wie es weitergeht

Die Modulgrafiken stammen aus den Produktfotos von Seeed Studio.


Teilen auf:
David Montero

Geschrieben von

David Montero

Creator of Velxio, the open-source circuit and Arduino simulator.

GitHub velxio.dev

Ähnliche Artikel


Nächster Artikel
Seeeds neue XIAO IPS Display Boards, wenige Tage nach dem Launch im Browser