Volver al Blog
Electrónica24 de julio de 2026

Guía Completa del Módulo HC-05 Bluetooth Maestro/Esclavo

Guía Completa del Módulo HC-05 Bluetooth Maestro/Esclavo

A

Administrador

Equipo de Pixelnova

Guía Completa del Módulo HC-05 Bluetooth Maestro/Esclavo

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

  1. Características Principales
  2. Especificaciones Técnicas
  3. Pinout y Conexiones
  4. Modos de Operación
  5. Comandos AT de Configuración
  6. Conexión con Arduino
  7. Programación y Ejemplos
  8. Aplicaciones Prácticas
  9. Solución de Problemas
  10. 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ámetroValor
Tensión de Alimentación3.6 V - 6 V DC
Tensión de Operación3.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áxima100 mA

Parámetros de Comunicación

ParámetroValor
Protocolo BluetoothBluetooth Specification v2.0+EDR
Frecuencia2.4 GHz Banda ISM
ModulaciónGFSK (Gaussian Frequency Shift Keying)
Velocidad de Transmisión2.1 Mbps
Interface SerialTTL UART
Velocidades de Baudios Soportadas1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
ParidadNone, Even, Odd
Bits de Datos8 bits
Bits de Stop1 o 2 bits

Parámetros Físicos

ParámetroValor
Dimensiones27mm x 13mm (módulo principal)
PesoAproximadamente 5 gramos
Temperatura de Operación-40°C a +85°C
Número de Pines6 pines (versión completa) o 4 pines

Parámetros de Radio

ParámetroValor
Clase de PotenciaClase 2
Alcance Típico10 metros (sin obstáculos)
Alcance MáximoHasta 100 metros (en espacio abierto)
Número de ConexionesHasta 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.

PinNombreDescripción
1VCCAlimentación positiva (3.6V - 6V DC)
2TXDTransmisión serial (salida)
3RXDRecepción serial (entrada)
4GNDTierra (alimentación negativa)
5KEY/STATEPin de estado/control (para modo AT)
6ENHabilitar (Enable) - a veces marcado como STATE

Configuración de 4 Pines

La versión simplificada de 4 pines incluye únicamente las conexiones esenciales:

PinNombreDescripción
1VCCAlimentación positiva (3.6V - 6V DC)
2TXDTransmisión serial (salida)
3RXDRecepción serial (entrada)
4GNDTierra (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:

  1. 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
  2. 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:

  1. Conectar el pin KEY/STATE a VCC (3.3V)
  2. Alimentar el módulo mientras se mantiene KEY en alto
  3. El LED parpadeará lentamente (2 segundos encendido, 2 segundos apagado)
  4. 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

ComandoRespuestaDescripción
ATOKComando de prueba: verifica que el módulo responda
AT+VERSIONLDC258C,AR05,20110601Retorna la versión del firmware
AT+NAME?OK+NAME:HC-05Consulta el nombre actual del módulo
AT+NAME=nombreOKAsigna un nuevo nombre al módulo
AT+PIN?OK+PIN:1234Consulta el PIN actual
AT+PIN=xxxxOKAsigna un nuevo PIN (4 dígitos)
AT+BAUD?OK+BAUD:9600Consulta la velocidad actual
AT+BAUD=xOKAsigna una nueva velocidad de baudios

Comandos de Configuración Avanzada

ComandoRespuestaDescripción
AT+ROLE?OK+ROLE:0Consulta el rol actual (0=Esclavo, 1=Maestro, 2=Esclavo con auto-conexión)
AT+ROLE=xOKAsigna el rol al módulo
AT+ADDR?OK+ADDR:xxxxxxxxxxConsulta la dirección MAC del módulo
AT+CMODE?OK+CMODE:0Consulta modo de conexión (0=por dirección, 1=cualquier dirección)
AT+CMODE=xOKAsigna el modo de conexión
AT+PSWD?OK+PSWD:1234Consulta la contraseña actual
AT+PSWD=xxxxOKAsigna una nueva contraseña
AT+UART?OK+UART:9600,0,0Consulta configuración UART (baud, parity, stop)
AT+UART=x,y,zOKConfigura la interfaz UART: x=velocidad, y=paridad(0=Ninguna), z=parada(0=1 bit)

Valores de Baud Rate para Comandos AT

ValorBaud Rate
01200
12400
24800
39600
419200
538400
657600
7115200

Valores de Paridad

ValorParidad
0None (Sin paridad)
1Odd (Paridad impar)
2Even (Paridad par)

Valores de Bits de Stop

ValorBits de Stop
01 bit
12 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ónDescripción
Vehículos RCControl de coches, drones, barcos a distancia
DomóticaControl de iluminación, persianas, climatización
SeguridadSistemas de alarma con notificaciones
JuguetesInteracción con dispositivos electrónicos
EducaciónEnseñanza de conceptos de comunicación inalámbrica

Solución de Problemas

Problema 1: El módulo no se conecta

Posibles causas y soluciones:

  1. PIN incorrecto: Verifique el PIN configurado (por defecto es "1234" o "0000")

    AT+PIN?  // Consultar PIN actual
    AT+PIN=1234  // Establecer PIN
    
  2. Nombre del dispositivo no encontrado: Verifique el nombre configurado

    AT+NAME?  // Consultar nombre
    AT+NAME=MiDispositivo  // Cambiar nombre
    
  3. Distancia excesiva: Acercar los dispositivos (máximo 10m típicos)

  4. Interferencias: Alejar de fuentes de interferencia (WiFi, microondas)

Problema 2: No se reciben datos

Pasos de verificación:

  1. 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
    
  2. Conexión TX/RX cruzada: Verifique que el pin TX esté conectado al RX y viceversa

  3. 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:

  1. Conexión del pin KEY: Asegúrese de que el pin KEY/STATE esté conectado a VCC al momento del encendido
  2. Velocidad de baudios correcta: Utilice 38400 baudios para los comandos AT
  3. Timing: Enviar comandos inmediatamente después del encendido

Problema 4: Conexión inestable

Mejoras:

  1. Fuente de alimentación estable: Utilice una fuente adecuada (mínimo 500 mA)
  2. Cables cortos: Minimice la longitud de los cables de conexión
  3. Antena: Verificar que la antena esté correctamente posicionada
  4. 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ísticaHC-05HC-06
Modo MaestroNo (solo esclavo)
Modo Esclavo
Configuración ATLimitada
PIN configurableNo (fijo: "1234")
Nombre configurable
Baud rate configurable
PrecioLigeramente mayorLigeramente menor
VersatilidadAltaMedia

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