V
Visla Hardware
Portal R&D
🧩 Moduli & Shield ✓ Verified · 2026-06-01 ✓ In stock ⚡ Low power

SparkFun SAM-M10Q Qwiic

SparkFun Electronics
📦 Dev board
€51.50
SparkFun SAM-M10Q Qwiic Breakout (GPS-21834)
u-blox SAM-M10Q chip2× Qwiic + PTHBackup batt 4h hot start

🌐 Anteprima 3D · SparkFun SAM-M10Q Qwiic Breakout

Reference design open hardware SparkFun Electronics · 40.64×40.64 mm · 1 componenti · tap su 📱 AR per metterlo su una superficie reale (Android)

🌐 Viewer fullscreen + BOM ↗

Drag = ruota · Scroll = zoom · 📱 Bottone AR sotto a destra = posiziona sul tavolo (Android subito; iPhone richiede USDZ — in arrivo)

⚡ KiCad PCB Editor live (KiCanvas)

Stesso layout che vedresti aprendo il .kicad_pcb in KiCad: layer toggle, ratsnest, piazzole, net, dimensioni. Scrolla per zoom, drag per pan.

📥 Scarica .kicad_pcb

Powered by KiCanvas · render WebGL del file .kicad_pcb originale

📑 Indice sezioni

Curiosity

Breakout SparkFun open hardware per il chip u-blox SAM-M10Q: PCB 40.64×40.64 mm con due connettori Qwiic (JST-SH I2C 0x42) + header PTH per UART, antenna patch 15×15mm integrata sul chip e backup battery 3V/1mAh per ~4 ore di hot start dopo unplug. Schematic + Eagle project su GitHub (CC BY-SA), perfetto per riusare il design o per studio layout antenna patch. Per Visla è la via più rapida per bench-test multi-GNSS (GPS+Galileo+GLONASS+BeiDou) senza saldature.

Specs tecniche

ParametroValore
VendorSparkFun Electronics (USA, open hardware CC BY-SA)
SKU SparkFunGPS-21834
Prezzo$51.50 (1pc) — vedi sparkfun.com
Chip integratou-blox SAM-M10Q (M10 standard precision GNSS)
Dimensioni breakout40.64 × 40.64 mm (1.6” × 1.6”)
Connettori dati2× Qwiic JST-SH (I2C addr 0x42) + PTH header 0.1” (UART + I2C + PPS)
AntennaPatch 15×15 mm integrata sul chip — no antenna esterna richiesta
Backup battery3V/1mAh coin cell onboard — ~4h di hot start dopo power off
Voltage input3.3V via Qwiic (regolata onboard)
SchematicOpen hardware CC BY-SA — disponibile in PDF + Eagle .brd su GitHub
Pipeline GLBkicad-cli pcb export glb dal repo SparkFun — render con materials nativi
Compatibilità Visla benchQwiic chain con XIAO Expansion Board (I2C bus condiviso)

🧪 Note dal bench Visla

  • 2× Qwiic = daisy-chain plug-and-play: si attacca al Grove I2C dell’XIAO Expansion Board via cavo Qwiic↔Grove, condivide bus con OLED 0x3C e RTC 0x51 senza conflitti
  • Schematic + Eagle project open source: riusabile come reference layout per Visla v2 production PCB con SAM-M10Q (zero RF tuning, antenna patch integrata sul chip)
  • Backup battery onboard: hot start in <1s anche dopo unplug fino a ~4h — utile per bench-test rapidi senza aspettare cold start 23s
  • Consumo datasheet (chip, VCC 3.0V): tracking continuo multi-GNSS ~10mA (+V_IO 2.3mA), GPS-only 7.5mA, acquisizione 13mA, PSM cyclic 5mA, backup HW 32µA / SW standby 46µA. ⚠️ Il backup vero è µA — al bench il gemello MAX-M10S faceva 8mA per l’overhead board (PWR LED). Inrush fino a 100mA all’avvio. Vedi test consumi
  • Eagle library u-blox_SAM-M10Q.lbr importabile in KiCad (symbol+footprint del SAM-M10Q) + .brd/.sch reference — già in fornitori/sparkfun-sam-m10q/, base pronta per la sezione GPS del PCB Tag (antenna integrata = zero RF tuning)
  • ⚠️ Prezzo single-qty $51.50: alto per essere “solo” un breakout — paghi l’antenna patch integrata + Qwiic + backup battery. Per produzione vai chip nudo (€7.50/q1k)
  • ⚠️ Form factor 40.64×40.64 mm: troppo grande per packaging Visla v2 finale, OK solo per bench

⚠️ Gotchas

  • Qwiic feeds 3.3V — collegare a 5V Grove brucia il regolatore onboard (rare ma possibile)
  • Backup battery CR coin cell: se rimane scollegata >4h il fix torna cold start (~23s)
  • I2C address fisso 0x42 (standard u-blox DDC) — non riconfigurabile, conflitto con altri devices same-addr
  • 2× Qwiic ports ma stesso bus I2C — daisy-chain, NON multiplexing

