Wanas
An ESP32-S3 desk assistant that turns voice and touch into actions through the Gemini API
- Year
- 2026
- Status
- Prototype
- Role
- Solo — hardware, firmware and LLM integration
- Stack
- C/C++ · ESP32-S3 · Gemini API · Python · SPI · I2S · Wi-Fi

- Peripherals
- 4
- I2S ports
- 2
- Supply rails
- 3.3 V + 5 V
Problem
I wanted a desk companion that understands plain speech instead of fixed commands, and answers with sound and a face on a small screen. The catch: it had to run on a microcontroller, inside its memory and timing limits, with the language understanding happening in the cloud.
Approach
Voice and touch come in on an ESP32-S3. The request goes over Wi-Fi to the Gemini API (HTTPS/REST), which detects the intent of the natural-language command; each detected intent maps to a device response or action.
The hardware is four peripherals around the ESP32-S3: a GC9A01 round display on SPI, an INMP441 MEMS microphone and a MAX98357A Class-D amplifier on two separate I2S ports, and a TTP223 touch sensor. I calculated the 3.3 V / 5 V power budget, added capacitors to stop Wi-Fi brownout resets, and documented the wiring map.
Result
A working desk device that responds to natural-language commands with sound and an animated face, handling sensor input, Wi-Fi communication and response latency within the board's memory and timing constraints.
