Le composant BISCUIT — AI Edge Controller + Intelligent Hardware Hub

Dossier de conception V2 (août 2026). Le BISCUIT n’est pas un 5ᵉ CAS : c’est un contrôleur intelligent qui se branche sur le hub de chacun des 4 CAS existants (CAS 1/2/3/4) pour les rendre autonomes et auto-réparants.

Deux briques : Composant A = AIC (carte mère smartphone + agent IA léger) et Composant B = Intelligent Hardware Hub (MCU déterministe). Le nom « BISCUIT » désigne l’ensemble : un contrôleur compact que l’on enfiche entre le cerveau du boîtier et son hub USB.


1. Vision du produit

Le projet devient un contrôleur d’infrastructure edge compact dont le cerveau est une carte mère de smartphone Linux-compatible. Cette carte exécute un agent IA local, des modèles légers orientés tool-calling/raisonnement, et des outils Linux en ligne de commande. Elle pilote un second composant : l’Intelligent Hardware Hub, chargé des interfaces physiques, de l’alimentation, de l’USB, de l’UART, du reset et des mesures.


2. Architecture cible

COMPOSANT A — AIC                          COMPOSANT B — INTELLIGENT HUB
┌─────────────────────────────────┐        ┌─────────────────────────────────┐
│ Carte mère de smartphone ARM64  │        │ MCU + USB MUX + Power/PD        │
│ Linux                           │◄──────►│ UART · GPIO · Sensors           │
│ ├─ CLI / Device Tools           │ USB-C  │ Watchdog                        │
│ ├─ Needle 2 (tool router)       │ USB4   └───────────────┬─────────────────┘
│ ├─ LFM2.5 (350M–2.6B selon RAM) │ Ethernet               │
│ ├─ MCP / Tool Registry          │                        ▼
│ ├─ Policy Engine                │              SMARTPHONES · SBC · PC
│ ├─ Device Manager               │
│ ├─ Recovery Engine              │
│ └─ Hub Gateway                  │
└─────────────────────────────────┘

3. Objectifs

ObjectifCible
Autonomie IALLM local, sans cloud obligatoire
Ultra-basse consommationPlateforme smartphone/ARM
Agent CLIAdministration par commandes et outils
Monitoring agentiqueDiagnostic à la demande plutôt que stack lourde
Contrôle matérielHub MCU déterministe
Récupération OSLogs, services, reboot, console, power-cycle selon profil
DevOpsSSH, Git, Docker/K3s lorsque pertinent
ÉvolutivitéChanger le modèle ou la carte A sans redessiner B
SécuritéPolicy Engine + allowlist + audit

4. Ce qui change par rapport à l’architecture précédente

Ancienne approcheNouvelle approche
Jetson comme serveur principalCarte mère smartphone comme AIC
LLM 7B/14B privilégiéModèles légers 45M à 2.6B selon tâche
Prometheus/Grafana/Loki embarquésCLI Linux + collecte à la demande
Monitoring permanentAgent Monitoring
Kubernetes sur A par défautK3s seulement si nécessaire
Agent avec accès directAgent → Policy Engine → Tool Executor
Hub simple périphériqueHub = contrôleur matériel autonome
Serveur puissantServeur compact, basse consommation

5. COMPOSANT A — AI Edge Controller

Le Composant A est une carte mère de smartphone réutilisée comme calculateur edge. Elle doit être sélectionnée principalement pour son support Linux et ses interfaces, puis pour sa puissance IA.

5.1 Critères de sélection

CritèreMinimumPriorité
ArchitectureARM64★★★★★
RAM8 Go★★★★★
RAM recommandé12–16 Go★★★★★
Linux bootableOui★★★★★
BootloaderAccessible/déverrouillable★★★★★
USB-CHost + fonctions requises★★★★★
UARTAccessible ou récupérable★★★★★
NPU/GPURecommandé★★★★☆
StockageUFS/eMMC/NVMe★★★★☆
Documentation SoCBonne★★★★★
KernelSource/support disponible★★★★★
EthernetVia USB-C/dongle ou natif★★★★☆

5.2 Pourquoi une carte smartphone ?

5.3 Contraintes


6. Stack IA ultra-légère

BriqueChoixRôle
Tool routerNeedle 2 (~45M)Sélection et appel de fonctions, routage ultra-léger
Agent légerLFM2.5 350M / 1.2BPlanification et raisonnement de proximité
Agent plus puissantLFM2.5 2.6BDiagnostics complexes, planification multi-étapes
RuntimeCactus / llama.cpp selon modèleInférence locale
Interface outilsMCP + registry interneAbstraction des commandes
CLIShell + agent CLIAdministration
PolicyService local minimalContrôle des permissions
KnowledgeMarkdown/SQLite + index légerProcédures et profils

Architecture IA à deux niveaux

