Debuggy Ducky, I’m Awfully Fond of You
What's better than a ChatGPT-powered voice assistant? A ChatGPT-powered voice assistant built into an adorable rubber ducky, of course!
With ChatGPT having been released over a year ago, and the ChatGPT API following that with a release date this past spring, hackers have had plenty of time to create projects that leverage these tools. These projects commonly take the form of voice assistants that give the normally text-based interface a more natural feel. While there are some very interesting projects in this category, they tend to focus on function over form.
Getting the job done is, of course, of prime importance. But it is also important to have something that looks nice, and is worthy of a place on your desk or in your home. That is where Debuggy Ducky comes in. Designed primarily to be a ChatGPT-based voice assistant, this project by Addison Cahill Waller and Alexander Straub is not especially unique in terms of its capabilities. But this team built their device into a rubber ducky desk buddy that makes it an adorable diversion from the normal stresses of the day. They also included a few additional bells and whistles that make it well worth checking out.
Anyone that has spent any amount of time writing software knows how frustrating it can be at times. The device was born out of this frustration, with its main purpose being to answer coding questions, hence the name Debuggy Ducky. By touching a pair of buttons on the duck’s body, this action is kicked off. It follows a similar pattern to past projects — record the user’s request with a microphone, use a speech-to-text service to convert it to text, send the text to the ChatGPT API, send that result to a text-to-speech service, and finally, play the resulting audio over a speaker.
Inside the rubber ducky is a Raspberry Pi 4 single board computer to provide the needed computational resources. Capacitive touch sensors are affixed to the body to collect inputs that determine the function to run, and some LEDs provide information about the device’s status. In a very nice touch, the head was attached to a servo to allow it to swivel and seem a bit more lifelike. The design of Debuggy Ducky was topped off with a red ribbon around the neck to help you forget that the duck was decapitated to stuff the electronics inside.
In addition to chatting, Debuggy Ducky also has a recording feature. After pressing the correct button combination, the device will record the user’s voice and automatically upload the resulting audio file to their Google Drive. A Pomodoro Timer mode was also built into Debuggy Ducky to help the owner to work efficiently, and maintain a healthy balance between work and rest.
The components are fairly inexpensive, and the build could be completed even by a beginner hobbyist with the help of Waller and Straub’s guide. The team used a breadboard, so no soldering is required, and the source code — written in Python — is available for download. Be sure to check this one out for a fun weekend project.