📊 Consumi — ufficiali (chip) vs misurati Visla (modulo)

📄 Ufficiali u-blox (chip SAM-M10Q, datasheet R03, VCC 3.0V)

StatoConsumo
Tracking multi-GNSS10 mA (+2.3 mA V_IO)
Tracking GPS-only7.5 mA
Acquisizione13 mA
PSM cyclic 1Hz5 mA
Backup HW / SW standby32 µA / 46 µA

🧪 Misurati Visla (modulo, DPS-150 @3.3V, 2026-06-24, pyubx2 @9600)

StatoMisuratoNote
Tracking (fix)9.9 mA (33 mW)combacia col datasheet (~10 mA) ✅ — molto meno del DAN-F10N (19.4 mA)
Sleep RXM-PMREQ2.2 mA (modulo)il chip è a µA; i 2.2 mA sono overhead breakout (backup battery in carica + PWR LED). Wake: serve un burst UART (1 byte solo non basta)
PSM (OPERATEMODE=1)~10.3 mA (no risparmio)indoor il chip resta in acquisizione a piena potenza e non entra nel cyclic-tracking → i ~5 mA datasheet si vedono solo outdoor con fix pulito. Da rifare al balcone

⚠️ Gotcha PSM: la Power Save Mode viene rifiutata (ACK-NAK) se BeiDou B1C è abilitato — bisogna prima disattivare BeiDou (CFG_SIGNAL_BDS_ENA=0), poi CFG_PM_OPERATEMODE=1 (il valore 2/PSMCT dell’M8 non esiste sull’M10).

Config tracker applicata (automotive + NAV-PVT + MON-RF + ITFM, RAM+BBR) · ✅ AssistNow Autonomous attivato (CFG_ANA_USE_ANA=1, aopCfg=1). Il SAM ha GLONASS (visto nei GSA), a differenza del DAN-F10N.

📡 Set comandi completo (programmazione M10 SPG 5.10)

Il SAM-M10Q usa lo stesso firmware ROM SPG 5.10 del MAX-M10Sset comandi identico (stesso Interface Description M10-FW500). 3 protocolli su UART/I2C: NMEA (testo), UBX (binario), config interface (chiavi CFG via VALSET/VALGET). Totale: 79 UBX + 26 NMEA = 105 messaggi + ~28 gruppi config (centinaia di chiavi). Tutti elencati sotto con descrizione. Verificato al bench Visla via pyubx2 (23/06/2026, ACK/VALGET sul gemello MAX-M10S).

🛰️ UBX-NAV (0x01) — navigazione · 24 messaggi

MsgIDDescrizione
NAV-PVT0x07Position + velocity + time (il principale, tutto in uno)
NAV-POSLLH0x02Posizione geodetica (lat/lon/alt)
NAV-POSECEF0x01Posizione in ECEF (X/Y/Z)
NAV-VELNED0x12Velocità in frame NED
NAV-VELECEF0x11Velocità in ECEF
NAV-STATUS0x03Stato navigazione (fix type, flags)
NAV-SAT0x35Info per satellite (CNR, elevazione, azimuth)
NAV-SIG0x43Info per segnale (qualità, correzioni)
NAV-DOP0x04Diluizione di precisione (HDOP/VDOP/PDOP)
NAV-COV0x36Matrici di covarianza (incertezza pos/vel)
NAV-ORB0x34Stato database orbite (effemeridi/almanacco/AOP)
NAV-SBAS0x32Stato correzioni SBAS
NAV-SLAS0x42Stato QZSS L1S SLAS
NAV-ODO0x09Odometro (distanza percorsa)
NAV-RESETODO0x10Reset odometro
NAV-CLOCK0x22Soluzione di clock del ricevitore
NAV-EOE0x61End of epoch (marca fine epoca)
NAV-TIMEGPS0x20Tempo GPS
NAV-TIMEGAL0x25Tempo Galileo
NAV-TIMEGLO0x23Tempo GLONASS
NAV-TIMEBDS0x24Tempo BeiDou
NAV-TIMEQZSS0x27Tempo QZSS
NAV-TIMEUTC0x21Tempo UTC
NAV-TIMELS0x26Info evento leap-second

⚙️ UBX-CFG (0x06) — configurazione · 18 messaggi

