TensorFlow Lite Micro y herramientas para IA en microcontroladores

Los modelos de lenguaje en un microcontrolador suenan absurdos, y hasta hace poco lo eran. El ESP32-S3 tiene 512 KB de SRAM y hasta 32 MB de PSRAM externa. Un modelo de chat útil necesita gigabytes. El truco que cambió en 2025 fue los nanomodelos cuantificados: transformadores de 20 a 30 millones de parámetros, cuantificados INT8, ajustados para una tarea estrecha, que caben entre el “reconocimiento de palabras clave” y el “LLM en la nube.” Un artículo reciente de XDA analizó un modelo de 28,9M implementado en un ESP32-S3, y los comentarios dejaron claro que la pregunta más importante no es “¿puedo hacer esto?” sino “¿qué herramientas uso?”. A continuación se presentan las siete aplicaciones de escritorio que instalaríamos primero.

Qué buscar en un conjunto de herramientas LLM para microcontroladores

Comparación rápida

Aplicación Mejor para Plataformas Plan gratuito Nota
TensorFlow Lite Micro El tiempo de ejecución de inferencia estándar de microcontroladores Windows, macOS, Linux Biblioteca C++, se integra con cualquier cadena de herramientas
Edge Impulse Studio Canalización de datos a firmware Web + CLI de escritorio Nivel gratuito Entrena e implementa modelos desde un navegador
PlatformIO Compilación multiplataforma dentro de VS Code Windows, macOS, Linux Maneja ESP32, RP2040, nRF, STM32 en un proyecto
ESP-IDF SDK oficial de Espressif Windows, macOS, Linux Soporte de primera clase para PSRAM de ESP32-S3 y aceleradores de IA
Arduino IDE 2 Implementación amigable para principiantes Windows, macOS, Linux Ahora soporta paquetes de placas ESP32 fuera de la caja
TinyMaix Tiempo de ejecución más ligero para modelos pequeños Linux, macOS, Windows Núcleo de inferencia de 400 líneas, amigable con INT8
llama.cpp Ejecutor de modelo pequeño multiplataforma Windows, macOS, Linux La referencia para inferencia de transformador pequeño

Las aplicaciones

1. TensorFlow Lite Micro — Mejor tiempo de ejecución predeterminado

TensorFlow Lite Micro (TFLM) es el tiempo de ejecución en el que se estandarizan la mayoría de proyectos de IA de microcontroladores. Es una biblioteca C++ sin asignación dinámica, sin dependencias del SO y sin acceso al sistema de archivos. Espressif envía un componente ESP-IDF oficial que agrega kernels ESP-NN para el S3, por lo que las convoluciones INT8 y las capas densas se ejecutan de cuatro a ocho veces más rápido que los kernels de referencia. Si eres nuevo en IA de microcontroladores, este es el tiempo de ejecución que los tutoriales asumen.

Dónde falla: la API es C++ e implacable. La depuración de una entrada de modelo deficiente a menudo termina en un seguimiento de pila en el puerto serie.

Precios:

Plataformas: la cadena de herramientas de escritorio se ejecuta en Windows, macOS, Linux

Descarga: github.com/tensorflow/tflite-micro

Conclusión: la primera biblioteca para agregar a un nuevo proyecto de IA de microcontrolador.

2. Edge Impulse Studio — Mejor canalización de datos a firmware

Edge Impulse Studio es la aplicación web que te lleva de una grabación de sensor a un binario de firmware implementable. Sube datos, etiquétalos, elige una arquitectura de modelo, entrena, y emite una biblioteca C++ o un sketch de Arduino completo ajustado para la placa objetivo. El soporte para ESP32-S3, nRF52840, Nicla Vision y Nano 33 BLE Sense es profundo. El CLI de escritorio te permite escribir la canalización completa para CI.

Dónde falla: el nivel gratuito limita el tiempo de entrenamiento y el tamaño del conjunto de datos. Las arquitecturas avanzadas requieren el nivel empresarial.

Precios:

Plataformas: aplicación web más CLI para Windows, macOS, Linux

Descarga: edgeimpulse.com

Conclusión: la opción cuando prefieres entrenar en un navegador que en Colab.

3. PlatformIO — Mejor entorno de compilación multiplataforma

PlatformIO es la extensión de VS Code que convierte un proyecto en una compilación para cualquiera de cien placas. Cambia el objetivo de ESP32-S3 a RP2040 a nRF52 con un cambio de dos líneas en platformio.ini. Las bibliotecas TensorFlow Lite Micro, TinyMaix y Edge Impulse se instalan a través del administrador de paquetes incorporado. La integración del depurador funciona con cualquier sonda J-Link o ST-Link.

Dónde falla: la descarga inicial es pesada. El rendimiento de la primera ejecución es lento en Windows.

Precios:

Plataformas: Windows, macOS, Linux (como extensión de VS Code)

Descarga: platformio.org

Conclusión: el entorno que mantiene vivo el mismo proyecto en tres proveedores de chips.

4. ESP-IDF — Mejor cuando el objetivo es específicamente ESP32-S3

