I moduli Bluetooth HC-05 e HC-06 sono tra le scelte più popolari per aggiungere la comunicazione wireless ad Arduino e ai progetti embedded. Sebbene entrambi offrano una connettività UART semplice ed economica, i ruoli, le funzionalità e la flessibilità differiscono.

Panoramica dei moduli Bluetooth HC-05 vs HC-06
HC-05 e HC-06 sono moduli Bluetooth SPP (Serial Port Protocol) comunemente utilizzati per abilitare la comunicazione UART wireless tra microcontrollori, PC o dispositivi mobili. Sono convenienti, facili da integrare e ampiamente adottati nella prototipazione, nei sistemi integrati e nei progetti basati su Arduino.

• HC-05: un modulo flessibile che può funzionare sia come master (avvio delle connessioni) che come slave (risposta alle connessioni). Questa capacità dual-mode lo rende ideale per applicazioni più avanzate, come le reti multi-dispositivo o quando un microcontroller deve avviare la comunicazione con altri dispositivi Bluetooth.

HC-06: un modulo più semplice configurato per funzionare solo come slave, il che significa che può accettare connessioni ma non può avviarle. La sua natura plug-and-play riduce la complessità, il che lo rende una buona scelta per le applicazioni che richiedono un solo collegamento da dispositivo a dispositivo.
Ruoli master vs slave e comportamento di connessione

La distinzione chiave tra HC-05 e HC-06 risiede nei loro ruoli firmware e nel modo in cui stabiliscono i collegamenti Bluetooth.
L'HC-05 può operare in entrambi i ruoli. In modalità master, esegue la scansione dei dispositivi nelle vicinanze e avvia le connessioni, utile per i sistemi autonomi come robot o controller che devono collegarsi attivamente con sensori o altri moduli Bluetooth. In modalità slave, attende la connessione di un master (come uno smartphone o un PC), il che lo rende versatile per una vasta gamma di configurazioni.
L'HC-06 è bloccato in modo permanente in modalità slave. Non è in grado di cercare o avviare connessioni, ma attende l'associazione di un dispositivo master. Questa semplicità plug-and-play riduce la complessità ma limita l'uso in progetti che richiedono la rete multi-dispositivo o l'avvio autonomo.
In breve, HC-05 supporta la riconnessione automatica all'ultimo dispositivo accoppiato e in alcune configurazioni può passare da uno slave all'altro (uno alla volta). HC-06 si connette solo quando viene rilevato da un master, senza riconnessione o funzionalità multi-dispositivo.
Flessibilità dei comandi HC-05 vs HC-06 AT
I comandi AT consentono la configurazione dei moduli Bluetooth prima dell'implementazione, e qui il divario tra HC-05 e HC-06 è più evidente.
HC-05: set di comandi completo
Fornisce un'ampia gamma di comandi per regolare:
• Nome del modulo
•Baud rate
• PIN/password
• Ruolo (master o slave)
• Debug e test di connessione
Questo rende HC-05 ideale per progetti avanzati o in evoluzione in cui sono necessarie personalizzazione e flessibilità.
HC-06: Comandi limitati
Supporta solo una manciata di comandi, di solito per cambiare nome e velocità di trasmissione. Il ruolo è fissato alla modalità slave. Questa semplicità è interessante per i progetti Arduino veloci, ma limita le opzioni per la scalabilità o le reti complesse.
Velocità di trasmissione e parametri di comunicazione
Entrambi i moduli utilizzano UART (Universal Asynchronous Receiver/Transmitter) per la comunicazione con il microcontrollore, garantendo un'ampia compatibilità con Arduino.
HC-05: L'impostazione predefinita è 9600 bps, ma supporta velocità più elevate (38400, 57600, 115200 bps) tramite comandi AT. Questa flessibilità è preziosa per le applicazioni che richiedono una maggiore produttività, come lo streaming dei sensori in tempo reale.
• HC-06: molte versioni vengono fornite bloccate a 9600 bps, anche se alcune consentono modifiche limitate. È necessario pianificare questa restrizione nei sistemi sensibili alle prestazioni.
• Parametri condivisi: entrambi utilizzano lo stesso formato di frame (8 bit di dati, 1 bit di stop, nessuna parità), garantendo una semplice integrazione seriale.
Configurazione della piedinatura di HC-05 e HC-06
La configurazione dei pin è una delle prime cose da controllare quando si collega un HC-05 o HC-06 a un microcontrollore, poiché esistono lievi differenze tra i due moduli. Il cablaggio corretto garantisce una comunicazione stabile e previene danni accidentali.

