Skip to content
All projects
AIEmbeddedIoT

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
Wanas cover
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.

INMP441 micI2STTP223 touchGPIOESP32-S3C/C++ firmwareGemini APIintent detectionIntent → actiondevice responseGC9A01 displaySPIMAX98357A ampI2S → speaker

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.