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
- Soporte de cuantificación de modelos. INT8 es el mínimo; INT4 y precisión mixta desbloquean más espacio.
- Gestión de memoria específica de la placa. ESP32-S3 con PSRAM se comporta de manera diferente a un RP2040 desnudo o una placa nRF.
- Una arena tensorial o ejecutor de gráficos. TensorFlow Lite Micro y TinyMaix son los dos tiempos de ejecución dominantes.
- Un monitor serie y ruta del analizador lógico. Depurar un modelo atascado requiere telemetría en vivo, no solo declaraciones de impresión.
- Compilación compatible con CI. Si el modelo cambia semanalmente, la compilación debe escribirse de forma limpia.
- Una ruta para actualizaciones inalámbricas. Flashear por USB es excelente para prototipos, doloroso en producción.
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 | Sí | 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 | Sí | Maneja ESP32, RP2040, nRF, STM32 en un proyecto |
| ESP-IDF | SDK oficial de Espressif | Windows, macOS, Linux | Sí | Soporte de primera clase para PSRAM de ESP32-S3 y aceleradores de IA |
| Arduino IDE 2 | Implementación amigable para principiantes | Windows, macOS, Linux | Sí | 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 | Sí | Núcleo de inferencia de 400 líneas, amigable con INT8 |
| llama.cpp | Ejecutor de modelo pequeño multiplataforma | Windows, macOS, Linux | Sí | 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:
- Gratis: Apache 2.0
- Pagado: ninguno
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:
- Gratis: nivel de aficionado con trabajos con límite de tiempo
- Pagado: Professional y Enterprise, según presupuesto
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:
- Gratis: IDE completo para proyectos comunitarios
- Pagado: suscripción de PlatformIO Labs para equipos, según presupuesto
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:
- Gratis: Apache 2.0
- Pagado: ninguno
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:
- Gratis: IDE completo
- Pagado: suscripción de Arduino Cloud para OTA y paneles
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:
- Gratis: Apache 2.0
- Pagado: ninguno
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:
- Gratis: MIT
- Pagado: ninguno
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
- Si nunca has hecho esto: Arduino IDE 2 más TensorFlow Lite Micro. Los tutoriales asumen esa combinación.
- Si el proyecto apunta a una placa ESP32-S3 específica y necesita PSRAM: ESP-IDF.
- Si el proyecto necesita ser portátil entre ESP32, RP2040 y nRF: PlatformIO.
- Si quieres entrenar el modelo en un navegador e implementar firmware en un día: Edge Impulse Studio.
- Si el modelo tiene que caber en menos de 100 KB de RAM: TinyMaix.
- Si estás empujando un transformador de 30 millones de parámetros que llama.cpp puede cuantificar: llama.cpp para prototipos, TinyMaix o TFLM para el puerto final.
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.