| Nome pin | HC-05 (6 pin) | HC-06 (4-5 pin) |
|---|---|---|
| VCC | Alimentazione 3,3–5 V | Alimentazione 3,3–5 V |
| GND | Terra | Terra |
| TXD | Dati UART in uscita | Dati UART in uscita |
| RXD | Dati UART in ingresso | Dati UART in ingresso |
| EN/CHIAVE | Utilizzato per abilitare la modalità di comando AT o modificare lo stato del modulo | A volte assente, non disponibile su tutte le versioni |
| STATO | Indica lo stato della connessione (ALTO quando connesso, BASSO quando inattivo) | A volte assenti, soprattutto nelle breakout board più semplici |
Specifiche tecniche di HC-05 e HC-06
| Caratteristica | HC-05 | HC-06 |
|---|---|---|
| Versione Bluetooth | 2.0 + EDR | 2.0 + EDR |
| Ruoli supportati | Master & Slave | Solo schiavo |
| Velocità di trasmissione predefinita | 9600 bps (modificabile) | 9600 bps (può essere fisso) |
| Supporto al comando AT | Set completo | Limitato |
| Spille disponibili | 6 (EN/KEY, VCC, GND, TX, RX, STATE) | 4–5 (VCC, GND, TX, RX, a volte STATE) |
| Intervallo (LOS) | 20-30 m all'aperto, 5-10 m all'interno | 20-30 m all'aperto, 5-10 m all'interno |
| Prezzo (medio) | \$5-8 | \$3–5 |
Portata Bluetooth e prestazioni dei dati di HC-05 e HC-06
In termini di portata e gestione dei dati, i moduli HC-05 e HC-06 offrono quasi le stesse prestazioni poiché entrambi sono basati sullo standard Bluetooth 2.0 + EDR. Le loro capacità sono adatte per la maggior parte dei progetti embedded a corto raggio, ma non per le applicazioni che richiedono connettività a lunga distanza.
| Condizione | HC-05 | HC-06 |
|---|---|---|
| Gamma Indoor | 5-10 metri | 5-10 metri |
| LOS all'aperto | 20-30 metri | 20-30 metri |
| Velocità dati | Fino a 3 Mbps (EDR) | Fino a 3 Mbps (EDR) |
| Antenna | Traccia PCB / esterna | Traccia PCB / esterna |
Limitazioni dei moduli Bluetooth HC-05 e HC-06
| Modulo | Limitazioni principali |
|---|---|
| HC-05 | Costo leggermente superiore rispetto all'HC-06; L'installazione e la configurazione possono essere più complesse a causa di pin aggiuntivi e opzioni di comando AT. |
| HC-06 | Limitato alla sola modalità slave, con meno comandi AT disponibili; ridotta flessibilità nei progetti più avanzati; Meno pin sulla maggior parte delle schede di breakout. |
| Entrambi | Costruito sul vecchio standard Bluetooth 2.0 + EDR, il che significa: - Nessun supporto Bluetooth Low Energy (BLE) - Consumo energetico più elevato rispetto ai moderni moduli BLE - Non ideale per applicazioni alimentate a batteria e a basso consumo energetico. |
Confronto tra HC-05 e HC-06 e WF-05 e HM-10

