# Dan Wahlin builds a Waveshare ESP32 face for his AI agent

The desk device shows idle, working, needs-a-decision, and done. Wahlin used Copilot CLI to create several animations and a web-based character studio, and published the project as esp32-agent-companion.

Language: en
Time zone: America/Los_Angeles
Current time (UTC, cached as of): 2026-11-10T07:01:00.000Z
Query date (America/Los_Angeles): 2026-11-09

HTML: https://didcodexreset.com/news/d32f7a50e0d14ef8a1a315a7.html

Content language: en
Localization state: sameLanguage

Source: Dan Wahlin · Published 9/22/2026, 12:44:18

Dan Wahlin’s AI agent now has a physical face: a Waveshare ESP32 on his desk. It shows four states: idle, working, needs a decision, and done.

He pointed Copilot CLI at a photo of the device and got blink, look-around, tap, sleep, and hook-driven states. A web-based character studio lets him adjust animations without flashing firmware after each change. The project is in the [esp32-agent-companion repository](https://github.com/danwahlin/esp32-agent-companion).

Tags: AI agents, ESP32, Copilot CLI, Open source

[View original post](https://x.com/DanWahlin/status/2102427705954451598)
