La Decisión Build vs Buy en Firmware BLE

Cuando un equipo de producto selecciona un módulo Bluetooth, la siguiente pregunta llega rápido: ¿desarrollamos el firmware nosotros mismos o usamos el SDK del fabricante? Esta decisión afecta el cronograma, el coste BOM, el consumo energético y la mantenibilidad a largo plazo.

Opción A: SDK del Fabricante con Stack Preconstruido

  • Mayor velocidad al mercado: Un ejemplo de publicidad periférica compila y funciona en menos de una hora. Agregar un servicio GATT personalizado toma 2–3 días.
  • Stack certificado: Bluetooth SIG ya ha calificado el protocolo. Solo necesitas probar las emisiones RF específicas de tu hardware.
  • Soporte OTA: Nordic DFU y TI OAD manejan firma de imágenes, gestión de versiones y rollback.

Compromiso: una aplicación periférica mínima con nRF Connect SDK consume 120–150 KB de Flash y 16–24 KB de RAM.

Opción B: Firmware Personalizado en Bare Metal

  • Planificación de radio: Control preciso de tiempos para intervalos de publicidad y eventos de conexión.
  • Gestión de energía: Transiciones de estado de reposo de grano fino. Implementación bare metal logra corrientes 10–20% menores que RTOS.
  • Huella de código: Mínimo 40–60 KB Flash, 4–8 KB RAM — aproximadamente un tercio del SDK.

Consumo Energético: SDK vs Bare Metal

Implementación Corriente Media Flash RAM Tiempo Dev
nRF Connect SDK (Zephyr) 5.8 µA 142 KB 18 KB 2–3 días
nRF5 SDK (no-RTOS) 4.2 µA 98 KB 12 KB 3–5 días
Bare metal 3.1 µA 48 KB 6 KB 4–8 semanas

Bare metal logra 47% menos corriente media pero con 10–20x el tiempo de desarrollo. Para la mayoría de productos comerciales, nRF5 SDK (no-RTOS) es el equilibrio óptimo.

Cuándo Justifica Firmware Personalizado

  • Despliegues masivos con presupuestos de batería estrictos (100,000+ unidades)
  • Protocolos de radio propietarios no soportados por SDKs
  • Multiplexación multi-protocolo con requisitos de temporización estrictos

Para todo lo demás — etiquetas de activos, sensores, wearables, periféricos domésticos — el SDK del fabricante es la opción correcta.

Lista de Verificación para Selección de SDK

  • □ Versión del stack Bluetooth y estado de calificación
  • □ Mecanismo OTA: bootloader, firma, rollback, actualizaciones delta
  • □ Perfiles GATT disponibles
  • □ Herramientas de perfilado de energía
  • □ Soporte RTOS: Zephyr, FreeRTOS, bare metal
  • □ Compromiso de soporte a largo plazo: mínimo 10 años

Para equipos de ingeniería que eligen un módulo Bluetooth, el enfoque de desarrollo de firmware merece tanta atención como las especificaciones RF.