Project Overview
Core Platform: AiPi-PalChatV2 development board
Lightning-fast response: Wake word detected in <1s — instant “I’m here!” reply
Portable & Rechargeable: Built-in 500mAh Li-ion battery (replaceable), Type-C fast charging — fully charged in 1 hour!
1.69” Color Display: 240×280 ultra-clear screen showing battery, icons, and feedback at a glance
Cloud Smart AI: Connected to “XiaoZhi AI” — supports MCP, real-time dialogue, and icon updates. The more you use it, the smarter it gets — your desktop assistant grows with you!
Hardware List
Module Model
Dev Board Ai-Thinker AiPi-PalChatV2
Display 1.69" TFT color screen
Microphone Built-in MIC
Speaker 3W 4Ω (purchased separately)
Power Type-C / Li-ion battery
Case 3D printed
- Replaced emojis and icons
- Added battery level detection and display
File adjustments:
In lcd_display.c, you can find emotion states and replace icons with your favorites.
Emotion images are stored in the images folder; generate new arrays with GUI-Guider and replace them to update visuals.
I sourced the icons from Ali Gallery.
Since I switched to landscape mode, I adjusted display coordinates in setup_scr_screen.c for better layout.
Added a battery indicator in custom.c: includes battery icon drawing, voltage reading, and level display updates (checked once per minute).
Shell Design (via Fusion360)
- Front shell → openings for speaker, screen, buttons, mic; two screw holes to secure the PCB.
- Back cover → snap-fit with the front, camera hole reserved.
- Buttons → all 3D printed.
- Logo → added the words “Xiao An” for decoration.
Assembly
Only two 1.4mm screws are needed to secure the PCB.
Speaker and mic snap into place; the battery can be taped or glued.
While the battery and speaker might affect antenna strength slightly, it’s totally fine for DIY use — tested and verified
Snap the back cover into the front shell and align the camera in place.
Project Files (Free to Download!)
File Content
3D Printing (.step) See attachment
Source Code See attachment
Firmware See attachment
Demo Commands
“Hi, Xiao An” → Wake up
“What’s the weather today?” → Weather query
Custom MCP: “Set volume to 50” → Adjust volume
Custom MCP: “Turn on the light” → Light on
“Play music” → AI plays tunes
“Chat” → AI conversation
“Exit” → End current session
Conclusion
From code and 3D design to assembly and finishing touches — each step reveals something new to improve.
DIY isn’t just about the final product or prizes; it’s about the journey and the lessons learned along the way.
Code can be updated, shells can be redesigned, but the “mistakes you fixed yourself” — those are the real rewards.
Ai-Thinker
Dominic Buchstaller
theogene
sjm4306
Max.K