V
Visla Hardware
Portal R&D
🧩 Moduli & Shield ✓ Verified · 2026-06-04 ✓ In stock 🧪 Tested bench

L76K GNSS Shield XIAO

Seeed Studio
📦 Dev board
€9.90
L76K GNSS Module for Seeed Studio XIAO
L76K + active U.FL antUART-only 9600 baudTTFF cold ~120s indoor
📑 Indice sezioni

Curiosity

Shield GNSS plug-and-play per XIAO (SKU 109100021, $9.90) basato sul chip Quectel L76K (AT6558R cinese). Si innesta direttamente sui pin header del XIAO occupando la HW UART1 (D6/D7 a 9600 baud) — quindi non si stacka sopra l’Expansion Board o la Grove Base: è un carrier alternativo. Antenna attiva U.FL 10cm inclusa, copre 1559–1606 MHz (GPS L1 + GLONASS L1 + BeiDou B1). LED 1PPS verde come indicatore visivo del fix. Pin RST su D2 (rev 2024-12-06: prima era D10). Per Visla è il path GNSS più economico con XIAO, ma conflitto UART con modem cellulare sul Expansion Board: per setup combinato modem + GPS preferire SparkFun MAX-M10S Qwiic (I2C, non occupa UART).

Specs tecniche

ParametroValore
Seeed SKU109100021
Prezzo$9.90
Chip GNSSQuectel L76K (AT6558R ICOFCHIPS)
CostellazioniGPS L1 + GLONASS L1 + BeiDou B1I (1561 MHz) + QZSS
Galileo / SBAS❌ NON supportati
Canali32 tracking / 72 acquisition
Sensitivity tracking-162 dBm
Sensitivity acquisition-148 dBm
Accuracy2.0 m CEP (autonomous)
TTFF cold start (datasheet)30s autonomous, 5.5s con AGNSS
TTFF cold start (bench Visla 2026-06-04)~120 s indoor near-window, no AGPS
TTFF hot start2 s (con backup RTC alimentato)
Update rate max5 Hz (configurabile via $PCAS02)
Default baud9600 bps (configurabile fino a 115200 via $PCAS01)
InterfaceUART solo (NO I2C/SPI)
Pin UARTTX modulo → D7 (RX XIAO) · RX modulo ← D6 (TX XIAO)
Pin RSTD2 (active LOW, rev 2024-12-06 — prima era D10)
Pin 1PPSNON esposto sul breakout (interno al modulo)
LED 1PPSVerde onboard (visual fix indicator) — rimosso dal 2025-03-31
Voltage2.7V - 3.4V (alimentato dal 3V3 del XIAO)
Corrente con antenna attiva41 mA acquisition + tracking · 360 µA standby
Antenna inclusaActive U.FL, 1559-1606 MHz, cavo RF1.13 10 cm
Antenna detectionShort circuit + open circuit (diagnostic via $GPTXT)
Talker IDs emessi (bench-verified)$GN multi-system (GGA/GLL/GSA/RMC/VTG/ZDA) · $GP (GSV per GPS, TXT) · $BD (GSV per BeiDou) · $GL (GSV per GLONASS, se attiva)
NMEA sentences default$GNGGA · $GNGLL · $GNGSA (1 per costellazione) · $GNRMC · $GNVTG · $GNZDA · $GPGSV · $BDGSV · $GPTXT
Protocollo customPCAS sentences (NMEA-extended, NON Quectel PMTK)
Compatibilità XIAOTutti i XIAO con HW UART1 esposta su D6/D7: ESP32-S3/C3/C5/C6 ✅ · nRF52840 ✅ · RP2040/2350 ✅ · SAMD21 ✅
Dimensioni18 × 21 mm
Package includeModulo L76K + antenna attiva U.FL + 2× 7-pin female header + cavo coax RF1.13 10cm
HSCODE8529909090 (CN) · 8526910020 (US) · 8471707000 (EU)
HW revisions2024-12-06 RST migrato D10→D2 · 2025-03-31 rimosso LED fix indicator

