Wally is a fun, reliable voice assistant in the shape of a penguin. It is designed to mainly help users with reminders, but can also assist in anything from productivity, to daily conversations, to emotional support.
Note
This will soon be available for purchase here. Give it a star to stay tuned for updates!
I just keep forgetting stuff. A lot of people around me have the same issue as well, I’ve noticed. It’s annoying to the point where it drives people crazy. As a competitive swimmer, after the nth time of forgetting to bring my electrolyte drink or swim gear to practice, I decided to build a tool to remind myself.
Wally is designed to have all the normal functionalities of an AI assistant, while also being intentionally interesting in appearance. This is what separates it from other reminder assistants out there. I find that a cute, fun-to-use device creates a better impression on users, meaning you’re more likely to remember to ask it for help and actually listen to its reminders.
After four months, I completed my first prototype and gave a few to friends at school to test out. It turned out that all of them absolutely loved using it and urged me to make it public. So here it is.
These are some ways my family and friends used Wally:
| Scenario | Usage |
|---|---|
| School | Quick essentials check before school day |
| Practice | Confirm practice gear before/after training |
| Travel | Final packing check during trips |
-
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 (although it’s Mandarin accent might sound strange at the moment)
-
Real-Time Streaming Responses: Instant replies from XiaoZhi-powered Qwen LLM backend
-
OLED/Display Feedback: On-screen visualization of detected user speech and system replies.
-
Small and Portable: Simple, miniature form that is easy to place or carry around.
-
Adorable and Fun To Use: Intentionally cute penguin design, child-like voice, and on-screen interactive emojis.
Watch on Youtube or download it here.
-
Powered by: XiaoZhi cloud + ESP32 firmware
-
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
-
Rebranded from Penguin Pi to Wally.
-
Updated wake words to “Hi Wally” or “Hi Wall-E”.
-
Complete redesign with a new smaller and more portable penguin shell
-
Switched to new ESP32 board with improved hardware modules via XiaoZhi.
-
Added LLM connectivity for real conversational AI.
-
Migrated core codebase from Python to C++.
-
Original project name: Penguin Pi
-
Built using an Arduino board and programmed entirely in Python via Mind+.
-
Built-in responses for predefined scenarios.
-
Used an infrared distance sensor to detect presence and wake up.
-
Original wake word: “Xiao Pai, Xiao Pai”.
-
Early hardware limitations (microphone and speaker may be unstable).
-
Turn on Wally: Flip the switch on Wally’s back to power it on.
-
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.”
-
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. -
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.)
-
You’re All Set!: Once configuration is complete, follow the next set of instructions to start using Wally.
Important
Only follow the below instructions once network configuration has been completed.
- Say “Hi, Wally” to wake Wally up.
- Start chatting with Wally.
- Say any form of goodbye you like to shut Wally down.
Tip
To personalize your experience, it is recommended to share details about your belongings for Wally to remember. This information is saved temporarily in Wally’s memory and can be cleared any time by asking.
Special thanks to:
Contributions are welcome. Feel free to open issues and pull requests.
This project is licensed under the MIT License.




