Dasai Mochi listens, thinks, and chats using your AI key — OpenAI, Groq, Gemini, your pick. When you're not chatting, it just sits there being adorable. Flash it straight from this page. No Arduino IDE, no drivers.
Plug the ESP32-C3 into your computer with a USB-C cable, hit the button, pick the port, and watch it go. This installs the prebuilt firmware — afterwards the bot makes its own WiFi hotspot so you can enter your WiFi & AI key.
DasaiMochi-Setup hotspot & enter your keys.
After flashing: the bot reboots and creates a WiFi network called
DasaiMochi-Setup. Connect your phone or laptop to it, and a setup page
opens automatically where you choose your AI provider and paste your API key.
Everything is stored only on the device.
Tap any connection to highlight it on the board. These are the default pins in
config.h — easy to change if you wire it differently.
💡 The ESP32-C3-Zero hides GPIO 12–17 (used by onboard flash) and uses GPIO 9 = BOOT, GPIO 10 = onboard RGB LED. All audio/OLED pins below avoid those.
Everything is hobby-friendly and solderable on a small protoboard.
| Part | Role | Interface |
|---|---|---|
| Waveshare ESP32-C3-Zero | Brain + WiFi | — |
| SSD1306 0.96" OLED | The face & status | I2C |
| INMP441 mic | Hears you | I2S in |
| MAX98357A + 2W speaker | Talks back | I2S out |
| 3× TTP touch buttons | Talk / next face / mode | digital |
| LiPo + TP4056 charger | Portable power | 3.7V |
| Slide switch | On / off | — |
Push-to-talk to ask anything — time, weather, news, or random questions. It replies out loud.
Bring OpenAI, Groq, OpenRouter, Together, or Gemini. Switch any time in the setup page.
Left alone, Mochi blinks, looks around, and cycles goofy expressions. Toggle a pure face-toy mode.
No app. It hosts its own WiFi page to enter credentials — like setting up a smart bulb.
LiPo + charging module + slide switch. Pocket-sized companion that runs off a battery.
One clean Arduino sketch, parameterised faces, swappable pins. Fork it and make it yours.