PROTOTYPE

HIOS BTDAC - Bluetooth Audio Receiver & Smart Controller

Receptor de audio Bluetooth A2DP de alta fidelidad con capacidades de control inteligente vía BLE (Bluetooth Low Energy).

Project Toolbox

Archivos técnicos listos para flujo embebido diario: abrir, descargar o visualizar por tipo.
Documentación
android/README.md
source
ASSEMBLY.md
source
ASSEMBLY.md
public
COMPONENTS.md
source
COMPONENTS.md
public
HIOS_BTDAC_PINOUT_v2.md
public
HIOS_BTDAC_Soldering_Guide.pdf
source
HIOS_BTDAC_Soldering_Guide.pdf
public
pinout.md
public
PINOUT.md
source
PINOUT.md
public
print.md
public
proyect..md
public
README.md
source
README.md
public
SESSION_LOG.md
source
TROUBLESHOOTING.md
source
TROUBLESHOOTING.md
public
Firmware / Config
platformio.ini
source
src/HIOS_BTDAC.ino
source
tests/HIOS_BTDAC_minimal_test.ino
source
The Moment

"The moment clear sound came out instead of noise was incredible. After 3 days of debugging, it finally worked. I screamed "YES!" at 2am."

It took me 2 weeks to get I2S working correctly. The first attempt had no audio. The second had so much noise it was unusable. On the third one, I finally understood how to configure the pins.

HIOS BTDAC - Bluetooth Audio Receiver & Smart Controller

Receptor de audio Bluetooth A2DP de alta fidelidad con capacidades de control inteligente vía BLE (Bluetooth Low Energy).

Quick Start

Firmware (ESP32)

# Entrar al directorio del proyecto
cd projects/btdac

# Compilar y subir firmware (PlatformIO)
# Nota: La primera vez descargará librerías para Dual Mode
pio run -t upload

# Monitor serial (para ver logs de conexión y comandos)
pio device monitor

App Android (Control)

# Abrir proyecto en Android Studio
projects/btdac/android
# O compilar desde terminal (requiere JDK 17+)
./gradlew installDebug

¿Qué es?

El HIOS BTDAC v2 evoluciona de un simple receptor de audio a un dispositivo inteligente con arquitectura híbrida:
  1. Audio Sink (Classic BT): Recibe música en alta calidad (A2DP) mediante el DAC PCM5102 (SNR 112dB).
  2. Smart Control (BLE): Canal de datos simultáneo que permite controlar el dispositivo desde la App Android sin interrumpir la música.

Funcionalidades Actuales

  • Streaming A2DP: Audio estéreo 44.1kHz / 16-bit.
  • Dual Mode: Conexión simultánea de Audio + App de Control.
  • Tone Generator: Generador de señales de prueba (Senoidal) integrado en el DSP del ESP32, activable remotamente.
  • RGB Status: Feedback visual de estado (Conectando, Reproduciendo, Error).

Hardware

ComponenteFunción
ESP32 DevKit V1MCU Dual Core + Radio (BT/BLE/WiFi)
PCM5102 DACConversión Digital-Analógica (I2S)
LM2596Fuente DC-DC 5V (Eficiencia >90%)
Batería 2S2x 18650 para >12h de autonomía
Ver lista de materiales detallada en COMPONENTS.md

Conexiones I2S

ESP32 GPIO27 → PCM5102 BCK
ESP32 GPIO14 → PCM5102 LRCK
ESP32 GPIO13 → PCM5102 DIN
PCM5102 SCK  → GND (Modo interno PLL)

Protocolo de Control (BLE)

La App se comunica mediante un servicio GATT personalizado:
  • Service UUID: 4fafc201-1fb5-459e-8fcc-c5c9c331914b
  • Char UUID: beb5483e-36e1-4688-b7f5-ea07361b26a8

Comandos Soportados

ComandoEjemploDescripción
Tone Gentone:1000Genera una onda senoidal de 1000Hz por 2s

Estructura del Proyecto

btdac/
├── android/           # App nativa de control (Kotlin + Compose)
├── src/
│   └── HIOS_BTDAC.ino # Firmware (Dual Mode: A2DP + BLE)
├── platformio.ini     # Configuración con partición 'min_spiffs'
├── PINOUT.md          # Diagrama de conexiones
├── COMPONENTS.md      # BOM
└── README.md          # Este archivo

Estado del Proyecto

Fase 2: Smart Audio - Arquitectura híbrida funcional.
  • Firmware Dual Mode (A2DP + BLE)
  • App Android Básica (Scan + Connect)
  • Generador de Tonos Remoto
  • Monitor de Batería (Hardware v2)
  • Ecualizador DSP
  • Soporte WiFi Streaming (Fase 3)

Dev Log / Changelog

v0.5 - Arquitectura Híbrida (Feb 15, 2026)

Transformación de "Audio Receptor" a "Smart Device".
  • Firmware (Dual Mode): Implementación de A2DP (Audio) y BLE (Control) simultáneos.
  • DSP Engine: Generador de ondas senoidales por software inyectado directo al buffer I2S para pruebas de audio.
  • Android App: Lanzamiento inicial (Kotlin/Compose). Scanner con filtro de UUID propietario y control de tonos.
  • Protocolo: Definición de comandos GATT (tone:freq).

Ideas en el Radar (Backlog)

  • Modo WiFi Hi-Res: Streaming FLAC directo (Spotify Connect / DLNA) para superar la compresión del Bluetooth.
  • Herramientas de Calibración: Ruido rosa y sweep de frecuencia automático para testear parlantes y crossovers.
  • OTA Updates: Actualización de firmware desde la app sin cables.
  • Monitor de Batería: Lectura analógica + notificación BLE para saber cuándo cargar.

Links

Licencia

Open Hardware - Usa, modifica y comparte libremente.

HIOS BTDAC - HI Open Systems

Specifications

AudioBluetooth A2DP, 16-bit 44.1kHz
DACPCM5102A, 112dB SNR
Battery7.4V 7000mAh (2x18650)
Autonomy12+ hours
OutputLine level, Jack 3.5mm
Consumption~130mA BT active

Bill of Materials (BOM)

ComponenteCant.PrecioNotas
ESP32 DevKit 38-pin1$12Bluetooth + WiFi
PCM5102 DAC Module1$1024-bit, 112dB SNR
BMS 2S USB-C1$6Charging and protection
DC-DC LM25961$3Step-down to 5V
18650 Battery 3500mAh2$12Li-Ion, good quality
LED RGB KY-0091$2Status indicator
Resistor 330Ω3$1For LED
Cables, connectors, PCB1$5Misc
Approximate Total$65 USDShipping not included
Coming Soon
Headphone Amp NE5532
Resistive divider battery measurement
BLE Android App
WiFi streaming mode
YouTube/Spotify integration
BLE Volume control
Wear OS / Garmin integration
What Works
  • Bluetooth A2DP — stable connection
  • 24-bit Audio — surprising quality
  • Battery 12+ hours — tested
  • RGB Status LED
  • Serial Monitor with metadata
What Needs Improvement
  • Case — functional but basic
  • No physical volume control
  • Sometimes takes 2 attempts to pair

Want one?

Build it yourself. It's yours now.<br/>All code, schematics, and instructions are available.

Gallery

1 / 7
Functional prototype. Build your own.
Want me to build it for you? Email me