Project detail

Kirby Companion

A custom interactive Kirby desktop companion.

Electrical

2 weeks

Personal

Overview

For a personal project, I wanted to build a custom, interactive desktop companion as a gift for my girlfriend. I decided to design a device shaped like Kirby that functions as a smart display.

The goal was to create a polished, standalone device capable of displaying the time and weather, managing alarms and timers, and even playing a built-in minigame. To keep the exterior design clean and seamless, I opted for a fully touch-driven interface, eliminating the need for bulky physical buttons on the 3D-printed enclosure.

System Overview

The brain of the project is a Waveshare ESP32-S3 development board with an integrated 2-inch capacitive touch screen. The ESP32-S3 handles the graphical user interface, touch processing, and Wi-Fi connectivity.

To allow the device to make sounds, I integrated a MAX98357 I2S DAC Class D amplifier paired with two Gikfun 40mm 40-ohm speakers. This allowed the microcontroller to output high-quality digital audio for alarms, UI sound effects, and music playback.

Mechanical Design

I designed the custom enclosure from scratch using Autodesk Fusion. The internal cavity was carefully modeled to securely mount the Waveshare display and speakers flush with the surface, while allowing routing for the ESP32, amplifier, and speaker.

To minimize manufacturing costs, I 3D printed the chassis using pink PLA, and then hand-painted the feet red and applied paper decals for the eyes to complete the look.

Firmware

For the user interface, I developed a touch-responsive GUI to navigate between the clock, weather, stopwatch, and minigame screens. I utilized the ESP32-S3’s onboard Wi-Fi to fetch real-time weather data via REST APIs and synchronize the system clock using NTP. To add GUI sounds and an alarm, I configured the I2S serial bus to stream digital audio data directly from the ESP32 to the MAX98357 DAC, ensuring crisp sound for alarms and music without tying up CPU cycles.

Results

I successfully designed, fabricated, and programmed the entire device within a tight two-week timeline, utilizing CMU's Spring Carnival break to finalize the CAD and order parts, followed by a rapid assembly and software integration phase. The result was a highly personalized, fully functional embedded system that seamlessly combined mechanical design, IoT software, and digital audio into a fun, polished product.


Mettalic shape background image

Contact

Want to say hello?

Mettalic shape background image

Contact

Want to say hello?

Mettalic shape background image

Contact

Want to say hello?