Introducción
El módulo HC-05 es uno de los módulos Bluetooth más populares y versátiles utilizados en proyectos de electrónica y robótica. Este módulo permite la comunicación inalámbrica entre dispositivos mediante el protocolo Bluetooth, facilitando la transmisión de datos de forma sencilla y económica.
A diferencia de otros módulos Bluetooth, el HC-05 puede configurarse tanto como maestro como esclavo, lo que lo hace extremadamente flexible para diversas aplicaciones. En esta guía completa exploraremos todas las características, especificaciones técnicas, configuraciones y aplicaciones prácticas de este módulo.
Índice
- Características Principales
- Especificaciones Técnicas
- Pinout y Conexiones
- Modos de Operación
- Comandos AT de Configuración
- Conexión con Arduino
- Programación y Ejemplos
- Aplicaciones Prácticas
- Solución de Problemas
- Comparativa HC-05 vs HC-06
Características Principales
El módulo HC-05 destaca por las siguientes características:
- Dual Mode Maestro/Esclavo: Puede funcionar como dispositivo maestro (iniciador de conexiones) o esclavo (dispositivo que espera conexiones)
- Compatibilidad Bluetooth V2.0+EDR: Compatible con la especificación Bluetooth 2.0 con Enhanced Data Rate
- Comunicación Serial UART: La interfaz serial TTL simplifica la integración con microcontroladores
- Bajo Consumo: Consumo de corriente de aproximadamente 40-50 mA en operación normal
- Alcance: Distancia de operación típica de 10 metros (Clase 2)
- Frecuencia de Operación: Banda ISM de 2.4 GHz
- Modulación GFSK: Gaussian Frequency Shift Keying para transmisión eficiente
- Configurable vía Comandos AT: Permite personalizar el nombre, el PIN, la velocidad de baudios y otros parámetros
- Protección contra inversión de polaridad: Algunas versiones incluyen protección contra conexiones inversas
Especificaciones Técnicas
Parámetros Eléctricos
| Parámetro | Valor |
|---|---|
| Tensión de Alimentación | 3.6 V - 6 V DC |
| Tensión de Operación | 3.3 V DC |
| Consumo de Corriente (Operación) | 40 - 50 mA |
| Consumo de Corriente (Reposo) | < 10 mA |
| Consumo en Modo Sleep | < 1 mA |
| Corriente Máxima | 100 mA |
Parámetros de Comunicación
| Parámetro | Valor |
|---|---|
| Protocolo Bluetooth | Bluetooth Specification v2.0+EDR |
| Frecuencia | 2.4 GHz Banda ISM |
| Modulación | GFSK (Gaussian Frequency Shift Keying) |
| Velocidad de Transmisión | 2.1 Mbps |
| Interface Serial | TTL UART |
| Velocidades de Baudios Soportadas | 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 |
| Paridad | None, Even, Odd |
| Bits de Datos | 8 bits |
| Bits de Stop | 1 o 2 bits |
Parámetros Físicos
| Parámetro | Valor |
|---|---|
| Dimensiones | 27mm x 13mm (módulo principal) |
| Peso | Aproximadamente 5 gramos |
| Temperatura de Operación | -40°C a +85°C |
| Número de Pines | 6 pines (versión completa) o 4 pines |
Parámetros de Radio
| Parámetro | Valor |
|---|---|
| Clase de Potencia | Clase 2 |
| Alcance Típico | 10 metros (sin obstáculos) |
| Alcance Máximo | Hasta 100 metros (en espacio abierto) |
| Número de Conexiones | Hasta 7 dispositivos esclavos |
Pinout y Conexiones
Configuración de 6 Pines
El módulo HC-05 viene comúnmente en dos versiones: de 4 pines y de 6 pines. La versión de 6 pines ofrece mayor funcionalidad.
| Pin | Nombre | Descripción |
|---|---|---|
| 1 | VCC | Alimentación positiva (3.6V - 6V DC) |
| 2 | TXD | Transmisión serial (salida) |
| 3 | RXD | Recepción serial (entrada) |
| 4 | GND | Tierra (alimentación negativa) |
| 5 | KEY/STATE | Pin de estado/control (para modo AT) |
| 6 | EN | Habilitar (Enable) - a veces marcado como STATE |
Configuración de 4 Pines
La versión simplificada de 4 pines incluye únicamente las conexiones esenciales:
| Pin | Nombre | Descripción |
|---|---|---|
| 1 | VCC | Alimentación positiva (3.6V - 6V DC) |
| 2 | TXD | Transmisión serial (salida) |
| 3 | RXD | Recepción serial (entrada) |
| 4 | GND | Tierra (alimentación negativa) |
Esquema de Conexión Básica
┌─────────────────┐
│ Arduino Uno │
│ │
│ 5V ──────┐ │
│ │ │
│ GND ─────┼─────┤ GND (HC-05)
│ │ │
│ TX (1) ──┼─────┤ RXD (HC-05)
│ │ │
│ RX (0) ──┼─────┤ TXD (HC-05)
│ │ │
└───────────┘ │
│
┌───┴───┐
│ HC-05 │
│ │
│ VCC ──┼─────┐
│ │ │
└───────┘ │
│
5V o
3.3V
(según
módulo)
Consideraciones de Voltaje
IMPORTANTE: El módulo HC-05 opera a 3.3 V en sus pines de comunicación (TXD y RXD). Al conectarlo a microcontroladores de 5 V, como el Arduino Uno, se recomienda:
- Para RXD del HC-05: Utilizar un divisor de tensión o un nivelador lógico para reducir la señal de 5 V a 3.3 V
- Para TXD del HC-05: Generalmente funciona directamente con 5 V, pero el uso de un nivelador es más seguro
Divisor de Voltaje Simple para RXD:
Arduino TX (5 V) ────[1 kΩ]────┬────── HC-05 RXD (3.3 V)
│
[2.2kΩ]
│
GND
Modos de Operación
Modo Esclavo (Slave)
En modo esclavo, el HC-05 funciona como un dispositivo que espera conexiones entrantes. Este es el modo más común para aplicaciones donde:
- Un smartphone o tablet se conecta al módulo
- El módulo recibe comandos de un dispositivo maestro
- Permite crear un punto de acceso para múltiples clientes
Características del modo esclavo:
- El módulo se anuncia como dispositivo disponible
- Espera que otros dispositivos inicien la conexión
- Puede aceptar conexiones de múltiples maestros (secuencialmente)
- Ideal para control remoto de dispositivos
Modo Maestro (Master)
En modo maestro, el HC-05 inicia activamente la conexión con otros dispositivos Bluetooth. Este modo es útil para:
- Conectar a sensores Bluetooth esclavos
- Controlar otros dispositivos desde el módulo
- Crear sistemas donde el HC-05 toma la iniciativa
Características del modo maestro:
- El módulo busca dispositivos esclavos disponibles
- Inicia activamente la conexión
- Puede conectarse a dispositivos que estén en modo esclavo
- Ideal para recolección de datos de sensores
Modo AT (Configuración)
El modo AT permite la configuración de los parámetros del módulo antes de su uso habitual. Para entrar en este modo:
- Conectar el pin KEY/STATE a VCC (3.3V)
- Alimentar el módulo mientras se mantiene KEY en alto
- El LED parpadeará lentamente (2 segundos encendido, 2 segundos apagado)
- Configurar a 38400 baudios para comunicación AT
Nota: En modo AT, el módulo no transmite ni recibe datos normales, solo responde a comandos de configuración.
Comandos AT de Configuración
Los comandos AT permiten personalizar el comportamiento del módulo HC-05. Todos los comandos deben finalizar con \r\n (Retorno de carro + Salto de línea).
Comandos Básicos
| Comando | Respuesta | Descripción |
|---|---|---|
AT | OK | Comando de prueba: verifica que el módulo responda |
AT+VERSION | LDC258C,AR05,20110601 | Retorna la versión del firmware |
AT+NAME? | OK+NAME:HC-05 | Consulta el nombre actual del módulo |
AT+NAME=nombre | OK | Asigna un nuevo nombre al módulo |
AT+PIN? | OK+PIN:1234 | Consulta el PIN actual |
AT+PIN=xxxx | OK | Asigna un nuevo PIN (4 dígitos) |
AT+BAUD? | OK+BAUD:9600 | Consulta la velocidad actual |
AT+BAUD=x | OK | Asigna una nueva velocidad de baudios |
Comandos de Configuración Avanzada
| Comando | Respuesta | Descripción |
|---|---|---|
AT+ROLE? | OK+ROLE:0 | Consulta el rol actual (0=Esclavo, 1=Maestro, 2=Esclavo con auto-conexión) |
AT+ROLE=x | OK | Asigna el rol al módulo |
AT+ADDR? | OK+ADDR:xxxxxxxxxx | Consulta la dirección MAC del módulo |
AT+CMODE? | OK+CMODE:0 | Consulta modo de conexión (0=por dirección, 1=cualquier dirección) |
AT+CMODE=x | OK | Asigna el modo de conexión |
AT+PSWD? | OK+PSWD:1234 | Consulta la contraseña actual |
AT+PSWD=xxxx | OK | Asigna una nueva contraseña |
AT+UART? | OK+UART:9600,0,0 | Consulta configuración UART (baud, parity, stop) |
AT+UART=x,y,z | OK | Configura la interfaz UART: x=velocidad, y=paridad(0=Ninguna), z=parada(0=1 bit) |
Valores de Baud Rate para Comandos AT
| Valor | Baud Rate |
|---|---|
| 0 | 1200 |
| 1 | 2400 |
| 2 | 4800 |
| 3 | 9600 |
| 4 | 19200 |
| 5 | 38400 |
| 6 | 57600 |
| 7 | 115200 |
Valores de Paridad
| Valor | Paridad |
|---|---|
| 0 | None (Sin paridad) |
| 1 | Odd (Paridad impar) |
| 2 | Even (Paridad par) |
Valores de Bits de Stop
| Valor | Bits de Stop |
|---|---|
| 0 | 1 bit |
| 1 | 2 bits |
Ejemplo de Configuración Completa
AT // Verificación de la conexión
OK
AT+NAME=MiHC05 // Cambio de nombre
OK
AT+PIN=0000 // Cambio de PIN
OK
AT+BAUD=3 // Configuración a 9600 baudios
OK
AT+ROLE=0 // Configuración como esclavo
OK
AT+UART=3,0,0 // 9600, ninguna paridad, 1 bit de parada
OK
AT+RESET // Reinicio del módulo
OK
Conexión con Arduino
Materiales Necesarios
- 1x Módulo HC-05 Bluetooth
- 1x Arduino Uno/Nano/MEGA
- 1x Resistencia 1kΩ
- 1x Resistencia 2.2kΩ
- Cables jumper
- Fuente de alimentación 5V
Esquema de Conexión Detallado
Arduino Uno HC-05
──────────── ─────
5V ────────────────── VCC
GND ───────────────── GND
Pin 2 (RX) ─┬──────── TXD
│
[1kΩ]
│
[2.2kΩ]
│
GND ────────┴──────── (Divisor para RXD)
│
Pin 3 (TX) ─┴──────── RXD
Configuración con SoftwareSerial
Para evitar interferencias con el puerto serial principal (utilizado para la programación), se recomienda emplear la biblioteca SoftwareSerial:
#include <SoftwareSerial.h>
// Definir pines para SoftwareSerial
#define RX_PIN 2 // Pin de recepción del Arduino (conectado a TXD del HC-05)
#define TX_PIN 3 // Pin de transmisión del Arduino (conectado a RXD del HC-05)
SoftwareSerial bluetooth(RX_PIN, TX_PIN);
void setup() {
// Inicializar comunicación serial con el PC
Serial.begin(9600);
// Inicializar comunicación serial con el HC-05
bluetooth.begin(9600);
Serial.println("Bluetooth HC-05 inicializado");
}
void loop() {
// Transmitir datos del PC al Bluetooth
if (Serial.available()) {
bluetooth.write(Serial.read());
}
// Transmitir datos del Bluetooth al PC
if (bluetooth.available()) {
Serial.write(bluetooth.read());
}
}
Programación y Ejemplos
Ejemplo 1: Puente Serial Básico
Este ejemplo crea un puente entre el puerto serial USB y el módulo Bluetooth, permitiendo comunicación bidireccional.
/*
* Ejemplo 1: Puente Serial Básico
* HC-05 Bluetooth - Arduino
*
* Este código permite comunicación bidireccional entre
* el puerto serial USB y el módulo Bluetooth HC-05
*/
#include <SoftwareSerial.h>
#define BLUETOOTH_RX 2
#define BLUETOOTH_TX 3
SoftwareSerial btSerial(BLUETOOTH_RX, BLUETOOTH_TX);
void setup() {
Serial.begin(9600);
btSerial.begin(9600);
Serial.println("=== Puente Serial HC-05 ===");
Serial.println("Conectado. Envíe datos para transmitir por Bluetooth.");
}
void loop() {
// Datos del PC serial -> Bluetooth
if (Serial.available() > 0) {
char dato = Serial.read();
btSerial.write(dato);
Serial.print("Enviado por BT: ");
Serial.println(dato);
}
// Datos del Bluetooth -> PC serial
if (btSerial.available() > 0) {
char dato = btSerial.read();
Serial.write(dato);
}
}
Ejemplo 2: Control de LED Remoto
Permite controlar un LED conectado al Arduino mediante comandos enviados desde un dispositivo Bluetooth.
/*
* Ejemplo 2: Control de LED Remoto
* HC-05 Bluetooth - Arduino
*
* Controla un LED mediante comandos:
* '1' - Encender LED
* '0' - Apagar LED
* 'E' - Encender LED
* 'A' - Apagar LED
*/
#include <SoftwareSerial.h>
#define BLUETOOTH_RX 2
#define BLUETOOTH_TX 3
#define LED_PIN 13
SoftwareSerial btSerial(BLUETOOTH_RX, BLUETOOTH_TX);
String comando = "";
void setup() {
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW);
Serial.begin(9600);
btSerial.begin(9600);
Serial.println("=== Control LED Remoto ===");
Serial.println("Comandos: '1' o 'E' = Encender");
Serial.println(" '0' o 'A' = Apagar");
btSerial.println("Bienvenido! Controles: 1=E, 0=A");
}
void loop() {
// Leer datos del Bluetooth
if (btSerial.available()) {
char caracter = btSerial.read();
// Ignorar caracteres de control
if (caracter == '\n' || caracter == '\r') {
// Procesar comando completo
if (comando.length() > 0) {
procesarComando(comando);
comando = "";
}
} else {
comando += caracter;
}
}
}
void procesarComando(String cmd) {
cmd.trim();
cmd.toUpperCase();
if (cmd == "1" || cmd == "E") {
digitalWrite(LED_PIN, HIGH);
btSerial.println("LED ENCENDIDO");
Serial.println("LED ENCENDIDO");
}
else if (cmd == "0" || cmd == "A") {
digitalWrite(LED_PIN, LOW);
btSerial.println("LED APAGADO");
Serial.println("LED APAGADO");
}
else {
btSerial.println("Comando no reconocido");
Serial.println("Comando no reconocido");
}
}
Ejemplo 3: Transmisión de Datos de Sensores
Permite enviar datos de sensores conectados al Arduino a través de Bluetooth.
/*
* Ejemplo 3: Transmisión de Datos de Sensores
* HC-05 Bluetooth - Arduino
*
* Lee datos de sensores y los transmite
* periódicamente por Bluetooth
*/
#include <SoftwareSerial.h>
#define BLUETOOTH_RX 2
#define BLUETOOTH_TX 3
#define SENSOR_PIN A0
SoftwareSerial btSerial(BLUETOOTH_RX, BLUETOOTH_TX);
unsigned long ultimoEnvio = 0;
unsigned long intervaloEnvio = 1000; // Enviar cada segundo
void setup() {
pinMode(SENSOR_PIN, INPUT);
Serial.begin(9600);
btSerial.begin(9600);
Serial.println("=== Transmisión de Sensores ===");
btSerial.println("Sistema de sensores iniciado");
delay(2000);
}
void loop() {
unsigned long tiempoActual = millis();
if (tiempoActual - ultimoEnvio >= intervaloEnvio) {
ultimoEnvio = tiempoActual;
// Leer sensor analógico
int valorSensor = analogRead(SENSOR_PIN);
float voltaje = valorSensor * (5.0 / 1023.0);
// Formatear y enviar datos
String mensaje = "Sensor: " + String(valorSensor) +
" | Voltaje: " + String(voltaje, 2) + "V";
btSerial.println(mensaje);
Serial.println(mensaje);
}
// También permitir comandos de control
if (btSerial.available()) {
char comando = btSerial.read();
if (comando == 'S' || comando == 's') {
btSerial.println("Estado: Activo");
}
}
}
Ejemplo 4: Configuración Maestro-Esclavo
Ejemplo avanzado que muestra cómo configurar un módulo HC-05 como maestro y otro como esclavo.
/*
* Ejemplo 4: Configuración Maestro-Esclavo
* HC-05 Bluetooth - Arduino
*
* Configuración para comunicación entre dos Arduino
* mediante HC-05 en modos maestro y esclavo
*/
#include <SoftwareSerial.h>
#define BLUETOOTH_RX 2
#define BLUETOOTH_TX 3
SoftwareSerial btSerial(BLUETOOTH_RX, BLUETOOTH_TX);
// Para modo maestro: dirección del dispositivo esclavo
// Obtener con comando AT+ADDR?
const char* DIRECCION_ESCLAVO = "00:1A:7D:DA:71:13";
bool esMaestro = true; // Cambiar a false para modo esclavo
int contador = 0;
void setup() {
Serial.begin(9600);
btSerial.begin(9600);
if (esMaestro) {
Serial.println("=== ARDUINO MAESTRO ===");
btSerial.println("MAESTRO: Iniciando búsqueda...");
// Nota: La conexión automática requiere configuración AT previa
} else {
Serial.println("=== ARDUINO ESCLAVO ===");
btSerial.println("ESCLAVO: Esperando conexión...");
}
delay(2000);
}
void loop() {
if (esMaestro) {
// Modo Maestro: Enviar datos periódicamente
if (btSerial.available()) {
String respuesta = btSerial.readString();
Serial.println("Respuesta del esclavo: " + respuesta);
}
// Enviar datos cada 2 segundos
static unsigned long ultimoEnvio = 0;
if (millis() - ultimoEnvio > 2000) {
ultimoEnvio = millis();
contador++;
String mensaje = "DATO:" + String(contador);
btSerial.println(mensaje);
Serial.println("Enviado: " + mensaje);
}
} else {
// Modo Esclavo: Recibir y responder
if (btSerial.available()) {
String datoRecibido = btSerial.readString();
Serial.println("Recibido: " + datoRecibido);
// Responder
String respuesta = "ACK:" + datoRecibido;
btSerial.println(respuesta);
Serial.println("Respondido: " + respuesta);
}
}
delay(100);
}
Aplicaciones Prácticas
1. Control Remoto de Dispositivos
El HC-05 es ideal para desarrollar sistemas de control remoto mediante aplicaciones móviles. Algunos ejemplos son:
- Control de robots: Enviar comandos de movimiento desde un smartphone
- Encendido/apagado de dispositivos: Controlar luces, motores, relés
- Ajuste de parámetros: Modificar valores de configuración en tiempo real
2. Adquisición de Datos
Permite la transmisión de datos de sensores hacia un dispositivo móvil o computadora:
- Estación meteorológica: Enviar temperatura, humedad, presión
- Monitor de salud: Transmitir datos de sensores biométricos
- Sistema de monitoreo industrial: Supervisar parámetros de maquinaria
3. Comunicación entre Microcontroladores
Permite establecer comunicación inalámbrica entre diversos dispositivos:
- Arduino a Arduino: Comunicación entre múltiples unidades
- Arduino a Raspberry Pi: Integración con sistemas más complejos
- Sistemas distribuidos: Redes de sensores inalámbricos
4. Prototipado Rápido
El HC-05 agiliza el desarrollo de prototipos:
- Pruebas sin cables: Eliminar complejidad de cableado
- Debugging remoto: Visualizar datos sin conexión física
- Demostraciones: Presentar proyectos sin restricciones de cableado
5. Aplicaciones Específicas
| Aplicación | Descripción |
|---|---|
| Vehículos RC | Control de coches, drones, barcos a distancia |
| Domótica | Control de iluminación, persianas, climatización |
| Seguridad | Sistemas de alarma con notificaciones |
| Juguetes | Interacción con dispositivos electrónicos |
| Educación | Enseñanza de conceptos de comunicación inalámbrica |
Solución de Problemas
Problema 1: El módulo no se conecta
Posibles causas y soluciones:
-
PIN incorrecto: Verifique el PIN configurado (por defecto es "1234" o "0000")
AT+PIN? // Consultar PIN actual AT+PIN=1234 // Establecer PIN -
Nombre del dispositivo no encontrado: Verifique el nombre configurado
AT+NAME? // Consultar nombre AT+NAME=MiDispositivo // Cambiar nombre -
Distancia excesiva: Acercar los dispositivos (máximo 10m típicos)
-
Interferencias: Alejar de fuentes de interferencia (WiFi, microondas)
Problema 2: No se reciben datos
Pasos de verificación:
-
Velocidades de baudios coincidentes: Asegúrese de que el Arduino y el HC-05 utilicen la misma velocidad
Serial.begin(9600); // Puerto USB btSerial.begin(9600); // Puerto Bluetooth - DEBE COINCIDIR -
Conexión TX/RX cruzada: Verifique que el pin TX esté conectado al RX y viceversa
-
Problemas de tensión: Utilice un divisor de tensión para adaptar las señales de 5 V a 3.3 V
Problema 3: El módulo no entra en modo AT
Soluciones:
- Conexión del pin KEY: Asegúrese de que el pin KEY/STATE esté conectado a VCC al momento del encendido
- Velocidad de baudios correcta: Utilice 38400 baudios para los comandos AT
- Timing: Enviar comandos inmediatamente después del encendido
Problema 4: Conexión inestable
Mejoras:
- Fuente de alimentación estable: Utilice una fuente adecuada (mínimo 500 mA)
- Cables cortos: Minimice la longitud de los cables de conexión
- Antena: Verificar que la antena esté correctamente posicionada
- Ambiente: Reducir obstáculos entre dispositivos
Problema 5: Errores de comunicación
Diagnóstico:
// Código de diagnóstico
void setup() {
Serial.begin(9600);
btSerial.begin(9600);
Serial.println("Diagnóstico HC-05");
// Enviar comando AT
btSerial.println("AT");
delay(1000);
// Leer respuesta
while (btSerial.available()) {
Serial.write(btSerial.read());
}
}
Comparativa HC-05 vs HC-06
A pesar de que ambos módulos son similares, existen diferencias significativas:
| Característica | HC-05 | HC-06 |
|---|---|---|
| Modo Maestro | Sí | No (solo esclavo) |
| Modo Esclavo | Sí | Sí |
| Configuración AT | Sí | Limitada |
| PIN configurable | Sí | No (fijo: "1234") |
| Nombre configurable | Sí | Sí |
| Baud rate configurable | Sí | Sí |
| Precio | Ligeramente mayor | Ligeramente menor |
| Versatilidad | Alta | Media |
Cuándo usar cada uno
Utilice el HC-05 cuando:
- Necesitas modo maestro
- Requieres configuración completa
- Quieres cambiar PIN y nombre fácilmente
- Proyecto requiere máxima flexibilidad
Utilice el HC-06 cuando:
- Solo necesitas modo esclavo
- Presupuesto es prioritario
- Configuración básica es suficiente
- Proyecto simple de control remoto
Mejores Prácticas
1. Alimentación
- Utilice una fuente de alimentación estable de 5 V
- Coloque un capacitor de 100 µF cerca del módulo para filtrar el ruido
- Evite alimentar el módulo desde los pines de 3.3 V del Arduino, ya que la corriente puede ser insuficiente
2. Comunicación Serial
- Utilice siempre un divisor de tensión para el pin RXD del HC-05
- Mantener cables de comunicación cortos
- Considerar uso de HardwareSerial en pines dedicados cuando sea posible
3. Configuración
- Configurar el módulo antes de integrarlo en el proyecto final
- Documentar los parámetros configurados (nombre, PIN, baud rate)
- Guardar una copia de la configuración original
4. Seguridad
- Cambiar el PIN por defecto en aplicaciones públicas
- Usar nombres descriptivos pero no reveladores
- Considerar el alcance en la ubicación física del dispositivo
Conclusión
El módulo HC-05 Bluetooth Maestro/Esclavo es una herramienta fundamental para cualquier proyecto que requiera comunicación inalámbrica. Su versatilidad, bajo costo y facilidad de uso lo convierten en la elección ideal para:
- Principiantes: Introducción a la comunicación Bluetooth
- Hobbyistas: Proyectos personales y experimentación
- Profesionales: Prototipado rápido y soluciones económicas
La capacidad de operar tanto como maestro como esclavo, combinada con su interface serial simple, permite crear una amplia variedad de aplicaciones sin complicaciones técnicas excesivas.
Con la información proporcionada en esta guía, tienes todo lo necesario para comenzar a utilizar el módulo HC-05 en tus proyectos de electrónica y robótica.
Recursos Adicionales
Bibliotecas Recomendadas
- SoftwareSerial: Incluida en Arduino IDE
- BluetoothSerial: Para ESP32
- Adafruit Bluefruit: Para módulos compatibles
Aplicaciones Móviles
- Arduino Bluetooth Controller (Android)
- Bluetooth Terminal (Android/iOS)
- LightBlue (iOS/Android)
- Serial Bluetooth Terminal (Android)
Documentación Oficial
- Datasheet del chip CSR BC417143
- Especificación Bluetooth v2.0+EDR
- Manual de comandos AT HC-05
Documento creado para el blog de electrónica y robótica. Última actualización: 2026
