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.