← documentación
Panel de memoria
ESP32-S3 · N16R8 · 16 MB flash / 8 MB PSRAM
Instantánea de uso de flash y RAM del build actual, y qué otros parámetros de runtime vale la pena instrumentar en este proyecto.
instantánea de build · 2026-08-29 · commit 74d4547
Flash total usada
69.2%
11,60 MB / 16 MB
Partición app
41.0%
1,23 MB / 3 MB · 59% libre
DIRAM estática
34.6%
118,1 KB / 333,8 KB
IRAM fija
100%
16,4 KB · normal en IDF*
Heap dinámico
sin medir
requiere runtime
PSRAM en uso
sin medir
8 MB disponibles
Mapa de flash (16 MB)
Distribución real de firmware/partitions.csv para el target esp32s3.
sistema (boot+ptable+nvs+phy) · 65 KB
factory / app · 3 MB
storage / packs · 4 MB
model (raw) · 4 MB
libre / OTA · 4,94 MB
Detalle — partición factory1.290.272 B / 3.145.728 B
storage: vacío · pack.json aún no se lee (#21)
model: reservado, sin integrar
Memoria estática enlazada (build-time)
Lo que el linker reserva en compilación para .text/.data/.bss —no el heap dinámico de runtime, que solo se mide con la placa corriendo.
IRAM (vectores + ISR)16.384 / 16.384 B
* 100% no es alarma: es una región fija y pequeña; el grueso del código (857,5 KB) corre cacheado desde flash.
Qué más monitorear — y cómo
Parámetros específicos de este proyecto, no una lista genérica de buenas prácticas.
Memoria
Heap interno vs. PSRAM
DMA y WiFi solo en RAM interna —nunca PSRAM.
heap_caps_get_free_size(MALLOC_CAP_INTERNAL)
Memoria
Presupuesto TLS activo
~50 KB de RAM interna por conexión abierta.
contar conexiones TLS vivas
Concurrencia
Cola de brain.ask saturada
brain_cloud.cpp:150 descarta en silencio si la cola (profundidad 4) está llena.
contador propio en el drop
Concurrencia
Stack por tarea
Tareas bus (6144 B) y brain (10240 B), ambas core 0.
uxTaskGetStackHighWaterMark()
Rendimiento
Balance core 0 / core 1
Regla: audio en core 1, red en core 0.
vTaskGetRunTimeStats()
Rendimiento
Tiempo de frame
Medido en 30,4 ms (32,9 fps) con caché por estado.
esp_timer_get_time() en render+blit
Almacenamiento
Libre en NVS
Partición de solo 24 KB, sin uso hoy.
nvs_get_stats()
Almacenamiento
Libre en storage (packs)
4 MB para caras, sonidos, reflejos.
esp_littlefs_info("storage", ...)
Red
RSSI y reconexiones
boot.status se queda ~4 s en "connecting wifi" en un boot normal.
esp_wifi_sta_get_ap_info()
Cómo hacerlo en vivo
El webui ya corre un httpd_server. Un endpoint de solo lectura expondría estos números sin tocar el resto del framework:
GET /health → 200 application/json
{
"heap_internal_free": 187342,
"heap_spiram_free": 7534221,
"brain_queue_drops": 0,
"wifi_rssi": -58,
"uptime_s": 4213
}