V
Visla Hardware
Portal R&D
🛰️ GNSS / GPS ✓ Verified · 2026-06-01 📄 Datasheet Product Summary (2024) ⚡ Low power

SAM-M10Q

u-blox
🏭 Chip @ 1k pcs
€7.50
production BOM
🔧 Chip @ 1 pc
€12.50
prototyping JLC
37mW typ trackingPatch ant 15×15 onboard4 GNSS concurrent

Curiosity

u-blox M10 con antenna patch 15×15mm integrata: zero RF tuning, design-in semplice senza expertise RF. Tecnologia Super-S per sensibilità in city canyon, SAW filter + LNA front-end per immunità jamming da modem cellulare. Backward pin-compatible col vecchio SAM-M8Q — drop-in replacement che dimezza il consumo. Per bench-test rapido vedi il breakout SparkFun SAM-M10Q Qwiic nella sezione Moduli & Shield.

Specs tecniche

ParametroValore
Receiveru-blox M10 standard precision GNSS antenna module
Type numberSAM-M10Q-00B (mass production)
GradeStandard · Professional · Automotive (AEC-Q104 subset qualified)
QualityIATF 16949 certified production sites
Doc referenceProduct Summary UBX-22004868 R07 + Datasheet UBX-22013293 R03
FW versionROM SPG 5.10
StatusInitial production (UBX-22013293 R03, 30-Aug-2022)
GNSS concurrentGPS L1C/A + Galileo E1-B/C + GLONASS L1OF + BeiDou B1C (+QZSS L1C/A L1S + SBAS)
SBAS supportatiEGNOS · GAGAN · MSAS · WAAS
QZSSL1S (SLAS)
Accuracy (CEP)1.5 m (multi-GNSS, 24h static)
Update rate5Hz (4-GNSS) · 8Hz (3) · 10Hz (2) · 18Hz (single)
TTFF cold (4-GNSS)23 s
TTFF hot1 s
AssistNow Online1 s
Sensitivity tracking-165 dBm
Sensitivity reacquisition-158 dBm
Sensitivity cold start-146 dBm
Sensitivity hot start-157 dBm
Tracking @ 3V continuous (2 GNSS)31 mW (~10 mA)
Tracking @ 3V continuous (3 GNSS)34 mW
Tracking @ 3V continuous (4 GNSS)37 mW (~12 mA)
PSM 1Hz cyclic (2 GNSS)21 mW (~7 mA) — ultra-low-power
PSM 1Hz cyclic (3 GNSS)21 mW
Power Save mode (NO BDS B1C)N/A se BeiDou B1C abilitato
Acquisition (4-GNSS)~13 mA
Power Save (max 3 GNSS)~5 mA
Voltage VCC/V_IO3.3 V
Backup supply V_BCKP1.65 V - 3.6 V (range più ampio del main)
EMC2014/53/EU RED + RoHS-3
Raw data outputCode phase data (per RTK post-processing!)
Tracking featuresu-blox Super-S · Odometer (user profiles) · Data batching 10min RAM · Protection level 95%
Security signalRF interference + jamming detection + reporting · Spoofing detection + reporting
Secure interfaceSigned UBX SHA-256 · JTAG disabled by default
Eval kitEVK-M10QSAM (u-blox official)
ServicesAssistNow · CloudLocate
Time pulse30ns RMS / 60ns 99% — 0.25Hz–10MHz config.
Operational limits≤4g dynamics · 80,000m altitude · 500 m/s
Velocity accuracy0.05 m/s
Heading accuracy0.3 deg
ProtocolsUBX (binary u-blox) + NMEA 2.1/2.3/4.0/4.10/4.11 (default)
InterfacesUART + I2C (DDC)
Package20-pin LGA (Land Grid Array, NOT LCC!) 15.5×15.5×6.3 mm · 5.6 g · 250 pcs/reel
Antenna integrata15×15 mm patch RHCP 3dBic gain (50×50mm² GND plane optimal)
Front-end RFSAW filter + LNA integrato (immune da TX cellulare)
FW featuresCloudLocate · AssistNow Online/Offline/Autonomous · Data batching 10min@1Hz · Odometer · Super-S · HW/SW backup
SecurityAnti-jamming · anti-spoofing · config lockdown · message integrity firmato · secure boot