ESP-IDF es el marco oficial de Espressif. Si el proyecto está comprometido con la familia ESP32-S3, esta es la herramienta más profunda: asignadores PSRAM nativos, kernels ESP-NN de primera parte y soporte de actualización OTA incorporado. El CLI idf.py impulsa menuconfig, flash, monitor y pruebas unitarias. Se empareja limpiamente con TFLM y TinyMaix.

Dónde falla: solo ESP32. Bloquearse temprano limita la portabilidad.

Precios:

Plataformas: Windows, macOS, Linux

Descarga: github.com/espressif/esp-idf

Conclusión: el marco cuando sabes que el objetivo es un ESP32.

5. Arduino IDE 2 — Mejor para el primer proyecto de IA de microcontrolador

Arduino IDE 2 es donde la mayoría de las personas comienzan. Los administradores de placas para ESP32, RP2040 y nRF están a un solo clic, TensorFlow Lite Micro está disponible como biblioteca incluida, y el monitor serie está justo en la aplicación. La versión 2.x reescrita agregó un depurador adecuado y sketches por proyecto.

Dónde falla: compilaciones más lentas que PlatformIO o ESP-IDF, y menos control sobre las banderas de compilación.

Precios:

Plataformas: Windows, macOS, Linux

Descarga: arduino.cc/en/software

Conclusión: la rampa que la mayoría de los primeros proyectos utilizan antes de pasar a PlatformIO.

6. TinyMaix — Mejor tiempo de ejecución para los modelos más pequeños

TinyMaix es el tiempo de ejecución al que recurres cuando TFLM es demasiado grande. Todo el motor de inferencia tiene aproximadamente 400 líneas de C. Admite modelos cuantificados INT8 e INT16, inferencia solo de números enteros y placas con tan solo 30 KB de RAM. Perfecto para pequeños decodificadores de transformadores que solo necesitan saludar, clasificar o enrutar.

Dónde falla: cobertura de operaciones más estrecha que TFLM. Las capas personalizadas pueden necesitar ser portadas a mano.

Precios:

Plataformas: se compila de forma cruzada desde Windows, macOS, Linux

Descarga: github.com/sipeed/TinyMaix

Conclusión: el tiempo de ejecución para el momento “¿ni siquiera encaja.”

7. llama.cpp — Mejor para presionar el techo de lo que un microcontrolador puede contener

llama.cpp no es un tiempo de ejecución de microcontrolador tradicional, pero la comunidad lo ha portado a ESP32-S3, RP2350 e incluso placas Milk-V RISC-V con fines de investigación. Si el modelo en juego es un transformador de 20 a 60 millones de parámetros destilado de una base moderna, la canalización de cuantificación GGUF de llama.cpp te permite encogerlo a algo que la placa pueda contener. Se ejecuta en el escritorio primero para prototipos, luego se compila de forma cruzada.

Dónde falla: integrar el ciclo de inferencia en un RTOS incrustado es trabajo manual. El rendimiento en tiempo real depende de la cuantificación agresiva.

Precios:

Plataformas: se compila de forma cruzada desde Windows, macOS, Linux

Descarga: github.com/ggml-org/llama.cpp

Conclusión: el tiempo de ejecución de referencia para cualquiera que comprima un transformador “real” a una placa.

Cómo elegir el correcto

Preguntas frecuentes

¿Puede un ESP32-S3 realmente ejecutar un modelo de lenguaje? Uno pequeño. Menos de 30 millones de parámetros, cuantificados INT8, una tarea estrecha. No esperes ChatGPT. Espera clasificación de intenciones, extracción estructurada o respuestas breves escritas que superen la coincidencia de plantillas.

¿Cuál es la diferencia entre TFLM y TinyMaix? TFLM es el tiempo de ejecución más amplio mantenido por Google con mejor cobertura de operaciones y kernels de proveedores. TinyMaix es un tiempo de ejecución más delgado diseñado para los dispositivos más pequeños. Usa TFLM de forma predeterminada; baja a TinyMaix cuando TFLM no cabe.

¿Necesito ESP-IDF si uso PlatformIO? PlatformIO incluye una copia de ESP-IDF bajo el capó. Obtienes el mismo tiempo de ejecución, envuelto en un sistema de compilación más amigable. Usa ESP-IDF directamente solo cuando necesites las características más recientes o la configuración exacta de CI de Espressif.

¿Puede Edge Impulse entrenar un LLM para microcontroladores? Todavía no. El catálogo de modelos de Edge Impulse cubre variantes de CNN, RNN y transformador dimensionadas para clasificación y detección, no para generación de lenguaje. Para trabajo con LLM, entrena en PyTorch y usa llama.cpp o TinyMaix para la implementación.

¿Es llama.cpp realmente utilizable en un microcontrolador? Para investigación y demostraciones, sí. La implementación de nivel de producción generalmente cambia a TFLM o TinyMaix una vez que se establece la arquitectura del modelo, porque su huella de memoria es más compacta y su integración en compilaciones RTOS es más limpia.