MsgIDDescrizione
CFG-VALSET0x8aScrive chiavi di config (RAM/BBR/Flash)
CFG-VALGET0x8bLegge chiavi di config
CFG-VALDEL0x8cCancella chiavi di config
CFG-CFG0x09Clear / save / load configurazione
CFG-RST0x04Reset ricevitore + clear backup (cold/warm/hot)
CFG-PRT0x00Config porte I/O (UART/I2C/SPI, baud)
CFG-MSG0x01Rate di output per singolo messaggio
CFG-RATE0x08Rate di navigazione/misura (1Hz, 10Hz…)
CFG-NAV50x24Motore di navigazione (dynamic model, soglie)
CFG-NAVX50x23Motore di navigazione expert
CFG-GNSS0x3eSelezione costellazioni (GPS/Gal/GLO/BDS)
CFG-NMEA0x17Configurazione estesa protocollo NMEA
CFG-INF0x02Quali messaggi INF emettere per protocollo
CFG-ANT0x13Controllo antenna (supervisor, alimentazione)
CFG-ITFM0x39Monitor jamming/interferenze
CFG-ODO0x1eOdometro + filtro COG a bassa velocità
CFG-DAT0x06Datum geodetico (custom)
CFG-BATCH0x93Configurazione data batching

📶 UBX-MGA (0x13) — A-GNSS / AssistNow · 9 messaggi

MsgIDDescrizione
MGA-GPS0x00Assistenza GPS (effemeridi/almanacco/health/UTC/iono)
MGA-GAL0x02Assistenza Galileo
MGA-GLO0x06Assistenza GLONASS
MGA-BDS0x03Assistenza BeiDou
MGA-QZSS0x05Assistenza QZSS
MGA-ANO0x20AssistNow Offline (orbite a lunga validità)
MGA-INI0x40Aiding iniziale (posizione/tempo/clock/frequenza)
MGA-DBD0x80Dump/restore navigation database
MGA-ACK0x60Acknowledge dei messaggi di assistenza

🔋 UBX-RXM (0x02) · 🩺 UBX-MON (0x0a) · 🔐 UBX-SEC (0x27)

MsgIDDescrizione
RXM-PMREQ0x41Power management request (backup/standby → 46µA)
RXM-MEASX0x14Misure satellitari (locationing/RRLP)
RXM-SFRBX0x13Subframe di navigazione broadcast (raw)
RXM-RLM0x59Galileo SAR return-link message
MON-VER0x04Versione firmware/hardware
MON-HW0x09Stato hardware
MON-HW30x37Stato pin I/O
MON-RF0x38Info catena RF (jamming, AGC, noise)
MON-COMMS0x36Statistiche porte di comunicazione
MON-SPAN0x31Spettro del segnale (analisi banda)
MON-GNSS0x28Selezione GNSS major attiva
MON-RXR0x21Stato ricevitore (sveglio/dorme)
MON-PATCH0x27Patch firmware installate
MON-BATCH0x32Stato buffer data batching
SEC-UNIQID0x03ID univoco del chip

📋 UBX-LOG (0x21) · UBX-INF (0x04) · UBX-ACK (0x05) · UBX-TIM (0x0d) · UBX-UPD (0x09)

MsgIDDescrizione
LOG-BATCH0x11Dati batched (posizioni registrate)
LOG-RETRIEVEBATCH0x10Richiede i dati batched
INF-DEBUG/ERROR/NOTICE/TEST/WARNING0x04/00/02/03/01Output informativo ASCII (5 livelli)
ACK-ACK / ACK-NAK0x01 / 0x00Conferma / rifiuto di un comando
TIM-TM20x03Time mark (timestamp evento esterno)
TIM-TP0x01Time pulse time data
TIM-VRFY0x06Verifica del tempo sorgente
UPD-SOS0x14Save-on-shutdown (backup stato in flash)

📜 NMEA standard (21) + PUBX proprietari (5)

MsgDescrizione
GGAFix data (posizione, n. satelliti, HDOP, quota) — il più usato
RMCRecommended Minimum (pos, velocità, data, status)
GLLLat/long + tempo + status
GNSGNSS fix data (multi-costellazione)
GSADOP + satelliti attivi
GSVSatelliti in vista (CNR per satellite)
VTGCourse over ground + velocità
ZDAData e ora
GSTStatistiche errore pseudorange
GRSResidui di range
GBSSatellite fault detection
GAQ/GBQ/GLQ/GNQ/GPQ/GQQPoll di un messaggio standard (6 query)
DTMDatum reference
VLWDistanza ground/water
TXTTrasmissione testo
RLMReturn link message (Galileo SAR)
PUBX,00 (POSITION)Posizione lat/long proprietaria
PUBX,03 (SVSTATUS)Stato satelliti
PUBX,04 (TIME)Ora del giorno + clock
PUBX,40 (RATE)Set rate di output NMEA
PUBX,41 (CONFIG)Set protocolli e baud rate

🗂️ Gruppi config (CFG-* via VALSET, ~30 → centinaia di chiavi)

CFG-PM (power), CFG-SIGNAL, CFG-RATE, CFG-NAVSPG, CFG-MSGOUT, CFG-ANA (AssistNow), CFG-MOT, CFG-ITFM, CFG-ODO, CFG-SBAS, CFG-QZSS, CFG-TP, CFG-SEC, CFG-TXREADY, CFG-NMEA, CFG-INFMSG, CFG-RINV, CFG-HW, CFG-BATCH, CFG-UART1/I2C/SPI (+INPROT/OUTPROT).

🔗 Risorse