Guía Completa para Configurar Bluetooth en ESP32: Classic y BLE

Última actualización: 14/11/2026
Autor: Isaac
  • El ESP32 permite gestionar tanto el protocolo Bluetooth Classic para flujos de datos continuos como BLE para aplicaciones de bajo consumo.
  • La implementación de comunicación serie inalámbrica se facilita mediante la librería BluetoothSerial en entornos Arduino.
  • La arquitectura de BLE se basa en un modelo cliente-servidor donde el ESP32 suele actuar como periférico ofreciendo servicios específicos.

Placa de microcontrolador conectada a una protoboard con cables y un LED encendido, ideal para ilustrar el montaje básico de un proyecto con ESP32.

Si te has hecho con un ESP32, probablemente ya sepas que es una auténtica bestia de microcontrolador. Una de sus joyas es que viene con conectividad inalámbrica dual, lo que significa que puedes jugar tanto con WiFi como con Bluetooth sin tener que añadir módulos externos que engorden el circuito.

Dependiendo de lo que quieras montar, tendrás que elegir entre dos caminos: el Bluetooth clásico, que es el de toda la vida para pasar datos sin complicaciones, o el BLE, que es la opción ideal si no quieres que la batería de tu proyecto vuele en un abrir y cerrar de ojos. En este artículo vamos a desmenuzar cómo configurar ambos para que tu dispositivo se hable con el móvil, el ordenador o cualquier otro gadget.

Bluetooth Classic: Comunicación Serial Sencilla

Ingeniera trabajando en el ensamblaje de un circuito electrónico en un laboratorio tecnológico, representando la fase de configuración del hardware.

Para quienes vienen de usar módulos como el HC-06, el Bluetooth Classic en el ESP32 les resultará pan comido. Esta tecnología funciona en la banda de 2.4 GHz y es perfecta para transmitir datos a distancias cortas, normalmente hasta unos 10 metros, emulando un puerto serie inalámbrico.

La clave aquí es la librería BluetoothSerial. Esta herramienta implementa el perfil SPP (Serial Port Profile), que básicamente engaña al sistema para que crea que hay un cable conectado cuando en realidad todo viaja por el aire. Para ponerlo en marcha, solo necesitas instanciar el objeto BluetoothSerial y darle un nombre a tu dispositivo en el método begin().

Un punto que suele dar dolores de cabeza es el tema de la seguridad. Aunque existen métodos como setPin() para añadir una contraseña de emparejamiento, en muchas versiones actuales la configuración es abierta por defecto. Si necesitas recuperar la dirección MAC de tu chip para filtrar conexiones, puedes usar funciones específicas de la librería esp_bt_device.h para imprimirla en el monitor serial.

  Empresas de software que se transformaron en empresas de hardware y viceversa

Implementación de Bluetooth Low Energy (BLE)

Primer plano detallado de un microcontrolador conectado a una protoboard con cables de colores, resaltando la complejidad del cableado electrónico.

El BLE no es simplemente una versión «más lenta» del Bluetooth, sino que tiene una arquitectura totalmente distinta. Está pensado para enviar paquetes de datos muy pequeños de forma intermitente, lo que lo hace imbatible en eficiencia energética para dispositivos IoT o wearables.

En el mundo BLE, nos movemos en un esquema de cliente y servidor. El ESP32 normalmente actúa como servidor (periférico), exponiendo servicios y características que un cliente (como tu smartphone) puede leer o escribir. Para que esto funcione, es fundamental gestionar los UUID, que son identificadores únicos que evitan que tu dispositivo se confunda con otros servicios BLE cercanos.

Para configurar un servidor BLE, se utiliza la librería BLEDevice.h. El proceso implica crear el servidor, definir un servicio y añadir características con callbacks específicos. Estos callbacks son funciones que se disparan automáticamente cuando el cliente escribe un dato o cuando se establece la conexión, permitiendo que el ESP32 reaccione en tiempo real.

Pruebas y Herramientas de Conexión

Smartphone apoyado sobre un ordenador portátil, simbolizando la conexión inalámbrica y la fase de pruebas de comunicación Bluetooth entre el ESP32 y un dispositivo móvil.

Una vez que el código está cargado, llega el momento de ver si todo funciona. Para el modo clásico, cualquier terminal Bluetooth serie desde Android te servirá para enviar y recibir texto. Si prefieres usar un PC con Python, puedes recurrir a la librería socket, ya que otras opciones más antiguas como PyBluez suelen dar problemas de mantenimiento y no siempre conectan bien.

En el caso del BLE, la cosa es más técnica. Aplicaciones como nRF Connect o LightBlue son imprescindibles. Con ellas puedes escanear el entorno, localizar el UUID de tu ESP32 y suscribirte a las características para recibir notificaciones en tiempo real. Es la forma más fiable de depurar el flujo de datos antes de crear tu propia app móvil.

Prototipo electrónico con cableado expuesto sobre una mesa de laboratorio, proporcionando contexto sobre el entorno de desarrollo de proyectos IoT.

El ESP32 es una herramienta versátil que permite pasar de una comunicación robusta y continua con Bluetooth Classic a una gestión ultra eficiente de energía mediante BLE. Dominar ambos protocolos te permite adaptar tu hardware a cualquier necesidad, ya sea creando un mando a distancia simple o un sofisticado nodo de sensores inalámbricos que funcione durante meses con una sola pila.

  Descubre la Xiaomi Smart Band 9 Active: El wearable accesible con grandes prestaciones deportivas
Isaac

Isaac

Redactor apasionado del mundo de los bytes y la tecnología en general. Me encanta compartir mis conocimientos a través de la escritura, y eso es lo que haré en este blog, mostrarte todo lo más interesante sobre gadgets, software, hardware, tendencias tecnológicas, y más. Mi objetivo es ayudarte a navegar por el mundo digital de forma sencilla y entretenida.