Skip to Content

Build your own Talking Tom toy with SCRATCH and Arduino

What about making our own interactive (Arduino/Scratch) Talking Tom toy? In this guide we will show you how to build this toy using sensors and bi-directional Scratch<->Arduino communication.
Do you like Talking Tom? What about making our own interactive (Arduino/Scratch) Talking Tom toy? In this instruction guide we will show you how to build this toy using  sensors and bi-directional Scratch<->Arduino communication , to make the program in Scratch not only command the puppet, but also to control the execution of Scratch programs based on sensory inputs of the doll.
Talking-Tom-vestido.png

Our Talking Tom!

So what do we want our Talking Tom to do? Let’s start just with some simple features:

  •   Blink with his nice green eyes.
  •   Turn his head.
  •   Move his arm.
  •   Make “meow” and blink his eyes when you come close to his nose.

Later on you may try out many other combinations of movements and sounds based on these basic ones and the endless possibilities of SCRATCH and Arduino. Watch a video showing our doll:



So what do you think? Do you want to build something like this? So let’s start.
Knowledge1.png
Level: Intermediate. You should know something about:
  • Arduino
  • Scratch/Arduino communication using s2a_fm

Preconditions: Basic knowledge about Scratch and Arduino interaction.

Tool3.png
Physical structure and Fancy dress:
  • Plastic building toy with big screws. We used ATTO Educacional, but there are many different options available on eBay.
  • Felt (in different colors)
  • Velcro
  • Yarn
  • Optional: Sewing machine
Eletro1.png
Automation:
  • Arduino Uno or Freaduino. We have built our Talking Tom with an Arduino Uno R3. But it would also be no problem to use another Arduino-compatible board such as a Freaduino, for example.
  • Protoboard with 180 holes for the connections (here we are using a ProtoShield)
  • any 2 servos (TowerPro SG90 is sufficient)
  • 2 green LEDs
  • Infrared proximity sensor
  • Wires for prototyping
  • USB cable (the Arduino works connected through wires)
  • 12 nylon cable ties (15cm) for the fixation of the components on the skeleton
Program1.png
Programming: You’ll need a Scratch version that:
  • has extensible blocks
  • implements the new Scratch HTTP communication standard in order to communicate with s2a_fm and the Arduino

The following Scratch versions/dialects will do:

  • Berkeley SNAP! – http:/snap.berkeley.edu
  • MIT Scratch 2.0 Offline Editor
  • MIT Scratch 2.0 Online (on the PC only)

We suggest that you work on Linux. The automation and communication parts are much easier on this platform.  If you want to use MIT Scratch 2.0 Offline and are experiencing difficulties in installing it, look at our Tutorial:

 In order to build our Talking Tom, we need to construct things in the physical world (his skeleton and a fancy dress), automate these parts using Arduino and program their control using Scratch.

Below we provide a step-by-step guide on how to build the doll. We will start with building the skeleton to have a basic structure, then explain the automation and programming and in the finish with creating a fancy dress.

STEP 1. Build the skeleton of your doll

STEP 2. Assemble the automation parts on the skeleton

STEP 3. Build the eyes and make them blink

STEP 4. Make the doll turn its head

STEP 5. Make the doll’s arm move

STEP 6. Connect the Infrared Proximity Sensor to make the cat feel through its nose

STEP 7. Make the fancy “dress” for your doll

STEP 8. Explore your own ideas

Meet the Computing at School Initiative

As part of our Computing at School (http://www.computacaonaescola.ufsc.br) initiative, we run family workshops either as part of school programs or independently. The workshops are aimed at children (6-14 years) accompanied by a parent (or any kind of adult family member or friend).

During the workshop participants learn how to implement a little project in Scratch. We choose projects where learning how to program involves simple motion and looks commands as well as events, conditionals, and loops using also sensing commands and operators. While teaching to program, we also present basic computing concepts such as an understanding of algorithmic problem-solving (problem statement, implementation and testing cycle), collaboration in form of pair programming as well as the understanding that a computer program is a set of step-by-step instructions to be acted out.

OficinasTwoRows.png

We also develop instructional units for teaching computing school programs. Currently we are developing an interdisciplinary Scratch game programming 12-hours unit for elementary schools and a 24-hours unit on physical computing with SCRATCH and a low-budget Arduino kit for middle schools.

 

C. Gresse von Wangenheim, A. von Wangenheim. Teaching Game Programming in Family Workshops. IEEE Computer Magazine, 47(8), August 2014. Also available at [ResearchGate].

 

 Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.