🧪 Note dal bench Visla

  • Bench-tested 2026-06-04 — first bring-up Visla R&D + JSON logger: setup XIAO ESP32-S3 Pre-Soldered (SKU 113991114) + L76K shield rev 2024-12-06 innestato direttamente sui pin del XIAO. Sketch test-moduli/xiao-l76k-gps/test-l76k-json/ con TinyGPSPlus 1.0.3 + 17 TinyGPSCustom fields → JSON line ogni 2s con 35 campi (fix, DOPs, sat per costellazione, per-sat PRN/elev/azim/SNR, mag var, antenna status). Build via arduino-cli ESP32 core 3.3.8, FQBN esp32:esp32:XIAO_ESP32S3
  • Talker IDs $GN multi-system verificati al bench (gotcha critica documentata): il L76K emette i frame standard con talker $GN (NON $GP). Per TinyGPSCustom registrare “GNGGA”/“GNGSA”/“GNRMC”/“GNVTG”. Solo i GSV restano per-costellazione: $GPGSV, $BDGSV, $GLGSV
  • TTFF reale 2026-06-04: cold-start indoor near-window senza AGPS → fix 3D in ~120s. SNR per-satellite 21–35 dB-Hz, DOP a fix PDOP 2.8 / HDOP 2.00 / VDOP 1.8. Drift orizzontale stazionario ~1–2 m fix-su-fix (coerente con 2m CEP datasheet)
  • Antenna OK diagnostic via $GPTXT: il L76K emette al boot $GPTXT,01,01,01,ANTENNA OK*35 — utile per safety check programmatico
  • Reset D2 active-LOW funziona: pulse 20ms su D2 → modulo riparte pulito, utile per cold-start forzato
  • ⚠️ UART-only = conflitto modem cellulare: occupa la HW UART1 del XIAO (D6/D7) — se vuoi anche un modem A7670E in parallelo sullo stesso Expansion Board, devi: A) remappare UART2 su pin neri via Dupont, oppure B) usare MAX-M10S Qwiic invece del L76K
  • ⚠️ Non stackable: il shield occupa i pin header del XIAO direttamente — non si combina con Expansion Board / Grove Base (sono alternativi, non stackabili)
  • ⚠️ Sensibilità antenna inclusa è OK ma non ottima: per fix indoor SENZA vista cielo (dentro stanza chiusa) il TTFF schizza oltre 5 min. Per Visla v2 production: scegli antenna patch SMA esterna o spazzata GPS+Galileo (qui non vista, no Galileo)
  • ⚠️ Hot start funziona SOLO se V_BCKP è alimentato: senza backup battery sul pin VBAT del modulo, ogni reboot = cold start ex-novo (no almanacco salvato)
  • ⚠️ HW revision check: dal 2024-12-06 il pin RST è migrato da D10 a D2 — verifica schematic prima di scrivere driver (codice vecchio Waveshare/Seeed cita ancora D10)
  • ⚠️ NO Galileo: in EU perdi ~28 satelliti Galileo + correzioni EGNOS SBAS. Per accuracy migliore, salire a MAX-M10S/SAM-M10Q

⚠️ Gotchas

  • TX modulo va su RX XIAO (D7) e RX modulo va su TX XIAO (D6) — facile confondersi
  • Pin RST default OUTPUT HIGH; se lasci floating il modulo può restare in reset
  • L76K emette $GN* talker, non $GP* — parser custom va aggiornati
  • LED 1PPS rimosso dalla rev 2025-03-31 → no visual fix indicator su lotti recenti
  • Antenna U.FL deve fare “clic” netto, altrimenti SNR crolla
  • A 9600 baud, output ~360 byte/s = ~5 frame NMEA/s a 1 Hz update default
  • Coordinate NMEA in formato DDMM.MMMM (non DD.DDDDDD) → parser deve convertire (TinyGPS lo fa già)

📊 Consumi — 3 fonti triangolate (verificate)

Il L76K ha numeri “ufficiali” diversi a seconda di chi include l’antenna attiva:

FonteTrackingAcquisizioneBackup / Standby
🧪 Visla bench (misurato, modulo)16.8 mA
RAK12501 datasheet (modulo L76K)18 mA25 mA7 µA (backup RTC)
Seeed datasheet (modulo + antenna attiva)41 mA41 mA360 µA (standby RF-off)
Quectel Hardware Design (chip)qualitativo “High/Low”

Il modulo L76K consuma ~17-18 mA in tracking — la nostra misura (16.8 mA) è confermata dal datasheet RAK12501 (18 mA). Il 41 mA di Seeed include l’antenna attiva (il cui LNA aggiunge ~23 mA): NON è il doppio, è la stessa cosa contata con/senza antenna attiva. ⚠️ Due modi low-power distinti: Standby (RF off, core attivo) 360 µA · Backup (solo RTC) 7-8 µA. Dettaglio test →

🔗 Risorse