Area: Embedded and IoT
Problem: The concept needed a handheld device that could hold an AI chat conversation on a touchscreen, connect over WebSocket, and switch between AI backends without new firmware. No device on the market did all three.
Approach: We architected the system around a CYD ESP32 display with an LVGL touchscreen interface and a Python asyncio WebSocket server. The agent runtime is pluggable: Direct LLM, the Hermes agent bridge, or a custom tool-based agent.
Technical details:
- CYD ESP32-2432S028R display with the LVGL UI framework
- Python asyncio WebSocket server with connection management
- Pluggable agent runtime: Direct LLM, Hermes bridge, tool-based agents
- Streaming token display with card rendering
- Conversation history and context held in state
- WiFi with automatic reconnection
Outcome: The concept went from whiteboard to working prototype with a documented build specification. A new AI backend is a new module on the server, with no firmware change.
Stack: Python asyncio, ESP32-2432S028R, LVGL, Arduino/PlatformIO, WebSocket
Sandboxed plugin ran for projects/esp32-ai-terminal and read “ESP32 AI Terminal” through the mediated API.