The PupArdrino Doggy Talker - Talk Box for your Pet - Arduino Project 3D Printer File Image 1
The PupArdrino Doggy Talker - Talk Box for your Pet - Arduino Project 3D Printer File Image 2
The PupArdrino Doggy Talker - Talk Box for your Pet - Arduino Project 3D Printer File Image 3
The PupArdrino Doggy Talker - Talk Box for your Pet - Arduino Project 3D Printer File Image 4
The PupArdrino Doggy Talker - Talk Box for your Pet - Arduino Project 3D Printer File Image 5
The PupArdrino Doggy Talker - Talk Box for your Pet - Arduino Project 3D Printer File Image 6
The PupArdrino Doggy Talker - Talk Box for your Pet - Arduino Project 3D Printer File Image 7
The PupArdrino Doggy Talker - Talk Box for your Pet - Arduino Project 3D Printer File Image 8
The PupArdrino Doggy Talker - Talk Box for your Pet - Arduino Project 3D Printer File Image 9
The PupArdrino Doggy Talker - Talk Box for your Pet - Arduino Project 3D Printer File Thumbnail 1
The PupArdrino Doggy Talker - Talk Box for your Pet - Arduino Project 3D Printer File Thumbnail 2
The PupArdrino Doggy Talker - Talk Box for your Pet - Arduino Project 3D Printer File Thumbnail 3
The PupArdrino Doggy Talker - Talk Box for your Pet - Arduino Project 3D Printer File Thumbnail 4
The PupArdrino Doggy Talker - Talk Box for your Pet - Arduino Project 3D Printer File Thumbnail 5
The PupArdrino Doggy Talker - Talk Box for your Pet - Arduino Project 3D Printer File Thumbnail 6
The PupArdrino Doggy Talker - Talk Box for your Pet - Arduino Project 3D Printer File Thumbnail 7
The PupArdrino Doggy Talker - Talk Box for your Pet - Arduino Project 3D Printer File Thumbnail 8
The PupArdrino Doggy Talker - Talk Box for your Pet - Arduino Project 3D Printer File Thumbnail 9

The PupArdrino Doggy Talker - Talk Box for your Pet - Arduino Project

Vagus avatarVagus

March 24, 2025

printables-icon

Description

The PupArdrino Doggy Talker – Give Your Pup a Voice!

 

Description

What if your dog could tell you exactly what they wanted? That’s the idea behind The PupArdrino Doggy Talker —a fun and interactive way for pets to "speak" using buttons! Originally, this design started as a MIDI foot controller for my DAW (Digital Audio Workstation), allowing hands-free control of Record, Stop, Rewind, and Loop while playing guitar or piano. But when I saw the Smart Pet Gadgets with Arduino contest, I knew I had to teach an old controller new tricks!

I transformed the project into a self-contained Doggy Talker, swapping out MIDI functionality for an Arduino-controlled MP3 system that plays words or phrases when a button is pressed. My pup may not be composing symphonies, but she sure has mastered the "Treat" button! While she definitely understands the others, it turns out snacks are her top priority.

 

Functions:

🐾 Button-Activated Speech – Each arcade button triggers a word or phrase to help pets communicate.
🔊 Built-in MP3 Playback – No need for a computer; the system plays sounds independently.
🎨 Customizable Soundboard – Easily change phrases to fit your dog’s needs.
🔌 Compact & Portable – Small enough to fit anywhere in your home.

 

Hardware


60mm LED Arcade Buttons 60mm Push Button LED Arcade Buttons
Mini Loudspeakers Mini Loudspeakers 
Arduino Nano or Arduino Pro Micro Arduino Nano or Arduino Pro Micro 
Mini MP3 Player Module for Arduino Mini Mp3 Player for Arduino 
Heat inserts. M3x4 screw inserts
✔ Machine Screws. M3 Machine Screws
🔧 Wiring  Wiring 18 Gauge - 20 Gauge
🔧 Soldering Iron or Station - Cheap Soldering Kit - My Soldering Station
 

Software:


🛠 Arduino IDE for coding
🎵 Audio files processed for clear playback

 

Wiring Diagram

 