🧪 Note dal bench Visla

  • Drop-in upgrade SAM-M8Q: stessa pinout, consumo dimezzato (37mW vs ~73mW M8) — refresh di design esistenti zero-cost
  • 4 GNSS concurrent a 5Hz: ridondanza in city canyon, accuracy 1.5m anche sotto vegetazione/balconi
  • Anti-jamming + anti-spoofing reporting: detecta interferenze attive e segnala — utile per Visla Pro Fleet contro jammers
  • Data batching autonomous 10min @ 1Hz: registra traccia anche senza MCU sveglio — risparmia batteria su Visla v2 Auto
  • CloudLocate GNSS: piccolo payload UDP/MQTT con dati raw, il fix lo calcola u-blox cloud, MCU resta dormiente
  • Antenna patch + SAW + LNA tutto onboard: zero matching network, layout PCB Visla v2 banale (no antenna ground tuning)
  • ⚠️ Power Save mode max 3 GNSS: per scendere a 5mA devi limitare a 3 costellazioni — accetta 4 GNSS solo full power
  • ⚠️ BeiDou usa B1C non B1I: 1575.42 MHz come GPS — possibile solo con M10 (vs M8 che usava B1I a 1561 MHz)
  • ⚠️ u-center2 obbligatorio: per config usa solo u-center2 (Windows), il vecchio u-center NON supporta M10

⚠️ Gotchas

  • Solo VCC 3.3V (no 5V tolerant): mai connettere direttamente a USB 5V, sempre LDO
  • TIMEPULSE pin condiviso con SAFEBOOT_N via 1kΩ — se PPS fluttua durante boot, controlla resistore
  • V_BCKP scollegato = cold start sempre 23s (no hot start) — sempre alimentare il backup
  • GND plane consigliato 50×50mm² per antenna optimal — su PCB piccoli aspettati gain ridotto
  • Protection level 95% confidence “verified for automotive only” — non claim su asset tracker
  • NMEA default 9600 baud — per 18Hz update devi configurare 38400+

📊 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) Il SAM-M10Q non è ancora stato misurato direttamente al banco. Il gemello MAX-M10S (stesso chip M10, stesso firmware) misura 17.9 mA tracking board-level (modulo SparkFun, include PWR LED + regolatore) → attenditi valori simili sul SAM. Il backup reale del chip è ~µA (datasheet 32-46 µA), mascherato dall’overhead board. Dettaglio test →

📡 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).

🆚 I 3 GPS u-blox a confronto (bench Visla)

MAX-M10SSAM-M10QDAN-F10N
Chip / bandeM10 · L1M10 · L1F10 · L1+L5 dual-band
Accuracy CEP~1.5 m~1.5 m~1 m (multipath dual-band)
Antennaesterna (SMA)patch 15×15 integratapatch 20×20 integrata + switch esterna
Design RFservezerozero
Posiz. antennalibera (lontano dal modem)fissafissa o esterna
Tracking (VCC datasheet)~7.5 mA (GPS)10 mA (multi)21 mA (multi)
Backup~32–46 µA~32–46 µA~31 µA
FirmwareM10 SPG 5.10 (ROM)M10 SPG 5.10 (ROM)F10 SPG 6.00 (flash, aggiornabile)
ComandiM10 (identici a SAM)M10 (identici a MAX)F10: +NavIC, +NAV-PL, +SEC-SIG, no CFG legacy
NavIC
Prezzo breakout~$46~$51~$70
Quandolow-power + antenna remotaproto rapido / zero RFaccuracy urbano / premium

Verdetto Tag Visla: MAX-M10S = il low-power con antenna piazzabile lontano dal modem LTE (~7.5mA, ma progetti tu l’RF). SAM-M10Q = proto rapido (antenna fissa, ~10mA). DAN-F10N = max precisione dual-band ma 2× consumo (21mA) + costo + GPS L5 ancora pre-operational → overkill per Tag base, senso per fleet/automotive.

🔗 Risorse