FOFOCA: il robot domestico open-source con ESP32, AI edge e nessuna dipendenza dal cloud
John Lee ha presentato FOFOCA (Fully Operational Feline-free Omniscient Companion Assistant), un robot domestico open-source basato su una architettura a quattro livelli che combina un Raspberry Pi 5 come cervello, un ESP32 per il controllo motorio in tempo reale, un ESP32-C3 per il display di stato e un server edge con NVIDIA Nemotron Nano 8B per l’inferenza AI locale, senza alcuna dipendenza dal cloud.
Architettura a quattro livelli
FOFOCA è progettato per funzionare 24/7 in ambiente domestico, con capacità di ronda, consegna pacchi, monitoraggio animali domestici, comandi vocali e chiamate di emergenza autonome.
Livello 1 — ESP32 (controllo real-time): Gestisce motori cingolati tramite PWM, sensori a ultrasuoni (HC-SR04), temperatura (DHT22), sensore di movimento PIR e voltaggio batteria. Comunica con il Raspberry Pi 5 via Bluetooth Serial e pubblica telemetria su MQTT.
Livello 2 — Raspberry Pi 5 (cervello): Esegue computer vision (YOLOv8n, InsightFace), riconoscimento vocale (faster-whisper) e sintesi vocale (Piper TTS). Orchestra tutti i moduli task e invia comandi di movimento all’ESP32.
Livello 3 — Dell R210 (server edge): Ospita NVIDIA Nemotron Nano 8B via Ollama, ChromaDB per memoria vettoriale, PostgreSQL, MinIO per storage video e Mosquitto come broker MQTT. Tutta l’inferenza AI avviene qui — latenza di rete locale, niente cloud.
Livello 4 — ThinkNEO (governance): Ogni chiamata AI passa attraverso il gateway ThinkNEO per selezione modello, budget enforcement, guardrail e audit logging immutabile.
ESP32-C3 per il display di stato
Un ESP32-C3 è dedicato esclusivamente alla guida di un display OLED SSD1306 da 0,96 pollici. Mostra lo stato del robot (IDLE, PATROL, DELIVERY, EMERGENCY), il task attivo, il livello batteria e il modello AI in uso. La scelta dell’ESP32-C3 è motivata dalla crittografia flash e secure boot v2 integrati, fondamentali per una certificazione production-ready.
Comunicazione e coordinamento
L’ESP32 comunica con il Pi 5 tramite Bluetooth Serial (protocollo a caratteri singoli per comandi motore), mentre la telemetria viene pubblicata in MQTT. Il Pi 5 pubblica aggiornamenti di stato su topic MQTT ben definiti, a cui l’ESP32-C3 e il server edge si sottoscrivono. Un flusso tipico — rilevamento persona alla porta — attraversa tutti e quattro i livelli in sequenza, dalla rilevazione ultrasuoni fino alla sintesi vocale.
Costo e disponibilità
Il costo totale stimato dei componenti (esclusi server Dell R210 e Insta360 riciclati) è di circa 650 dollari. Il progetto è completamente open-source e il codice sorgente, gli schemi di cablaggio e la lista dei materiali sono disponibili sul blog sviluppatori Espressif.
Roadmap
La v2 è già in fase di sviluppo e prevede il passaggio a un telaio Hiwonder JetAuto Pro con ROS2 Humble, Jetson Orin, braccio robotico 5DOF, camera di profondità e LiDAR. Il layer microcontroller ESP32 + ESP32-C3 rimane invariato.