A simple circuit connects the buttons to the Arduino and MP3 module, allowing each button press to play a pre-recorded phrase.

 

Arduino Wiring

Buttons: Connected to pins 2, 3, 4, 5 with pull-down resistors

LEDs: Connected to pins 6, 7, 8, 9

DFPlayer Mini:

VCC → 5V

GND → GND

TX → Arduino RX (Pin 10)

RX → Arduino TX (Pin 11)

SPK1 & SPK2 → Speakers

MicroSD: Stores MP3 files (named 0001.mp3, 0002.mp3, etc.)


Code


#include <SoftwareSerial.h>
#include <DFRobotDFPlayerMini.h>

// Define Serial for DFPlayer
SoftwareSerial mySerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;

// Define Button and LED Pins
const int buttonPins[4] = {2, 3, 4, 5};
const int ledPins[4] = {6, 7, 8, 9};

// Track if a sound is playing
bool soundPlaying = false;
unsigned long soundEndTime = 0;
int currentPlaying = -1; // Track which sound is playing

void setup() {
    Serial.begin(115200);
    mySerial.begin(9600);
    
    if (!myDFPlayer.begin(mySerial)) {
        Serial.println("DFPlayer Mini not detected!");
        while (true);
    }
    
    myDFPlayer.volume(20); // Set volume (0-30)

    for (int i = 0; i < 4; i++) {
        pinMode(buttonPins[i], INPUT_PULLDOWN);
        pinMode(ledPins[i], OUTPUT);
        digitalWrite(ledPins[i], LOW);
    }
}

void loop() {
    unsigned long currentTime = millis();
    
    // Check if sound is playing
    if (soundPlaying && currentTime >= soundEndTime) {
        digitalWrite(ledPins[currentPlaying], LOW);
        soundPlaying = false;
        currentPlaying = -1;
    }

    // Check each button
    for (int i = 0; i < 4; i++) {
        if (digitalRead(buttonPins[i]) == HIGH && !soundPlaying) {
            playSound(i);
        }
    }
}

void playSound(int index) {
    myDFPlayer.play(index + 1); // Play MP3 file (1-based index)
    digitalWrite(ledPins[index], HIGH);
    soundPlaying = true;
    currentPlaying = index;
    
    // Estimate sound duration (adjust based on actual MP3 length)
    soundEndTime = millis() + 2000; // Example: 2 sec duration
}

How It Works

1 Press a Button → Triggers the corresponding MP3 file
2 LED Lights Up → Stays on for the duration of the sound
3 Sound Stops → LED turns off, system resets for next press

🎵 MP3 Files should be named:

0001.mp3 (Button 1)

0002.mp3 (Button 2)

0003.mp3 (Button 3)

0004.mp3 (Button 4)

🚀 Ready to build? Upload this to your Arduino, and watch your pup start "talking"! 🐶🔊

 

I've Added a Zip file containing Male and Female AI voices saying “Let's Walk” “Play Fetch” GO Outside" and “Treat”  to get you started. 

There are a few free AI voice text to speech apps you can play with to find the perfect voice for your puppy - https://ttsmaker.com/ and http://aws.amazon.com/polly/ are the best totally free options in my opinion - but there a lot of paid versions that sound amazing. 

 

Printing Instructions

For a custom button housing:
🖨 Material: PLA or PETG
📏 Layer Height: 0.2 mm
📦 Infill: 20%
🔧 Supports: No

Assembly Instructions

1 Wire the arcade buttons to the Arduino and MP3 module.
2 Load pre-recorded words or phrases onto the MP3 module’s microSD card.
3 Upload the Arduino code.
4 Test each button to ensure your dog’s "voice" is ready to go!

Demo & Usage

Place the buttons in front of your dog and encourage them to press them. Reinforce learning by rewarding correct usage. Over time, they’ll associate words with actions—just like my pup did (or at least, she thinks all actions lead to treats).

Additional Notes & Tips

🐶 Start with 1-2 buttons before adding more.
🔊 Use clear, consistent phrases so your dog learns faster.
🔧 Try different button heights for easier paw access.

Photos & Videos