Module Bluetooth Low Energy HM-10 : Guide Technique Complet
1. Configuration des Broches HM-10
Basé sur puce CC2540/CC2541 (SoC Bluetooth Low Energy 4.0/4.2). 34 broches, 4 essentielles pour communication UART.

Configuration broches HM-10
| Broche | Nom | Description |
|---|---|---|
| 1 | UART_TX | Sortie série UART |
| 2 | UART_RX | Entrée série UART |
| 3 | UART_CTS | Contrôle flux UART (Clear To Send) |
| 4 | UART_RTS | Contrôle flux UART (Request To Send) |
| 5-10 | NC | Non connecté |
| 11 | RESET | Reset actif bas (>100 ms) |
| 12 | VCC | Alimentation 3,3 V |
| 13-14 | GND | Masse |
| 15 | USB_D- | Interface USB |
| 16-19 | NC | Non connecté |
| 20 | USB_D+ | Interface USB |
| 21-22 | GND | Masse |
| 23 | PIO0 | Touche système (System Key) |
| 24 | PIO1 | LED système |
| 25-34 | PIO2-11 | GPIO programmables |
Deux versions : HM-10C (avec PCB antenne) et HM-10S (sans antenne, pour antenne externe).
2. Caractéristiques du Module HM-10
- Pas de limite d'octets en TX/RX
- Bluetooth Low Energy (BLE) — consommation ultra-faible
- Bluetooth 4.0 / 4.2 (compatible 5.0)
- Fréquence : 2,4 GHz bande ISM
- Consommation veille : 50-200 µA
- 12 GPIO programmables
- Interfaces : UART série + USB Full Speed
- Timer 32 kHz avec capture
- Programmation série en circuit (ICSP) : 128 ou 256 KB Flash
- 8 KB SRAM
- Portée : jusqu'à 100 m en champ libre
- Format compact, portable

Module Bluetooth facilement portable
2.1 Spécifications Détaillées
- Tension module : 2,0 - 3,6 V
- Faible tension de fonctionnement
- Consommation backup : 235 µA
- Niveau entrée RF : 10 dBm max
- Tension max : 3,9 V
- Température : -40 °C à +85 °C
- Résistance décharge électrostatique : 750 V
Modules compatibles/alternatifs : HM-11, HM-01 à HM-09, HC-08.

Module Bluetooth HC-08
3. Applications du HM-10
- Communication sans fil courte portée (≤100 m)
- Objets connectés mobiles (faible consommation)
- Projets low-cost (module ~3-5 €)
- Interface UART → compatible Arduino, Raspberry Pi, STM32, ESP32
- Robotique, dongles USB, serveurs, médical, sport/loisirs, périphériques PC

Oxymètre utilisant module Bluetooth
4. Utilisation avec Arduino

HM-10 sur carte de base
Vérification authenticité : Vérifier présence quartz 32 kHz (absent sur clones). Clone = firmware modifié requis pour AT commands / appairage smartphone.
4.1 Composants Requis
- Arduino (Uno, Nano, Mega...)
- Module HM-10
- Résistances : 1 kΩ, 470 Ω (diviseur tension TX Arduino 5V → 3,3V HM-10)
- Fils de connexion (FTDI optionnel)
- Arduino IDE
- App Android : BLE Scanner (ex. nRF Connect, BLE Scanner by macdom)
4.2 Schéma de Câblage

Schéma de câblage HM-10 avec Arduino
4.3 Configuration Arduino + Commandes AT
- Ouvrir Arduino IDE, sélectionner port USB correct
- Moniteur série, baudrate 9600 (défaut usine)
- Envoyer
AT+NAME?→ réponseOK+NAME:HMSoft - Module prêt pour communication BLE
4.4 Communication entre 2 HM-10
AT+ADDR?→ adresse MAC unique (ex.20C38FF61DA1)- Appairage :
AT+CON[adresse]+AT+ROLE[param](Master/Slave)
4.5 Câblage HM-10 ↔ Arduino
| HM-10 | Arduino |
|---|---|
| TX | D2 (SoftwareSerial RX) |
| RX | D3 (SoftwareSerial TX) via diviseur 1k/470Ω |
| GND | GND |
| VCC | 3,3V (PAS 5V !) |

Arduino interface avec HM-10
4.6 Code Exemple : Contrôle LED via Bluetooth
#include <SoftwareSerial.h>
SoftwareSerial HM10(2, 3); // RX=2, TX=3
char appData;
String inData = "";
void setup() {
Serial.begin(9600);
Serial.println("HM10 serial started at 9600");
HM10.begin(9600);
pinMode(13, OUTPUT);
digitalWrite(13, LOW);
}
void loop() {
HM10.listen();
while (HM10.available() > 0) {
appData = HM10.read();
inData = String(appData);
Serial.write(appData);
}
if (Serial.available()) {
delay(10);
HM10.write(Serial.read());
}
if (inData == "F") { // OFF
Serial.println("LED OFF");
digitalWrite(13, LOW);
delay(500);
}
if (inData == "N") { // ON
Serial.println("LED ON");
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(500);
}
}
4.7 Application Android BLE Scanner
- Télécharger « BLE Scanner » (Play Store)
- Autoriser Bluetooth + Localisation
- Scanner → trouver MLT-BT05 (nom par défaut HM-10)
- Code appairage : 123456789
- Se connecter → Custom Service → Caractéristique W (Write) → envoyer
1(ON) ou0(OFF)

Page permissions application
5. HM-10 vs Autres Modules (HC-05/06)
Différence clé : Bluetooth 4.0/4.2 LE vs 2.0/2.1 Classique.
- HM-10 : BLE, 24 Mbps max, consommation µA, appairage simplifié, pas de profil SPP natif (profil GATT)
- HC-05/06 : Classique, SPP (port série virtuel), consommation mA, appairage PIN, débit ~2 Mbps

Module HC-05 (Bluetooth Classique)
6. Conclusion
L'HM-10 est le module BLE de référence pour l'IoT et l'embarqué : faible coût, consommation minimale, intégration Arduino aisée, portée 100 m. Attention aux clones (quartz 32 kHz manquant) et niveau logique 3,3 V strict. Pour composants, schémas ou support, contactez-nous.
Technologie industrielle
- Langage C : Vue d'ensemble complète
- Débloquer l'UID : Une série en trois parties sur l'histoire, le mandat et l'avenir
- Maîtriser Fishbowl Manufacturing : raccourcis essentiels pour le module Ordre de fabrication
- Module Nomenclature Fishbowl : raccourcis essentiels pour une production rapide
- Maîtriser le groupe de modules Fabrication : Nomenclatures et gestion des ordres
- Guide approfondi des machines de coupe plasma CNC : caractéristiques, avantages et applications
- Machines haute vitesse expliquées : caractéristiques clés et impact industriel
- Maîtriser le rectifilage de rouleaux en caoutchouc : guide professionnel pour une qualité de surface supérieure
- Pompes à eau à courant continu : guide complet pour usage domestique et industriel