Utilisateur / événement


    NEEDLE 2 (~45M)
        ├── action simple ───────► Tool
        └── problème complexe


            LFM2.5 350M/1.2B
                    │  si nécessaire

              LFM2.5 2.6B


             Tool Executor

L’objectif : ne réveiller le modèle plus lourd que lorsque le problème exige réellement du raisonnement.


7. Monitoring sans logiciel dédié lourd

Le monitoring devient une capacité native de l’agent : il interroge les interfaces Linux et le Hub au lieu de maintenir une stack d’observabilité lourde.

BesoinSources CLI/API
CPU/RAM/proc/stat, /proc/meminfo, uptime, free
Température/sys/class/thermal, hwmon
Stockagedf, lsblk, smartctl
Processus/proc, ps
Servicessystemctl
Kerneldmesg, journalctl -k
USBlsusb, udev, sysfs
Réseauip, ss, ping, ethtool
Power HubAPI Hub / capteurs MCU
UARToutil serial / API Hub
K3skubectl, crictl si installé

Commandes agentiques

agent status
agent devices
agent diagnose phone-01
agent diagnose sbc-03
agent logs sbc-03
agent usb status
agent power status
agent recover sbc-03
agent uart open phone-01
agent network diagnose
agent cluster status
agent explain last-error

Exemple de réponse

$ agent diagnose sbc-03
STATE: ERROR
Network: unreachable
Power: 5.1 W
UART: bootloader detected
Kernel: no heartbeat
Diagnosis: probable boot failure
Recovery: 1. collect UART  2. verify power
          3. controlled reset  4. wait for Linux heartbeat
Policy: allowed
Action: RESET
Verification: pending

8. COMPOSANT B — Intelligent Hardware Hub

Le Hub ne doit pas dépendre du LLM pour ses fonctions de sécurité. Il exécute les commandes physiques reçues via un protocole strict et expose son état au Composant A.

Hub
├─ MCU STM32H5/H7 ou RP2350
├─ USB Hub / USB MUX
├─ USB-C ports
├─ USB-PD controller
├─ Power switches / eFuse
├─ UART bridges
├─ GPIO / Reset
├─ Current / Voltage sensors
├─ Temperature sensors
├─ Watchdog
└─ Secure firmware update

Liaison A ↔ B

LiaisonUsage
USB-C / USB 3.xMode standard local
USB4 / ThunderboltVersion haut débit
Ethernet 1 GbEVersion simple
Ethernet 2,5 GbEVersion recommandée
Ethernet 10 GbEMulti-Hub / premium

9. Protocole de contrôle

gRPC/Protobuf recommandé pour l’API structurée ; REST/WebSocket possible pour l’administration.

hub.list_devices()
hub.status()
hub.port_status(port)
hub.power_on(port)
hub.power_off(port)
hub.reset(device)
hub.serial_open(device)
hub.serial_read(device)
hub.measure_power(port)
hub.health()
hub.firmware_version()

⚠️ Le protocole ne doit jamais accepter une commande shell arbitraire envoyée directement au MCU.

10. Device Manager

ProfilInterfacesFonctions
AndroidADB/Fastboot/USB/UARTIdentification, logs, reboot, recovery
Linux SBCSSH/Serial/USB/EthernetDiagnostic, services, packages, reboot
PCEthernet/Serial/USB/PowerDiagnostic et provisioning
Jetson/SBC ARMUSB/Serial/EthernetMaintenance et récupération
HubAPIPorts, power, sensors, firmware

11. Base de compatibilité

device_profile:
  model:
  vendor:
  soc:
  architecture:
  ram:
  storage:
  linux:
  kernel:
  bootloader:
  adb:
  fastboot:
  uart:
  usb:
  ethernet:
  power_profiles:
  recovery_methods:
  approved_images:
  approved_actions:
  known_errors:

Cette base est indispensable pour empêcher l’agent d’appliquer une procédure Linux/Android ou une image firmware incompatible.

12. Recovery Engine — boucle de contrôle

OBSERVE → COLLECT → INTERPRET → DIAGNOSE → POLICY CHECK → ACT → VERIFY → LEARN / LOG
  1. Identifier précisément le périphérique.
  2. Collecter alimentation, USB, réseau et console.
  3. Collecter les logs disponibles.
  4. Comparer l’état à un profil connu.
  5. Classer l’erreur → choisir une procédure autorisée.
  6. Vérifier la politique → exécuter → vérifier le résultat.
  7. Arrêter et escalader si le nombre de tentatives dépasse la limite.

13. Sécurité

Règle fondamentale : le LLM propose, la politique décide, l’outil exécute.

LLM → Tool Call → Policy Engine
                    ├─ identity check
                    ├─ device profile
                    ├─ action allowlist
                    ├─ risk level
                    ├─ rate limit
                    └─ approval requirement
                 → Tool Executor → Linux / Hub
