Arduino based DIY Talking Pet Buttons (Cats, Dogs,...) - easy custom voice samples! 3D Printer File Image 1
Arduino based DIY Talking Pet Buttons (Cats, Dogs,...) - easy custom voice samples! 3D Printer File Image 2
Arduino based DIY Talking Pet Buttons (Cats, Dogs,...) - easy custom voice samples! 3D Printer File Image 3
Arduino based DIY Talking Pet Buttons (Cats, Dogs,...) - easy custom voice samples! 3D Printer File Image 4
Arduino based DIY Talking Pet Buttons (Cats, Dogs,...) - easy custom voice samples! 3D Printer File Image 5
Arduino based DIY Talking Pet Buttons (Cats, Dogs,...) - easy custom voice samples! 3D Printer File Thumbnail 1
Arduino based DIY Talking Pet Buttons (Cats, Dogs,...) - easy custom voice samples! 3D Printer File Thumbnail 2
Arduino based DIY Talking Pet Buttons (Cats, Dogs,...) - easy custom voice samples! 3D Printer File Thumbnail 3
Arduino based DIY Talking Pet Buttons (Cats, Dogs,...) - easy custom voice samples! 3D Printer File Thumbnail 4
Arduino based DIY Talking Pet Buttons (Cats, Dogs,...) - easy custom voice samples! 3D Printer File Thumbnail 5

Arduino based DIY Talking Pet Buttons (Cats, Dogs,...) - easy custom voice samples!

Tobias Stanzel avatarTobias Stanzel

March 27, 2025

printables-icon

Description

Description

Ever wanted to know what your pet wants to tell you? 

This won't solve it! But still can spark some joy and fun!

An Arduino-based DIY version of Talking Pet buttons! 

It's easy to build and add customized sound samples to use your custom commands in your language and voice!

Update 27.03.2025

  • Custom PCB tested and info added

Functions

Buttons are designed to be used by your pet, which does not mean they only work for them ;)

Plays 3 different sound samples out of the box

  • I want to go for a walk
  • I want to play
  • I am hungry

Available in English and German, it is super easy to add your custom samples! By adding them to the SDCard (see details below!).

Hardware and Software

Bill of material
 

AmountItemLink to AmazonAliExpressInfo
1Arduino Nano Amazon  
1Speaker Amazon  
1DFRobot DFPlayer_Mini Amazon Info
11k ResistorAmazon  
1SDCardAmazon  
3ButtonsAmazon  
3Springs (3/8"x3/4" or 9.5mm x 19mmAmazon  
12M3x5x4 heat-inserts or super glue Amazon  
12M3x8 screws or super glueAmazon  
multipleWires / maybe some heat shrink   

Equipment

  • Soldering Iron 
  • Crimping Tools (PCB version)
  • 3D Printer ;)

 

Software / Firmware

Arduino IDE, Fusion 360,  EasyEda and Fritzing

Upload sound samples to an SD card

 

You need to prepare an SD card formatted with FAT32 and copy the content of the “samples.zip” file to it.

The content of the card should look like this:

\01\001.mp3
\01\002.mp3
\01\003.mp3
\02\001.mp3
\02\002.mp3
\02\003.mp3

 

The software supports up to 9 buttons, but only 3 are currently used here. So, if you want to add your custom sounds, you would only need to replace the 3 files in the “01” folder with mp3s of your choice; they need to keep the name, though: “001.mp3,. ..”

Attention Mac users! You might add more files than you think, so clean the “._”  files on the card!

if you want to use German commands, copy the content from folder 002 to 001, and the talking buttons speak German!

Upload the Sketch with Arduino IDE

Open the sketch “sketch_my_pet_talks.ino”

 

Select the correct board and processor:

Board: Arduino Nano 

Processor: ATmega328P (Old Bootloader), depends on the board version you get!
 

My board used:  (Old Bootloader)

Use the “Library Manager” to install the following Dependencies

Connect your Arduino Nano and select the correct port.

You can change the volume and folder to load the sound samples. 

See details above.

 

Hit “Upload” now.

That's it. The firmware has now been uploaded!

You can check the logs with the Serial Monitor, which should output something like this if a SD card is inserted and files can be found:

If not, check your SDCard!

Wiring Diagram

 

 

Printing Instructions

Print all files in 0.20 mm and PLA, 

TalkingPetDIY_ButtonBottom - print 3 times

TalkingPetDIY_ButtonTop - print 3 times - different colors recommended! For better "petablitiy" 

TalkingPetDIY_ButtonRing - print 3 times

TalkingPetDIY_SpeakerTop - print with supports. See the example image below.

For all other files, print them one time.

Assembly Instructions

 

Add heat inserts to the following printed parts

TalkingPetDIY_SpeakerTop -  4 heat inserts for the speaker

TalkingPetDIY_3ButtonsBottom -  8 heat inserts, 6 for the top, 2 for the speaker case

TalkingPetDIY_SpeakerBottom -  4 heat inserts  (only needed for PCB version!) 

Prepare Buttons

1st, we prepare the 3 buttons and only solder some wires to the two pins shown; I am using one shorter wire for the ground, as I will combine this into one wire.

For each button, we will need 3 printed files and one spring and assemble them like this:

Repeat this step 2 more times. We want 3 Buttons!

Place the Buttons on their Button holder (wires through holes), do not put the Ring on at this point; we will screw down the buttons later! 

I combined the ground into one wire for all the buttons.

Close the Button holder and use 6 M3x8 screws to mount the buttons!

Make sure you remember which wire is BTN A, B, C, and GND 

(Option B) Using super glue, you can glue the buttons to the button holder.

 

Prepare Electronics

 

Connect the Arduino Nano to the df player mini and the speaker. 

I used soldering only with wires and heat shrink here. A small breadboard or prototype board might also fit into the case.

Insert the SD Card into the DF Player Mini and put the speaker and electronics into the Speaker Case (everything through the speaker hole). Screw the speaker into the case (M3x8)

Join the Speaker Case and 3-button holder

Screw the speaker case to the three-button holder.

Connect Buttons to Arduino Nano 

Now we can connect the 3 buttons; one connection of each button goes from D4 to D6, and the other connects to Ground. I recommend “combining the ground” before connecting to the Arduino.

 

I recommend using some hot glue to “mount” the 
Arduino and the DF Player mini in the case.

Finally, add a USB cable and close the speaker case.

Final Steps


Add the button top parts and rings now. It's done!

 

 

Demo and Usage Instructions

Just plug the USB into a USB Power Adapter and start hitting the Buttons for fun! Or better teach your pets how to use them ;)

 

See demo video at top!

 

Custom PCB

Custom PCB is tested! 

It supports up to 9 buttons, but otherwise is the same as the breadboard / soldering-only solution above.

Prepare PCB

Prepare buttons like above, but add the JST plug

 

 

Bill of material

In addition to the Bill of Material above, for the custom PCB version, we need:

  • 1-3 x JST XH 2.5 4 PIN (male and female)  (buttons, one pair for 3 buttons)
  • 1 x JST XH 2.5 2 PIN (male and female) or JST PH 2.0 2 PIN (speaker)
  • Custom  PCB
  • 4 heat inserts M3x4x4 + 4 x M3x5/6 screws

 

The PCB connects the Arduino to the DF Player mini and the speaker and buttons via JST connectors. 

So this step in the assembly guide changes + using a Crimping Tool to add the connectors and adding four heat inserts and screws to mount the PCB into the bottom of the Speaker Case. 

 

 

Breadboard version