V
Visla Hardware
Portal R&D
πŸ“¦ Cat-1 Asset Tracker β€” Lansitec

Asset Tracker Cat-1

Nordic nRF52832 + Quectel EG800K + BLE Β· sample ~$60 Β· IMEI 866846066087338
πŸ“‚ Folder GitHub β†’

πŸ”“ Chip SBLOCCATO β†’ firmware dumpato per intero

UICR APPROTECT = 0xFFFFFFFF (nessuna protezione di lettura). Dumpati 512KB flash + UICR + FICR via clone J-Link + OpenOCD. Firmware V0211: SoftDevice Nordic + App + Secure DFU bootloader (OTA). 60% flash occupata, nessun segreto hardcoded in chiaro.
⚠️ Lezione per Visla: in produzione abilitare APPROTECT β€” qui il firmware Γ¨ estraibile da chiunque con un J-Link in 5 minuti.

πŸ’Ύ Dump firmware su GitHub (flash 512KB + UICR + FICR) β†’

Repo privato Β· solo uso interno β€” firmware proprietario Lansitec, non redistribuire.

🎯 Chip rilevati (confermati via SWD, non stimati)

FunzioneComponenteNote
MCU / host Nordic nRF52832 (QFAA rev E0) Cortex-M4F, 512KB flash / 64KB RAM, QFN48 β€” CONFERMATO via FICR (PART 0x52832, VARIANT "AAE0")
Modem cellulare Quectel EG800K (LTE Cat-1) Dumb modem pilotato via AT (AT+QCFG, +QHTTP…). Il cervello NON Γ¨ il modem.
GNSS GPS dedicato + antenna patch NB_PARAMETER_GPS_* nel firmware
BLE Radio nRF52832 + SoftDevice Nordic AssetBLE beacon scan + geofence BLE + tag proximity
Alimentazione LiPo (JST removibile) + switch OFF/ON nRF alimentato diretto da batteria; l’OFF Γ¨ logico (non taglia VDD)

Architettura "MCU host + dumb modem" β€” l'nRF52832 Γ¨ il cervello, il Quectel solo bearer. Esattamente la direzione Visla v2 / Tag β†’ validazione da un competitor in produzione.

πŸ”Œ Pinout SWD β€” header J2 (6 pin, foro quadrato = pin1)

Foro J2SegnaleCome identificato
1 GND 0Ξ© verso negativo batteria β€” unico pin critico da azzeccare
2 SWCLK A chip acceso Γ¨ l’unico segnale a ~0V (pull-down interno)
3 SWDIO 1Βͺ combinazione giusta in OpenOCD β†’ IDCODE letto
4 VCC (~3.6V) NON collegato: tracker alimentato dalla sua batteria
5–6 GND / GPIO segnali a 0V, non usati

Comando: openocd -f interface/jlink.cfg -c "transport select swd" -f target/nrf52.cfg -c init -c halt -c "dump_image flash.bin 0x0 0x80000"

🎨 Leggenda cavo J-Link (clone) β€” connettore JTAG+SWD 20-pin

πŸ“ Come si contano i pin (IDC 2Γ—10)
  • Pin 1 = l'angolo marcato (triangolo / tacca di polarizzazione), in alto a sinistra nel diagramma dell'etichetta.
  • I dispari (1,3,5…19) stanno su una fila, i pari (2,4,6…20) sull'altra.
  • Si scende a coppie di colonna: pin 1-2 nella stessa colonna, poi 3-4 sotto, ecc.
pin1 β–Έ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
       β”‚  1     2  β”‚  VTref(VCC) Β· NC
       β”‚  3     4  β”‚  NC Β· GND
       β”‚  5     6  β”‚  TX Β· GND
       β”‚  7     8  β”‚  SWDIO Β· GND
       β”‚  9    10  β”‚  SWCLK Β· GND
       β”‚ 11    12  β”‚  … Β· GND
       β”‚ 13    14  β”‚  SWO Β· GND
       β”‚ 15    16  β”‚  RESET Β· GND
       β”‚ 17    18  β”‚  RX Β· GND
       β”‚ 19    20  β”‚  5V Β· GND
       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Connettore JTAG+SWD 20-pin del J-Link clone con i 4 fili SWD (verde/giallo/blu/arancione)
