Arquitectura del firmware

Una gata construida como un sistema vivo.

Sensores, comportamiento, animación y sonido funcionan como subsistemas separados sobre ESP-IDF y FreeRTOS. Muse añade mensajería y voz mediante una conexión cifrada.

Del estímulo a la reacción

SentidosLuz · proximidad
IMU · tacto · RTC
DecisiónÁnimos
y planificador
ExpresiónGrafo de clips
+ motor de audio
PresenciaLCD 320 × 240
+ altavoz

Muse Home Link se conecta por BLE o Wi‑Fi con sesiones Noise cifradas para mensajes, respuestas e imágenes. Las funciones cotidianas de comportamiento permanecen en el dispositivo.

Animación sin fundidos

Cada clip es una arista entre dos poses hub. Como comparte el primer y último dibujo con los clips vecinos, Sagwa puede encadenar acciones sin mezclas alfa ni fotogramas completos en RAM.

SGWC

Cabecera de 24 bytes, tabla de 22 clips, tabla de fotogramas y JPEG baseline de 240 × 208.

12 fps

El decodificador TJpgDec de la ROM del ESP32-S3 trabaja en el núcleo 0.

< 60 KB

Las líneas RGB565 se transmiten a buffers LVGL sin guardar un fotograma completo en DRAM.

Estructura del paquete
SGWC header → clip table[22] → frame table → JPEG data

width=240  height=208  fps=12  version=1

Mapa de flash de 16 MB

ParticiónOffsetTamañoUso
nvs0x01100048 KBCredenciales, vínculos BLE y estadísticas
otadata0x01D0008 KBEstado de selección OTA
ota_00x0200004 MBAplicación principal
ota_10x4200004 MBSiguiente actualización
sagwa0x8300007,81 MBPaquete de 22 animaciones

Muse Home Link

Sesiones cifradas, control explícito

El emparejamiento se confirma físicamente en el gadget. El token SDK se guarda en NVS; revócalo y vuelve a emparejar si cambias uno ya registrado.

Las respuestas de Muse llegan como texto y aparecen en pantalla. El audio de Sagwa y su lenguaje corporal se eligen según el tipo de mensaje.

ProfundizaCompila y modifica el firmware
Ir a desarrollo