Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
E

esp-brookesia

> 编程语言
Open source

ESP-Brookesia is a human-machine interaction development framework designed for AIoT devices.

754 stars0 likes2 views
WebsiteGitHub

About

ESP-Brookesia is a human-machine interaction development framework designed for AIoT devices.

ESP-Brookesia

  • 中文版本

Overview

ESP-Brookesia is a full-stack development platform for AIoT and HMI products. It organizes hardware abstraction, service framework, runtimes, GUI, system framework, app components, and AI capabilities as ESP-IDF components so products can compose and reuse platform capabilities as needed.

[!NOTE] Brookesia is a genus of chameleons known for small form factors and strong adaptability. ESP-Brookesia uses this image to emphasize that the framework can adapt to different hardware forms, interaction surfaces, and product systems.

Main Architecture Layers

  • Hardware Abstraction: hides platform and hardware differences, unifies device access, and supports ESP devices and PC simulation.
  • Service Framework: unifies service registration, function calls, event publish/subscribe, and MCP / Agent capability connections.
  • Runtime and GUI: supports multi-runtime apps and the JSON UI-driven GUI model.
  • System Framework: provides the product-level system framework that integrates GUI, Runtime, services, and app lifecycle.
  • App Ecosystem: covers third-party app supply, upload and publish, device-side distribution, and installation.

Main Architecture Features

  • Hardware Decoupling: HAL and PC simulation reduce the impact of hardware differences on upper-layer apps and systems.
  • App Development Efficiency: service-based design, multi-runtime support, and declarative GUI improve app development and validation efficiency.
  • Productization and Ecosystem: the system and app frameworks combine with the app-store mechanism to support scalable product delivery.
  • AI-Assisted Development Loop: AI Workflow and PC Validation form a development validation loop. Developers review, tune, and supplement the result to generate a publishable app.
  • Publishing and Distribution Flow: apps can move through Upload & Publish, App Store, and Device Runtime to complete publishing, discovery, download, installation, and execution.

ESP-Brookesia Versioning

From v0.7, ESP-Brookesia is componentized. Projects are recommended to obtain required components through the component registry. The conventions are:

  1. Components evolve independently but share the same major.minor version and depend on the same ESP-IDF release.
  2. The release branch maintains historical stable versions and only fixes bugs and security issues.
  3. The master branch continuously integrates new features and may contain functionality that has not stabilized yet.
ESP-Brookesia ESP-IDF Main changes Status
master (v0.8) ESP32-S31: 6.2
Others: >= 6.0, = 5.5, = 5.3, [!NOTE]

PC simulation support is provided by hal/brookesia_hal_linux and hal/brookesia_hal_wasm in this repository for Linux host, CI, and WebAssembly/Web demo scenarios.

Service Components

Service Framework

Component Description Version
brookesia_service_manager Service manager providing plugin lifecycle, function routing, event publish/subscribe, and local calls
brookesia_service_helper Service helper library providing type-safe schemas, helper calls, and unified service access interfaces
brookesia_service_custom Custom service extension template for product-specific capabilities based on the Brookesia service framework

Network Services

Component Description Version
brookesia_service_http HTTP service providing HTTP/HTTPS client requests, resource limits, and request lifecycle events
brookesia_service_sntp SNTP service providing NTP server management, timezone settings, and automatic time synchronization
brookesia_service_wifi Wi-Fi service providing state-machine management, AP scan, connection management, and SoftAP functionality

Media Services

Component Description Version
brookesia_service_audio Audio service providing playback, codec, volume control, and playback state management
brookesia_service_video Video service supporting local capture encoding and compressed stream decoding to pixel formats
brookesia_service_display Display service wrapping display input, gestures, and display-related system capabilities

System Services

Component Description Version
brookesia_service_storage Storage service providing namespace-based key-value storage management
brookesia_service_device Device service providing app-layer access to device control, status query, and protocol interfaces

Agent and Expression Services

Component Description Version
brookesia_agent_manager Agent manager providing AI agent lifecycle, state machine, and unified operation interfaces
brookesia_agent_coze Coze agent adapter providing Coze API integration, WebSocket communication, and agent management
brookesia_agent_openai OpenAI agent adapter providing OpenAI API integration and agent management
brookesia_agent_xiaozhi XiaoZhi agent adapter providing XiaoZhi API integration
brookesia_expression_emote AI emote and animation management for visual feedback in anthropomorphic interactions

Emulation Services

Component Description Version
brookesia_emulation_nes NES emulation service integrating display, audio, storage, and gamepad control

GUI Components (GUI)

Component Description Version
brookesia_gui_interface GUI interface layer defining JSON UI document model, runtime resources, action binding, and backend contracts
brookesia_gui_lvgl LVGL backend mapping resolved GUI documents to LVGL objects and handling events, animations, and image resources

Runtime Components (Runtime)

Component Description Version
brookesia_runtime_manager Runtime manager for dynamic app packages, runtime backend registration, and app context management
brookesia_runtime_elf ELF runtime backend
brookesia_runtime_js JavaScript runtime backend
brookesia_runtime_lua Lua runtime backend
brookesia_runtime_wasm WebAssembly runtime backend

System and App Components (System & App)

Component Description Version
brookesia_system_core System core framework orchestrating app lifecycle, GUI, Runtime, services, storage, and permission boundaries
brookesia_system_super Standard system for rectangular touch devices with Shell, launcher, overlay, status bar, and built-in resource flow
brookesia_app_files Files app providing a device-side file browser entry
brookesia_app_settings Settings app providing device and system configuration entry
brookesia_app_store App Store component providing local and remote app package entries

Getting the Repository

If you would like to contribute to ESP-Brookesia or build on the examples in this repository, you can get the master branch with the following command:

bash
git clone https://github.com/espressif/esp-brookesia

Contribution Guidelines

We currently welc

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C++

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言