Connettore 20-pin: 🟒 verde Β· 🟑 giallo Β· πŸ”΅ blu Β· 🟠 arancione (4 usati su 20)
Etichetta sul retro del J-Link clone (ARM V9 δ»ΏηœŸε™¨) con la pinout ufficiale 20-pin SWD/JTAG
Etichetta retro (ufficiale): pinout SWD/JTAG + VTref 3.3V, UART TX/RX, commutabile 1.8-5V
PinFunzione (etichetta ufficiale)Stato
1 VTref (VCC, 3.3V int.) 🟠 arancione
2 NC inutilizzato
3 NC (nTRST) inutilizzato
4 GND 🟒 verde
5 TX (TDI) β€” UART inutilizzato
6 GND inutilizzato
7 SWDIO (TMS) πŸ”΅ blu
8 GND inutilizzato
9 SWCLK (TCK) 🟑 giallo
10 GND inutilizzato
11 NC (RTCK) inutilizzato
12 GND inutilizzato
13 SWO (TDO) inutilizzato
14 GND inutilizzato
15 RESET inutilizzato
16 GND inutilizzato
17 RX β€” UART inutilizzato
18 GND inutilizzato
19 5V inutilizzato
20 GND inutilizzato

4 pin usati: 1 VCC 🟠 Β· 4 GND 🟒 Β· 7 SWDIO πŸ”΅ Β· 9 SWCLK 🟑. Bonus di questo clone: UART su pin 5 (TX) e 17 (RX), VTref 3.3V di default (commutabile 1.8-5V via jumper interno). Cavo pre-crimpato β†’ riutilizzabile su ogni Cortex-M; arancione (VCC) da staccare se il target Γ¨ giΓ  alimentato.

πŸ“Έ Foto teardown

Board Asset Tracker: MCU nRF52832 (U11), header SWD J2, switch OFF/ON, antenne GPS/LTE
Board Asset Tracker: MCU nRF52832 (U11), header SWD J2, switch OFF/ON, antenne GPS/LTE
Close-up MCU β€” marking N52832 / QFAAE0 / 2512AG β†’ Nordic nRF52832 QFAA rev E0 (Cortex-M4F, 512KB/64KB)
Close-up MCU β€” marking N52832 / QFAAE0 / 2512AG β†’ Nordic nRF52832 QFAA rev E0 (Cortex-M4F, 512KB/64KB)
Dettaglio U11 + C5 (decoupling VDD) e piste (foto Andonstar via SD)
Dettaglio U11 + C5 (decoupling VDD) e piste (foto Andonstar via SD)
Header J2 6-pin (SWD/programmazione) + pad singoli J3/J4 (UART debug)
Header J2 6-pin (SWD/programmazione) + pad singoli J3/J4 (UART debug)
Piste da J2 verso il nRF52832 β€” mappatura pinout SWD
Piste da J2 verso il nRF52832 β€” mappatura pinout SWD
Collegamento finale: clone J-Link β†’ J2 (GND foro1 / SWCLK foro2 / SWDIO foro3), batteria staccata
Collegamento finale: clone J-Link β†’ J2 (GND foro1 / SWCLK foro2 / SWDIO foro3), batteria staccata

🧩 Feature complete (da tabella NB_PARAMETER_* nel firmware)

Molte non presenti nel datasheet β€” estratte dal binario:

GPS (period / scan-duration / fail-send)AssetBLE beacon scan (major/minor/rssi, UUID filter)Position modes + heartbeatOffline cacheSOS alarmCaduta (fall + threshold)MagneteShockWear (indossamento)Danger-area (geofence BLE)SearchSwitch-off enable

πŸ’‘ Insight replicabili per Visla

  • Architettura validata: Nordic nRF (host+BLE) + Quectel Cat-1 (dumb modem) = scelta Visla v2/Tag, usata in produzione da un competitor.
  • BLE come killer feature: AssetBLE scan + geofence BLE + tag proximity β†’ indoor + antifurto "leash" senza costi cellulare.
  • Sicurezza: abilitare APPROTECT su Visla in produzione (Lansitec l'ha lasciato aperto β†’ firmware estraibile).
  • Suite allarmi (caduta/wear/magnete/shock) = roadmap a costo quasi-zero (giΓ  nel silicio nRF + IMU).