UHD, sigla di USRP Hardware Driver, è il driver con relativa interfaccia di programmazione che fa funzionare le radio software della famiglia USRP. Lo sviluppa Ettus Research, l’azienda che progetta e vende queste schede, e il codice sorgente è pubblicato con licenza GPL v3 sul repository GitHub della società. Ettus Research fa parte di National Instruments dal 2010, e NI è stata a sua volta acquisita dal gruppo industriale statunitense Emerson, che ha completato l’operazione l’11 ottobre 2023. Il sito ettus.com continua comunque a presentare Ettus come un marchio di NI.
Si tratta di un progetto maturo. Secondo la cronologia del repository, il tag della versione 3.0 risale al 2011, mentre il ramo attuale è arrivato alla 4.11, pubblicata a settembre 2026. Dalla pagina delle release si ricava un ritmo di circa due versioni stabili all’anno, ciascuna anticipata da diverse release candidate.
A cosa serve UHD
In una radio software gran parte dell’elaborazione del segnale passa dall’hardware dedicato al computer. La scheda USRP converte le onde radio in campioni digitali e viceversa, mentre il software si occupa di demodulazione, filtraggio e decodifica. UHD fa da tramite. Rileva i dispositivi collegati via USB o Ethernet, imposta frequenza, guadagno e frequenza di campionamento, carica l’immagine FPGA corretta e trasporta i flussi di campioni nei due sensi con una marcatura temporale precisa, indispensabile per sincronizzare più radio tra loro.
Un solo driver copre l’intero catalogo Ettus, dalle piccole schede USB della serie B ai modelli di rete delle famiglie X300 e X400, fino agli apparati che eseguono un proprio sistema Linux. Per questi ultimi il repository include anche MPM, un gestore che gira direttamente sulla radio. UHD offre un’API C++ e una Python, oltre a strumenti da riga di comando come uhd_find_devices, che elenca le radio raggiungibili, e uhd_usrp_probe, che ne mostra la configurazione completa. Integra infine RFNoC, un framework che sposta parte dell’elaborazione nell’FPGA della scheda e alleggerisce il processore del computer.
Nella pratica pochi programmano direttamente su UHD. La maggior parte degli utenti ci arriva tramite GNU Radio, LabVIEW, MATLAB e Simulink, oppure tramite progetti aperti di rete mobile come srsRAN, OpenAirInterface o il software GSM di Osmocom, che si appoggiano tutti a UHD per comandare l’hardware. Il suo ruolo corrisponde a quello del software bladeRF per le schede Nuand: ogni produttore mantiene il driver del proprio hardware e i due non sono intercambiabili. Strumenti di analisi come SigDigger e Inspectrum intervengono più avanti, quando il segnale è già stato acquisito.
Per chi è?
UHD è pensato per chiunque lavori con una radio USRP: laboratori universitari, gruppi di ricerca nelle telecomunicazioni, ingegneri che realizzano prototipi di reti mobili private o di collegamenti radio sperimentali, radioamatori esperti. Gli sviluppatori trovano un manuale di riferimento molto esteso su uhd.readthedocs.io e una knowledge base ricca di note applicative su kb.ettus.com.
I limiti sono netti. UHD gestisce solo l’hardware di Ettus Research e non serve a nulla senza una scheda USRP, da acquistare a parte. Non è nemmeno un programma di ascolto: non mostra spettro né cascata, quindi va abbinato a un’applicazione come GNU Radio per vedere qualcosa. La versione installata deve inoltre corrispondere alle immagini FPGA caricate sulla scheda, che vanno aggiornate a ogni cambio di versione con l’utility uhd_images_downloader. Chi possiede una chiavetta RTL-SDR, una HackRF o una bladeRF deve rivolgersi al driver del rispettivo produttore.
Scaricare UHD in sicurezza
Bastano tre indirizzi ufficiali. Il repository GitHub EttusResearch/uhd pubblica il codice sorgente e le immagini FPGA di ogni versione. Gli installer per Windows e i pacchetti binari si trovano su files.ettus.com, nella cartella latest_release per l’ultima versione stabile. Su Ubuntu Ettus mantiene il PPA ettusresearch/uhd, su Fedora un repository di pacchetti dedicato, mentre per macOS la documentazione consiglia MacPorts. Quasi tutte le distribuzioni Linux offrono UHD anche nei propri repository, talvolta con qualche ritardo rispetto alla versione di Ettus.
Il driver è gratuito. NI propone una licenza meno vincolante della GPL, ma solo alle aziende che integrano hardware Ettus in grandi volumi e solo su richiesta. Dato che l’installazione su Windows aggiunge driver USB e richiede i diritti di amministratore, un installer recuperato da un forum o da un portale di download generico non dovrebbe mai finire su una macchina di laboratorio. Meglio limitarsi agli indirizzi di Ettus e confrontare i checksum pubblicati insieme alle immagini FPGA.
Domande frequenti
UHD è gratuito?
Sì. Il driver è distribuito con licenza GPL v3 e si scarica liberamente per Windows, Linux e macOS. Esiste una licenza alternativa, che però NI riserva ai produttori che integrano radio Ettus in grandi quantità.
UHD funziona con radio diverse dalle USRP?
No. UHD è progettato esclusivamente per l’hardware di Ettus Research. Le schede di altri produttori, come la bladeRF di Nuand, hanno un proprio driver, anche se uno strato di astrazione come SoapySDR permette ad alcune applicazioni di dialogare con più famiglie di radio.
Chi pubblica UHD oggi?
Ettus Research, marchio di NI. Dall’ottobre 2023 NI fa parte del gruppo Emerson, all’interno della divisione Test & Measurement. Lo sviluppo prosegue su GitHub, dove la versione 4.11 è uscita a settembre 2026.