Introduction: An RFID Dog Toy With Sounds

About: I am interested in the relationships between humans, animals, and technology.

For my MSc in Interaction Design thesis at Malmö University (Sweden), I built a prototype dog toy that could capture both sound and smell. I started with a lo-fi prototype including a soft toy in which I could hide a phone that played pre-recorded sounds that could be recognizable for the dog. Another compartment of the toy contained objects that had a specific recognizable smell. By testing the toy with the dogs I wanted to explore their playful responses and general interest in this type of interface. In order to provide sounds and smells that the dogs could find both interesting and recognizable, I asked a family member to send me smells and sounds that connect to her home environment, a place where my dogs often spent the first few years of their life as well as the summer holidays. She sent me objects such as a towel that remained insides the dog bed of her own dog, some branches from the forest next to the house, a dog toy that my dogs are familiar with, and a t-shirt worn by a family member. The sounds included 20/30 seconds audio files with sounds of the other dog, the local forest, sounds from inside the house, and a talking family member.

The main intention of these experiments was to provide the dogs with a sense of control over when the sounds would be activated. Therefore I would only play the sound when the dog was interacting with the toy. In order to extend this concept, I developed a hi-fi prototype including a stuffed animal with an Arduino, an Audio Wave Shield, a speaker, and an RFID reader/antenna. Additionally I added RFID tags to the collars of my dogs. With this prototype, the sounds were automatically activated whenever the dogs would come close to the toy (with a 7cm reading range of the RFID antenna). For each dog I recorded and selected five different sounds based on my personal understanding of what they would prefer (one of the dogs seems to dislike loud noises so she could only activate low-volume sounds, whereas the other dog is more playful so she could start louder and more active sound files). After the play session I additionally used the prototype as a starting point for exchanging affection and to experiment with sound files that are specifically created as ‘calming music for dogs’.

Step 1: Parts


  • Arduino Uno
  • Audio Wave Shield (and soldering equipment to put it together)
  • RFID reader (125 kHz)
  • RFID antenna extension (125 kHz) (depending on the size of the toy)
  • RFID tags (125 kHz) (I used three, two for my two dogs and one to activate sounds myself)
  • Battery + DC wire/plug (In this image I used a 9v battery but later I figured out that using 6 AA batteries would be much more reliable)
  • A speaker (for example
  • An SD-card
  • Wire


  • A stuffed animal
  • Velcro tape (to close the stuffed animal)
  • Dog collars to attach the RFID tags to
  • A small box (for example out of carton) in which you can safely put away your electronics inside the toy, so that the dog cannot bite in them and they don't break when you throw the toy around.

Step 2: Electronics

First, solder together the Audio Wave Shield according to the example on the manufacturers website:

Then connect the speaker and solder the wires into the pins behind the audio jack.

Connect the RFID reader:

  • TX (yellow) goes to digital pin 0
  • VCC (red) goes to 5V
  • Gnd (black) goes to Gnd

Connect the extra antenna if you wish (I simply stripped the wires at the end of the small antenna that came with the RFID reader and soldered the new one to those ends. I also used some heat shrinks to cover the soldering.

Plug in the battery

Step 3: Code the Toy

Attached you find the code that I used for this project. It is important that every time you upload new code, you unplug the RFID reader first (pull out the cables from the reader that go to the Arduino), then upload, and then plug them back in. I am not exactly sure why, but when I didn't do this, the Arduino became buggy and didn't upload new code or wasn't recognized by my computer anymore.

Download the correct library and upload sound files to the SD card using the tutorial from In this project I turned up the volumes of the different files in Audacity order to make them loud enough for the speaker that I use.

Don't forget to change the naming conventions for the sound files that you used in the code and the identification numbers of the RFID tags that you bought. Here is a link to a code that you can use as a guide for identifying your RFID tag:

If you need debugging, check the power connection, the soldering work, if the RFID reader is reading your tags (there is a small blinking light if it detects your tag), and use the serial monitor to check the kind of outputs are given.


Step 4: Assemble the Toy and Play

Use a carton or plastic box to protect the electronics from your dogs and to make the toy more robust. I opened the stitches on the back of the stuffed animal and removed a bit of the filling. Then I inserted the RFID reader on top of the toy, as close as possible to the outside in order to get a maximum range for the tags. Then I put the electronics in the middle of the toy, surrounded by filling, so that they don't break when you and your dog play with the toy.

Then I stitched some velcro on the parts that I opened to close/open easily whenever you want to plug or unplug the battery or change the files on the SD card.

In my project, the sounds were combined with specific smells. For this I inserted some recognizable smells for my dogs (such as a small towel that had been in the house of a family member), between the RFID antenna, so that my dogs would get closer to the antenna while playing and sniffing the toy. I found that next to playing with it, my dogs also liked to just sniff the toy or sleep on top of it!