wally-c icon indicating copy to clipboard operation
wally-c copied to clipboard

A portable and cute voice assistant built on ESP32, designed to help users with reminders, productivity, and daily conversations.

Wally

A bilingual voice-powered AI companion, built using XiaoZhi’s intelligent assistant platform.

English | 中文 | 日本語

Overview

Wally is a warm, reliable voice assistant in the shape of a penguin. It is designed to help users with reminders, but can also assist in productivity, daily conversations, and emotional support.

[!NOTE] Wally is currently a prototype and not yet available for purchase, public use or distribution. Stay tuned for updates!

Core Features

  • Voice Wake-Up: Wake word: "Hi, Wally" or "Hi Wall-E" triggers Wally to start listening and responding

  • Bilingual Voice Chat: Fluent interaction in both English and Mandarin

  • Real-Time Streaming Responses: Instant replies from XiaoZhi-powered LLM backend (Qwen, Deepseek etc)

  • OLED/Display Feedback: On-screen reply visualization with various emojis for interaction

Demo

3D Design

Wally 3D Design in Tinkercad

Internal Structure

Wally Internal Design Front Wally Internal Design Back

Actual Usage Scenarios

Wally Conversing with User in English Wally Conversing with User in Chinse

Demonstration Video

Watch on Youtube or download it (view raw) here.

Technical Overview

  • Powered by: XiaoZhi cloud + ESP32 firmware

  • Board + Framework: ESP32 and ESP-IDF

  • Backend: Uses XiaoZhi’s LLM (Qwen, Deepseek, etc) response system

  • Frontend: Device firmware via XiaoZhi flashing tools and preset images

  • Wake Word Engine: ESP-SR based offline recognition

  • Voice Synthesis: TTS via Volcano Engine or CosyVoice

  • Outer Shell: Designed in Tinkercad and 3D printed via Bambu Lab P1

Network Configuration (Setup)

  1. Turn on Wally: Flip the switch on Wally’s back to power it on.

  2. Enter Configuration Mode: Remove Wally’s head to access the internal board. On the back of the board, locate the round button next to the white battery stand. Press that button and the one labeled “B” at the same time. Wally will report: “Entering network configuration mode.”

  3. Connect to Wally’s Setup Network: On your phone or laptop, connect to the Wi-Fi network named Xiaozhi. A configuration webpage should automatically open. If it doesn’t, open your browser and go to the address displayed on Wally’s screen.

  4. Enter Your Wi-Fi Details: On the setup page, input your Wi-Fi network’s name (SSID) and password. (You can choose to remember this network for future use.)

  5. You're All Set!: Once configuration is complete, follow the next set of instructions to start using Wally.

Getting Started

[!IMPORTANT] Only follow the below instructions once network configuration has been completed.

  1. Say "Hi, Wally" to wake Wally up.
  2. Start chatting with Wally.
  3. Say any form of goodbye you like to shut Wally down.

Acknowledgements

Special thanks to:

Contributions

Let's make Wally better! Feel free to open issues and pull requests.

License

This project is licensed under the MIT License.


Made with 💙 by July. If you find this project cool or helpful, please give it a star!