Feasibility of a See-and-Say Type of Toy (for a Parrot!)

First post here. IT professional and computer enthusiast here, looking to learn if my project is feasible. Have some experience soldering board kits in college, but found it to be missing something for me. Anyway...

For years, I've wanted an electronic See-and-Say type of toy for my parrot. Such a device doesn't seem to exist commercially, so I'll have to build my own. That is, I'd like to build an array of colorful buttons and small speaker in a rugged housing. When each of the buttons is pressed, a different sound plays. I'd like to be able to update or replace the sounds at will.

Is Arduino a platform that would be well-suited to this type of application? If so, please recommend equipment or reading to start me in the right direction. If not, please advise what a better platform would be.

What sort of sounds? Beeps, simple tunes, or something more complex?

Ideally play a WAV, MP3, OGG or somesuch.

Though I could probably get by with simple tunes (MIDI?). He tends to like tones in the range of human whistling.

WAV etc files are going to be much too large to fit into an Arduino's memory (eg. on the Uno you have 2 Kb of RAM).

However I doubt if Polly is going to be too critical of music quality. Perhaps try out some of the Tone samples supplied with the IDE (File -> Examples -> Digital -> toneMelody) and see if that would roughly work.

Downloaded, installed, opened up the toneMelody sample, verified/compiled, and “uploaded” (though I haven’t bought anything to upload it to yet).

Not sure how to preview the tones now without owning the hardware. Is it even possible to approximate without have the 8 ohm speaker in my possession?

Interestingly, parrots are very finicky when it comes to pitch. While avian species have been shown to have excellent absolute pitch memory, even when heavily tasked, mammals have been shown to have poor absolute pitch memory at low tasking levels and non-existent absolute pitch memory when heavily tasked. Coincidentally, if a both a human and a parrot have learned a tune and it’s played back one key lower, the human will instantly recognize the tune and may not even notice the change of key, while the tune will be completely foreign to the parrot, as if they’d never heard it.

Don't you have a speaker from a PC speaker-system or something? You might need a couple of resistors to get the level right. Or headphones even? I'm not sure exactly the right hook-up but I'm sure Mr Google will be able to suggest something.

As for pitch, there is nothing about the Tone library that stops you getting a high pitch (I don't think). The hardware itself could output 100s of kHz, well outside human (and probably animal) hearing.

(though I haven't bought anything to upload it to yet).

What do you mean?


(though I haven't bought anything to upload it to yet).

What do you mean?

As in, I haven't even bought an Arduino yet. Just seemed silly to walk into a store and randomly pick one of the shelf without knowing the platform would work. But since I'm hearing here that it's feasible, I guess I'll have to go out sourcing an Uno and start reading up.

I think we're on different pages here. I have a 5.1 system, 7.1 dolby headphones, and plenty of PC case speakers laying around (4-pin ATX). I just don't know how to "run" the sample without owning the Uno yet.

Thanks for the help here guys. Went ahead and bought an R3 starter kit on Amazon:

Seems like enough to get me started. Also picked up a 2" 8-ohm speaker to play with.

Hopefully this is the start of quite a lot of tinkering. :smiley:


I think its very possible…

here are two approaches.

1.) Use an Arduino with an Adafruit Waveshield… most of the examples are more less EXACTLy what you are looking for… a few buttons… each one plays a .wav file from the SD card.

2.) If you do NOT want or cant use a Waveshield… you can use PWM audio output… a nice and easy library to use would be the SimpleSDAudio lib (posted here somewhere)
it doesnt play .wav files… but .afm files (comes with simple drag-n-drop tool for converting wav files to afm though)…

this you can do/use with JUST an Arduino (and a capacitor)… the audio is OK… could probably benefit from an amp for loudness…but ‘works’ none-the-less…

BOTH of these come with easy to follow examples… and ways to connect the speakers.

Wavesheild… just connect speaker to speaker pads…

PWM Audio output:… add a cap to your output pin… and connect speakers after that (has diagrams showing wiring)

people have even taken this a step further by replacing the buttons with RFID cards…etc…

Well, the Arduino arrived. Went together easier than expected. Bread boarding is fairly straightforward it seems.

You're right. The volume is a bit lacking when anything else is going on in the room. Have 8 ohm speaker connected with 100 ohm resistor on the positive side.

If you're saying the Waveshield will provide louder audio, I'll buy it. Will I be able to use this speaker with it, or will I need a different one?

what is it that you did? Use SimpleSDAudio library?

you can try to wire up an amp or something (grab an LM386 from your local RadioShack or something)

The Adafruit Waveshield will be louder than your stock (no-amp) project right now....
(and its really easy to put together IMHO)..

I found the volume on that to be 'ok'... (I have read about people using a different resistor to increase the volume, might want to read up on that before assembly if you wanna try it)

once you work through the basic examples given for the WaveHC library, which was made for the Waveshield, it'll be easy to play/trigger sounds in your projects..