Con l'avanzare delle tecnologie Bluetooth e wireless, sono comparsi nuovi moduli che si espandono oltre i classici HC-05 e HC-06. Il confronto con WF-05 e HM-10 mostra dove ciascuno si adatta meglio.
| Modulo | Tipologia | Caratteristiche principali | Miglior caso d'uso |
|---|---|---|---|
| HC-05 | Bluetooth 2.0 | Supporta sia i ruoli master che slave, set completo di comandi AT per la personalizzazione | Robotica, progetti IoT che richiedono una connettività flessibile |
| HC-06 | Bluetooth 2.0 | Solo slave, comandi AT minimi, costi molto bassi e facile da configurare | Progetti Arduino per principianti, semplici collegamenti sensore-controller |
| WF-05 | WiFi + Bluetooth | Offre una doppia connettività (WiFi per l'accesso a Internet + Bluetooth per l'accoppiamento locale) | Progetti IoT che richiedono sia il controllo locale che la connettività cloud |
| HM-10 | Bluetooth 4.0 BLE | Bassa potenza, lunga durata della batteria, supporta BLE (Bluetooth Low Energy) | Dispositivi indossabili, accessori mobili e moderne applicazioni IoT |
Applicazioni di HC-05 e HC-06
I moduli HC-05 e HC-06 sono tra i componenti aggiuntivi più popolari per i progetti Arduino e microcontrollori. Forniscono un modo semplice per aggiungere la comunicazione wireless Bluetooth. Ecco alcune applicazioni pratiche e creative in cui questi moduli brillano:

• Controllo robot con smartphone: utilizza un HC-05 in modalità slave per ricevere comandi di movimento da un'app Android. Ideale per robot che seguono la linea, bracci robotici o robot mobili.

• Registrazione dei dati del sensore wireless: invia i dati del sensore (temperatura, umidità, GPS) da Arduino a un laptop o telefono utilizzando HC-06. Perfetto per stazioni meteorologiche fai-da-te o monitor ambientali.

• Progetti di domotica: controlla luci, ventilatori o elettrodomestici da remoto tramite l'associazione Bluetooth HC-05 con un telefono. Semplici comandi possono attivare o disattivare i relè collegati ai microcontrollori.

• Comunicazione remota con auto RC o drone: utilizza HC-05 in modalità master per inviare comandi direzionali a un veicolo dotato di HC-06. Modo economico per costruire un sistema di controllo remoto.
Conclusione
La scelta tra HC-05 e HC-06 dipende dalla complessità e dalle esigenze di flessibilità del progetto. HC-05 offre il supporto completo dei comandi AT e la doppia modalità master-slave, che lo rendono adatto a sistemi avanzati. HC-06 offre un approccio più semplice e plug-and-play per progetti semplici. Conoscendo i loro punti di forza e i loro limiti, gli sviluppatori possono ottenere una comunicazione wireless affidabile in un'ampia gamma di applicazioni Arduino e integrate.
Domande frequenti [FAQ]
HC-05 o HC-06 possono connettersi ai dispositivi iOS?
I moduli HC-05 e HC-06 generalmente si collegano facilmente ai dispositivi Android e Windows. I dispositivi iOS hanno un supporto limitato per Bluetooth SPP (Serial Port Profile), quindi spesso non possono connettersi senza hardware aggiuntivo o moduli compatibili con BLE.
HC-05 e HC-06 supportano Bluetooth Low Energy (BLE)?
No, sia HC-05 che HC-06 utilizzano Bluetooth 2.0 + EDR. Non supportano BLE. Per le applicazioni mobili a bassa potenza o moderne, moduli come HM-10 (BLE 4.0) sono alternative migliori.
Due moduli HC-06 possono comunicare direttamente?
No, i moduli HC-06 non possono comunicare tra loro perché entrambi sono bloccati in modalità slave. Per stabilire il collegamento è necessario almeno un modulo compatibile con il master (come HC-05).
Come si ripristinano le impostazioni di fabbrica di un HC-05 o HC-06?
HC-05 può essere ripristinato tramite comandi AT, come il ripristino della velocità di trasmissione e del PIN predefiniti. HC-06 ha opzioni di comando AT molto limitate e spesso richiede il reflashing del firmware o l'acquisto di un nuovo modulo se i problemi di configurazione persistono.
Quale modulo è migliore per i progetti alimentati a batteria?
Entrambi assorbono una corrente simile (~30–40 mA), ma poiché nessuno dei due supporta BLE, non sono efficienti dal punto di vista energetico per l'uso a lungo termine della batteria. Per le applicazioni a basso consumo energetico, sono preferiti i moduli BLE come le soluzioni basate su HM-10 o ESP32.