ActionPolitique
Lire logs / lire étatAutomatique
Redémarrer serviceAutomatique si profil autorisé
RebootAutomatique si politique autorisée
Power cycleLimité et contrôlé
Modifier configurationAllowlist
Installer paquetPolitique + vérification
Flash firmwareAutorisation renforcée
Effacer stockageInterdit par défaut
Modifier bootloaderAutorisation renforcée

14. Ressources matérielles recommandées

ÉlémentPrototypeVersion finale
A — calculCarte smartphone 8 Go ARM6412–16 Go + NPU/GPU exploitable
Stockage AUFS interneUFS + externe USB/NVMe si supporté
B — MCURP2350 ou STM32H5STM32H7/H5 industriel
USB Hub4–6 ports6–12 ports
PowerSwitches protégésUSB-PD + eFuse + mesure par port
UART2–4 ports4+ ports
RéseauEthernet via USB-C2,5 GbE recommandé
WatchdogMCUMCU indépendant
Sensorscourant/tension/températurepar canal critique

15. Stratégie de sélection de la carte A

La meilleure carte n’est pas celle qui possède le plus grand SoC : privilégier le contrôle logiciel.

RangCritèrePourquoi
1Linux bootable et maintenableCondition de base
2Accès bootloader/kernelExploitation et recovery
3RAMMarge agent/LLM
4USB-C hostConnexion au Hub
5UARTRecovery bas niveau
6NPU/GPUAccélération IA
7DocumentationRéduit fortement le risque
8ConsommationAutonomie et thermique
9StockageModèles + logs + images
10FormeIntégration mécanique

16. Scénario complet : smartphone auxiliaire en erreur

  1. Hub détecte USB → 2. AIC identifie PHONE-01 → 3. Needle 2 sélectionne diagnose_device() → 4. Agent lit USB + UART + power → 5. LFM2.5 interprète les logs → 6. Policy Engine vérifie recovery → 7. Hub exécute reset contrôlé → 8. AIC attend heartbeat → 9. ADB/SSH disponible → 10. Health check → 11. Incident clôturé → 12. Rapport enregistré.

Si aucune récupération non destructive n’est disponible, le système s’arrête proprement et demande une intervention humaine selon la politique.

17. Ce qu’il faut absolument éviter

18. Projets open source à étudier

ProjetUtilité
Needle / Needle 2Tool calling très léger
Liquid AI LFM2.5LLM edge/mobile
llama.cppRuntime LLM généraliste
MCPStandard d’exposition des outils
GooseAgent terminal
OpenHandsAgent de développement (machine puissante)
LabgridAutomatisation et contrôle de matériel embarqué
uhubctlContrôle de ports USB compatibles
ADB/FastbootGestion Android
K3sCluster Kubernetes léger
Docker/containerdConteneurs
Prometheus/Grafana/LokiOption distante, pas obligatoire sur A

19. Variantes et positionnement

VarianteABPositionnement
Prototype ultra-compactCarte smartphone 8 GoHub 4 portsValidation agent/CLI
Prototype proCarte 12–16 Go + NPUHub 6–8 portsProduit fonctionnel
IndustrielCarte 16 Go documentéeHub 8–12+ portsFlotte / atelier
DistribuéPlusieurs AICPlusieurs Hubs EthernetInfrastructure multi-sites

20. Annexe — Spécification minimale du prototype

BlocMinimum viable technique
AICARM64, 8 Go RAM, Linux, USB-C
LLMNeedle 2 + LFM2.5 léger
AgentCLI + Tool Registry + MCP
SécuritéPolicy Engine local
HubMCU + USB + power + UART + watchdog
ConnexionUSB-C ou Ethernet
Cible1 à 4 appareils
MonitoringCLI /proc /sys /journalctl + Hub API
RecoveryReset + logs + console + power-cycle contrôlé
Stockage≥ 64 Go utile recommandé
RéseauWi-Fi + Ethernet via USB-C recommandé

21. Intégration dans TUTORIAD (les 4 CAS)

Le BISCUIT se greffe sur le hub de chaque cas existant — il ne remplace ni le cerveau ni le hub :

CASHub existantRôle du BISCUIT
CAS 1 — LattePandaHub USB 3.0 alimenté (rail 2)Ajoute diagnostic agentique + recovery auto sur les 5+3 ports
CAS 2 — PC récupéréDock/hub alimentéIdem ; l’AIC surveille WoL/PMM et déclenche les recovery
CAS 3 — Pi 5Hub USB 3.0 alimenté (rail 2)Idem, en gardant le Pi 5 comme control-plane k3s
CAS 4 — SmartphoneHub USB 3.0 alimenté (rail 2)Idem ; l’AIC complète l’ADB du cerveau par l’UART du Hub

Règle d’intégration : le BISCUIT est un périphérique du hub, pas un maître supplémentaire. Il expose son API (gRPC/REST) au dashboard et à node-control.sh. La sécurité électrique reste dans le MCU du Hub B, jamais dans le LLM.


📄 Source : dossier de conception BISCUIT V2 (août 2026).