01 · Punto de partida
Del módulo suelto al chip con radio
Hace unos años, conectar un Arduino a Internet significaba sumarle un módulo Wi-Fi, comunicarse con él mediante comandos AT por el puerto serie y administrar dos procesadores con dos programas. Hoy un chip de pocos dólares reúne el procesador, la memoria, los periféricos y la radio en una sola pieza, y corre una pila de red completa con TCP/IP, TLS y MQTT. Esa integración es la razón por la que el IoT se volvió accesible.
Pero «tiene Wi-Fi» no alcanza para elegir. Una plataforma puede ser excelente para un enchufe inteligente y pésima para un sensor con batería; otra puede durar quince años con una pila y no tener radio para llegar a Internet. En el tema anterior armaste la ficha de un caso de uso; en éste la usás para elegir el chip.
Los números de este tema son órdenes de magnitud para razonar, no datos de una hoja de especificaciones. Antes de decidir un diseño real, verificá cada valor en la documentación del fabricante.
02 · Anatomía
Qué trae un microcontrolador conectado
Un microcontrolador con conectividad es un SoC (system on chip): un solo chip con todo lo necesario para un dispositivo IoT. Sumado a lo que ya conocés de los microcontroladores, aparecen tres bloques nuevos.
- Radio. El bloque que transmite y recibe. Puede ser una sola (Wi-Fi) o varias (Wi-Fi y Bluetooth LE). Necesita una antena externa al chip, cuyo diseño afecta mucho el alcance real.
- Pila de protocolos. Es software: TCP/IP, TLS, y cliente MQTT o HTTP. Ocupa memoria y tiempo de procesador; por eso los chips con radio traen más RAM y flash que los microcontroladores simples.
- Seguridad por hardware. Aceleración de cifrado, generador de números aleatorios, arranque seguro y cifrado de la flash. Sin ellos, TLS es lento y el firmware, copiable. Los vemos en los temas 40 a 42.
También es clave la gestión de energía. Un microcontrolador con radio puede pasar de apagar casi todo y gastar microamperes a transmitir con decenas de miliamperes. El diseño de un dispositivo con batería consiste en pasar casi todo el tiempo en el primer estado.
03 · Conectividad
Las radios y para qué sirve cada una
Cada tecnología de radio resuelve un problema distinto. Los detalles de cada una vienen en el bloque de redes; acá solo hace falta ubicarlas, porque el radio determina la plataforma posible.
| Radio | Alcance | Velocidad | Energía por envío | Uso típico |
|---|---|---|---|---|
| Wi-Fi (2,4 GHz) | Decenas de metros | Mbit/s | Alta (conectar cuesta) | Dispositivos con red eléctrica o carga frecuente; acceso directo a Internet |
| Bluetooth Low Energy | Decenas de metros | Cientos de kbit/s | Muy baja | Enlace con el celular o con un gateway |
| Thread / Zigbee (802.15.4) | Decenas de metros, en malla | Cientos de kbit/s | Baja | Domótica y edificios con muchos nodos |
| LoRa | Kilómetros | Decenas de bit/s a pocos kbit/s | Baja por mensaje | Sensores remotos con batería de años |
| Celular (LTE-M, NB-IoT) | Cobertura del operador | kbit/s a Mbit/s | Media a alta | Equipos móviles o sin red propia |
La cuestión de fondo es que ninguna radio gana en todo: alcance, velocidad y energía se compensan. Por eso los chips más populares incluyen Wi-Fi y Bluetooth LE (el celular casi siempre sirve de puente de configuración), y las aplicaciones de largo alcance recurren a chips o módulos con LoRa o celular.
04 · Familias
Las plataformas más usadas
Seis familias cubren buena parte de los proyectos. La tabla resume sus rasgos; los números son aproximados y varían por modelo y variante.
| Plataforma | Núcleo | Radios | RAM | Consumo dormido | Rasgo principal |
|---|---|---|---|---|---|
| ESP8266 | Tensilica a 80 MHz | Wi-Fi | Unos 80 KB | Decenas de µA | Barato y muy difundido; ya superado para proyectos nuevos |
| ESP32 | Xtensa de 2 núcleos, hasta 240 MHz | Wi-Fi y Bluetooth | Unos 520 KB | Decenas de µA | Potente, gran ecosistema, muchas variantes |
| ESP32-C3 | RISC-V a 160 MHz | Wi-Fi y Bluetooth LE | Unos 400 KB | Pocos µA | Versión económica y de menor consumo |
| Raspberry Pi Pico W | 2 núcleos Cortex-M0+ a 133 MHz | Wi-Fi y Bluetooth LE | 264 KB | Cerca de 1 mA en la placa | Programación sencilla (MicroPython y C); ahorro de energía limitado |
| nRF52840 | Cortex-M4F a 64 MHz | Bluetooth LE, Thread, Zigbee | 256 KB | Pocos µA | Bajísimo consumo; sin Wi-Fi |
| STM32WL | Cortex-M4 a 48 MHz | LoRa (y otros sub-GHz) | 64 KB | Pocos µA | Radio de largo alcance integrada; poca memoria |
De la tabla surgen reglas útiles. Si necesitás Wi-Fi, tu mundo es la familia ESP32 o la Pico W. Si querés Bluetooth LE y años de batería, el nRF52840 es difícil de superar. Si la distancia manda, un chip LoRa. Y si recién empezás, el ESP32 tiene la mayor cantidad de ejemplos, bibliotecas y respuestas en foros.
05 · Consumo
Dónde se va la energía
El comportamiento energético de un dispositivo con radio tiene dos estados muy distintos. Dormido, el chip consume microamperes: casi todo está apagado y un temporizador lo despierta. Activo, con la radio encendida, consume entre decenas y cientos de miliamperes. La relación entre ambos es de cientos de miles de veces, y define el diseño.
Los dos términos suman a la energía diaria. Con unos números típicos de un ESP32 enviando por Wi-Fi cada 15 minutos: dormido, 10 µA durante 24 horas son 0,24 mAh; despierto, 96 envíos de 2,5 segundos a 100 mA son 6,67 mAh. El 97 % de la energía se gasta en los pocos segundos con la radio encendida, aunque el chip pasa dormido el 99,7 % del tiempo.
De esa cuenta salen las tres palancas del consumo:
- Acortar el tiempo activo. En Wi-Fi gran parte de los segundos se van en conectarse al punto de acceso y obtener una dirección IP. Reutilizar la dirección, fijar el canal y evitar el DNS pueden bajar de varios segundos a décimas.
- Enviar menos seguido. Cada envío evitado ahorra su porción completa; es la palanca del tema 1.
- Elegir una radio más económica por mensaje. Bluetooth LE o LoRa tardan una fracción de segundo y consumen menos corriente que el Wi-Fi.
Los chips ofrecen varios modos de sueño: en el sueño ligero (light sleep) conservan el estado y despiertan rápido; en el sueño profundo (deep sleep) apagan casi todo y al despertar el programa arranca de cero, conservando solo un poco de memoria especial. Elegir el modo es parte del diseño y lo trabajamos en el bloque de bajo consumo.
06 · Formato
Chip, módulo y placa de desarrollo
El mismo SoC llega al producto en tres formas, con consecuencias de costo, tiempo y homologación.
| Forma | Qué es | Cuándo conviene | Costo oculto |
|---|---|---|---|
| Placa de desarrollo | Chip, USB, regulador y pines en una plaqueta lista para usar | Prototipos y aprendizaje | Consumo alto y tamaño grande; no es el producto final |
| Módulo | Chip, memoria flash, cristal y antena en una pieza pequeña, con certificación de radio | Series pequeñas y medianas | Precio mayor que el chip suelto |
| Chip en placa propia | El SoC soldado en un circuito diseñado para el producto | Grandes volúmenes | Diseñar antena y circuito de radiofrecuencia; certificar el equipo |
Una razón de peso para elegir módulo es la certificación de radio: todo equipo que emite radiofrecuencia debe cumplir la normativa del país donde se vende. Un módulo ya certificado simplifica y abarata ese trámite; un diseño propio con chip suelto exige ensayos que pueden costar miles de dólares y semanas de laboratorio.
07 · Método
Cómo elegir la plataforma
Armá la decisión a partir de la ficha del caso de uso y descartá en este orden, de lo que no admite excepción a lo que se puede negociar:
- Radio. ¿Qué red necesita el dispositivo? Si ninguna plataforma tiene el radio, el resto no importa.
- Memoria. ¿Entra la pila de red, la seguridad TLS y el firmware con su actualización remota? Esta última pide el doble de flash, porque guarda la versión nueva sin borrar la vieja.
- Energía. ¿Alcanza la autonomía con la corriente dormida, la activa y el tiempo de envío?
- Periféricos. ¿Hay suficientes pines, convertidores analógico-digitales y buses para los sensores?
- Seguridad. ¿Hay arranque seguro, cifrado de flash y aleatoriedad por hardware?
- Ecosistema. ¿Hay herramientas, bibliotecas, documentación y soporte? Un chip excelente con pocas herramientas cuesta semanas de trabajo.
- Disponibilidad y costo. ¿Se consigue en el volumen que se necesita, y por cuánto tiempo seguirá fabricándose?
Las tres primeras filtran casi siempre; el resto desempata. El laboratorio de este tema reproduce ese filtro con la radio, la memoria y la autonomía.
08 · Analogía con programación
Comparar plataformas en Python
Cada plataforma se describe con su RAM, su corriente dormida y, por cada radio que ofrece, la corriente media activa y los segundos activos por envío. La función evaluar recorre todas, descarta las que no tienen el radio o la RAM pedidos y calcula, para las que quedan, la autonomía con una batería de 2000 mAh según el período entre envíos. La fórmula es la del apartado de energía.
Python en tu navegador. Los bloques son editables: cambiá los valores y presioná «Ejecutar Python». La primera vez tarda unos segundos en cargar.
BATERIA_MAH = 2000
# plataforma: RAM en KB, corriente dormido en µA, y por radio (corriente media activa en mA, segundos activo por envío)
PLATAFORMAS = {
"ESP8266": {"ram": 80, "sueno": 20, "radios": {"wifi": (80, 3.0)}},
"ESP32": {"ram": 520, "sueno": 10, "radios": {"wifi": (100, 2.5), "ble": (50, 0.3)}},
"ESP32-C3": {"ram": 400, "sueno": 5, "radios": {"wifi": (80, 2.5), "ble": (35, 0.3)}},
"Pico W": {"ram": 264, "sueno": 1000, "radios": {"wifi": (70, 3.0), "ble": (40, 0.3)}},
"nRF52840": {"ram": 256, "sueno": 3, "radios": {"ble": (8, 0.3)}},
"STM32WL": {"ram": 64, "sueno": 2, "radios": {"lora": (45, 0.6)}},
}
def evaluar(radio, ram_kb, periodo_min):
resultado = []
for nombre, p in PLATAFORMAS.items():
if radio not in p["radios"]:
resultado.append((nombre, None, "sin " + radio))
continue
if p["ram"] < ram_kb:
resultado.append((nombre, None, "poca RAM"))
continue
corriente, segundos = p["radios"][radio]
envios = 1440 / periodo_min
mah_dia = p["sueno"] / 1000 * 24 + envios * corriente * segundos / 3600
resultado.append((nombre, BATERIA_MAH / mah_dia / 365, "ok"))
return resultado
def mostrar(radio, ram_kb, periodo_min):
print(f"Radio {radio}, {ram_kb} KB de RAM, un envío cada {periodo_min} min:")
for nombre, anios, motivo in evaluar(radio, ram_kb, periodo_min):
texto = f"{anios:5.1f} años" if anios is not None else f"descartado ({motivo})"
print(f" {nombre:<10} {texto}")
mostrar("wifi", 128, 15)
mostrar("wifi", 128, 60)
mostrar("wifi", 400, 15)
mostrar("ble", 64, 5)
mostrar("lora", 32, 30)
Resultado con los valores iniciales: con Wi-Fi, 128 KB y un envío cada 15 minutos, el ESP8266 queda descartado por poca RAM, ESP32 rinde 0,8 años, ESP32-C3 1,0 año y Pico W 0,2 años. Con un envío por hora, ESP32 sube a 2,9 años y ESP32-C3 a 3,8. Si hacen falta 400 KB de RAM, la Pico W se descarta (264 KB). Con Bluetooth LE, 64 KB y envíos cada 5 minutos, el nRF52840 dura 20,8 años, el ESP32-C3 5,7 y el ESP32 3,8. Y con LoRa solo queda el STM32WL, con 13,4 años enviando cada 30 minutos.
El modelo muestra la distancia que hay entre elegir una plataforma «que ande» y una que «dure». La Pico W, con su consumo dormido de unos 1000 µA, no pasa de unos 80 días ni enviando una vez por hora: la corriente dormida pesa tanto como la corriente activa cuando el dispositivo duerme casi todo el tiempo.
09 · Exploración interactiva
Elegir un microcontrolador, de extremo a extremo
Este laboratorio ejecuta el mismo modelo del código anterior. Indicá el radio que necesitás, la RAM mínima, cada cuántos minutos se envía y la autonomía objetivo con una batería de 2000 mAh. Las barras muestran los años de cada plataforma que cumple los requisitos de radio y memoria; las demás aparecen descartadas con el motivo. Las barras celestes alcanzan el objetivo (línea naranja) y las azules no. Los valores son didácticos.
Radio, memoria y batería
Elegí los requisitos y presioná «Comparar plataformas».
Recorrido guiado
- Con los valores iniciales (Wi-Fi, 128 KB, cada 60 minutos, objetivo de 3 años), comparás. ESP32-C3 rinde 3,8 años y cumple; ESP32 llega a 2,9 y no cumple; la Pico W apenas supera los 0,2 años; el ESP8266 queda descartado por RAM.
- Pasá el envío a 15 minutos. Ninguna llega a los 3 años: el ESP32-C3 cae a 1,0 y el resultado es «No alcanza». La radio Wi-Fi castiga cuando se usa seguido.
- Cambiá el radio a Bluetooth LE con 15 minutos y 3 años. Ahora cumplen tres plataformas: el nRF52840 dura 40,3 años con una corriente media de apenas 6 µA. Una radio más barata por envío cambia todo el panorama.
- Con Wi-Fi, pedí 512 KB de RAM: solo el ESP32 sobrevive, con 2,9 años: «No alcanza». A veces los requisitos de memoria (una pila grande, imágenes, un búfer de datos) deciden por sí solos.
- Elegí LoRa con 32 KB y 60 minutos: solo el STM32WL es candidato y rinde 24 años. Subí la RAM a 128 KB y el resultado es «Sin candidata»: el único chip con LoRa de la lista tiene 64 KB.
- Volvé a Wi-Fi con 128 KB y 60 minutos y mirá la Pico W: su corriente dormida de cerca de 1 mA la deja en 0,2 años aunque la corriente activa sea parecida a la del resto. Dormir bien importa tanto como transmitir poco.
Desafío: cuánto vale acortar la conexión Wi-Fi
Un ESP32 con Wi-Fi cada 15 minutos rinde 0,8 años porque cada envío activa la radio unos 2,5 s a 100 mA: 96 × 100 × 2,5 / 3600 = 6,67 mAh por día, más 0,24 del sueño, 6,91 en total. Si se reutiliza la configuración de red (dirección IP fija, canal guardado, sin DNS) y el tiempo activo baja a 0,5 s, el gasto de envíos cae a 1,33 mAh y el total a 1,57 mAh por día: 2000 / 1,57 ≈ 1272 días, es decir 3,5 años. Sin cambiar de chip ni de batería, la autonomía se multiplicó por 4,4 optimizando el firmware. El tiempo con la radio encendida es el parámetro más rentable de ajustar.
10 · Comprensión
Confusiones frecuentes
«El ESP32 es el mejor, así que lo uso siempre»
Es una excelente plataforma general, pero no la más económica para un producto masivo, ni la de menor consumo con Bluetooth, ni tiene LoRa. Un nRF52840 le gana en batería con BLE y un chip LoRa en alcance. Se elige por requisitos, no por fama.
«Si el chip dice 10 µA, mi placa va a gastar 10 µA»
La cifra del fabricante es del chip dormido. La placa de desarrollo suma conversor USB, regulador y LED que gastan miliamperes. Para medir el consumo real hay que medir el diseño completo, y para productos de batería, diseñar el circuito sin esos componentes.
«Más RAM y más núcleos siempre ayudan»
Un procesador más potente consume más, cuesta más y se programa con más cuidado. Si el trabajo es leer un sensor y enviar un mensaje, sobra casi todo. Se necesita lo que exige la pila de red, la seguridad y la actualización remota, más un margen razonable.
«Wi-Fi es la mejor opción porque ya hay Wi-Fi en todos lados»
Para dispositivos con red eléctrica o carga frecuente es excelente. Para un sensor con batería de años, conectar al Wi-Fi cada vez es de las operaciones más caras en energía. En ese caso pesan más el Bluetooth LE con un gateway, o LoRa.
«Un módulo es lo mismo que una placa de desarrollo»
La placa de desarrollo es una herramienta de laboratorio con extras para facilitar el uso. El módulo es una pieza para integrar en un producto, con la radio certificada y sin esos componentes de consumo. Comparten chip, pero no objetivo.
«El consumo depende solo del chip»
Depende también del firmware: cuánto tiempo mantiene la radio encendida, con qué frecuencia envía, qué modo de sueño usa y cuántos periféricos deja activos. El mismo chip puede durar meses o años según cómo esté programado.
11 · Práctica guiada
Predecí antes de comprobar
1. Elegir por requisito
Proponé una plataforma para cada caso: (a) un sensor de humedad a 3 km de la casa, con batería, que informa cada 30 minutos; (b) una lámpara inteligente con Wi-Fi, enchufada, que se controla desde el celular; (c) un sensor de temperatura de oficina con BLE que debe durar 5 años con una pila.
Ver solución
(a) STM32WL u otro chip con LoRa: el alcance de kilómetros y la batería mandan. (b) ESP32 o ESP32-C3: tiene energía de la red, necesita Wi-Fi y el ecosistema ayuda. (c) nRF52840: BLE con consumo de microamperes, ideal para años con una pila.
2. Energía por día
Un ESP32 duerme con 10 µA y cada 15 minutos transmite por Wi-Fi durante 2,5 s a 100 mA. ¿Cuántos mAh por día gasta y cuánto dura una batería de 2000 mAh?
Ver solución
Dormido: 0,010 mA × 24 h = 0,24 mAh. Envíos: 96 por día × 100 mA × 2,5 s / 3600 = 6,67 mAh. Total 6,91 mAh por día. La batería dura 2000 / 6,91 ≈ 290 días, es decir 0,8 años.
3. Qué pesa más
En el ejercicio anterior, ¿qué porcentaje de la energía se gasta durmiendo y cuál transmitiendo? ¿Qué conviene optimizar?
Ver solución
Durmiendo: 0,24 / 6,91 ≈ 3,5 %. Transmitiendo: 96,5 %. Conviene optimizar la transmisión: acortar el tiempo activo de la conexión o enviar menos seguido. Bajar la corriente dormida de 10 a 5 µA ahorraría menos del 2 % del total.
4. Acortar la conexión
Con ese ESP32, el tiempo activo se reduce de 2,5 s a 0,5 s por envío. ¿Cuánto dura ahora la batería?
Ver solución
Envíos: 96 × 100 × 0,5 / 3600 = 1,33 mAh. Total 1,33 + 0,24 = 1,57 mAh por día. 2000 / 1,57 ≈ 1272 días, 3,5 años. Sin tocar el hardware, la autonomía se multiplicó por 4,4.
5. El costo de dormir mal
Una Pico W duerme con unos 1000 µA y envía por Wi-Fi una vez por hora (70 mA durante 3 s). ¿Cuántos mAh por día y cuánto dura una batería de 2000 mAh?
Ver solución
Dormida: 1 mA × 24 h = 24 mAh. Envíos: 24 × 70 × 3 / 3600 = 1,4 mAh. Total 25,4 mAh por día; 2000 / 25,4 ≈ 79 días. Casi todo el gasto (94 %) es de la corriente dormida, y por eso la plataforma no es apta para batería sin rediseñar la alimentación.
6. La memoria de la actualización remota
Un firmware con la pila de red ocupa 900 KB. ¿Cuánta flash necesita un esquema de actualización remota que conserva la versión actual mientras descarga la nueva?
Ver solución
Al menos 1800 KB para las dos copias del firmware, más espacio para el cargador de arranque, la configuración y un margen. En la práctica, un módulo con 4 MB de flash es la elección típica. Una plataforma con 1 MB de flash no admitiría este esquema.
12 · Síntesis
Ideas para recordar
- Un microcontrolador con conectividad es un SoC que integra núcleo, memorias, periféricos, radio, aceleración de seguridad y gestión de energía; la antena queda fuera del chip.
- Ninguna radio gana en todo: Wi-Fi da velocidad y acceso directo a Internet, BLE da bajo consumo y enlace con el celular, LoRa da kilómetros, y el celular cubre equipos sin red propia.
- Las plataformas habituales son ESP8266, ESP32, ESP32-C3, Pico W, nRF52840 y STM32WL; cada una tiene su lugar según radio, memoria y consumo.
- La cifra de consumo dormido del chip no es la de la placa de desarrollo: ésta suma componentes que pueden gastar miliamperes.
- El consumo se divide entre el estado dormido (microamperes) y el activo con radio (decenas o cientos de miliamperes); en la mayoría de los diseños la transmisión domina la energía.
- Las palancas para ahorrar son acortar el tiempo con la radio encendida, enviar menos seguido y usar una radio más barata por mensaje.
- El mismo chip llega al producto como placa de desarrollo, módulo certificado o chip en placa propia; el módulo simplifica la homologación de radio.
- Se elige descartando por radio, memoria y energía, y desempatando con periféricos, seguridad, ecosistema, costo y disponibilidad.
¿Listo para el tema 5?
Antes de avanzar, tomá la ficha de un caso de uso del tema anterior y elegí una plataforma: indicá qué radio necesita, cuánta memoria, cuál sería su corriente media y cuánto dura con una batería dada. Si podés justificar la elección con números, estás listo para programarla.
En el próximo tema armamos el entorno de desarrollo y el primer dispositivo conectado: toolchain, placa de desarrollo, y un programa mínimo que se conecta a la red y comunica su estado.