Lip Synching Robot





Introduction: Lip Synching Robot

This is a robot that lip-synching to the music and the voice .
It responds with sound hit the keyboard .
Please put in the vicinity of the radio and speaker .
Figure to be lip-synching to the music is very cute .

I hope you enjoy it !

Step 1: Material

  • Arduino Pro mini 3.3v/8Mhz (Arduino Pro mini has a 4 pin.)
  • 8 x 8 Led Matrix (32mm x 32mm)
  • Sound Sensor Detection Module LM393 Chip Electret Microphone For Arduino
  • USB cable
  • LED Gradation Light (100 yen shop)
    LED Gradation Light contains a 1.5V × 3 pieces of battery .If you do not use the USB cable is connected to the battery .

Step 2: Cut the USB Cable

Step 3: Check the Power Supply of 5V

You check with a tester that the 5V can be taken from the USB cable .

Step 4: To Make a Hole

Step 5: ​You Pass Through the USB Cable Into the Hole .

Step 6: Fixed With a Binding Band.

Step 7: Pull Does Not Come Off Also .

Step 8: Give Power to the Arduino.

USB 5V(+) to Arduino RAW
USB GND(-) to Arduino GND

Step 9: Connect the Microphone

Microphone +5V to Arduino VCC.
Microphone OUT to Arduino A4.
Microphone GND to Arduino GND.

Step 10: Replace the LED Matrix

It is very difficult.
Please to solder by bending the legs of the LED matrix as shown in the photograph .

Please note the position of the LED matrix of projection .

Step 11: Solder Is Difficult

Step 12: You Can Press the Case Put the LED Matrix .

Step 13: Sketch

Step 14: Attach Paste the Double-sided Tape on the Back of the Microphone

Secure the Matrix LED with an adhesive to the case .

Step 15: Done!

Please try to adjust the microphone when the face does not change .

It defines the facial animation in the first part of the sketch .
Please enjoy to change the face:-)

4 People Made This Project!


  • Science of Cooking

    Science of Cooking
  • Pocket-Sized Contest

    Pocket-Sized Contest
  • Microcontroller Contest

    Microcontroller Contest

We have a be nice policy.
Please be positive and constructive.




Hello sorry i'm a noob on this but i'm trying to replicate this project,

am i doing it right? so far i have compiled the code and put it the proto but all the matrix gets iluminated, not the shape of smiley

Thank you for trying.
Is the orientation of the LED Matrix correct?
Is it correctly wired?
I think that you can give advice if you send me a picture.

Does it work with UNO? If yes how do the connections look?

Please wire to Arduino UNO with the same pin number as Arduino MINI. Mini is 3.3V,UNO is 5 V,please put a resistance of 100 ohms to 150 ohms for each of the 8 pins on the right or left side of the 8x8 LED matrix.

Because I am far from good at English, I am sorry if I could not tell you what I wanted to do well.

oops... i just tried connecting to uno without resistance.. not sure what would happen

I am praying that you will succeed.

Hi! I'm ready with the hardware part of the project but I have problem with the software. When I try to compile the code this error appears:

C:\Users\PC\Desktop\LipSynchingRobot\LipSynchingRobot.ino:22:77: warning: narrowing conversion of '-1' from 'int' to 'byte {aka unsigned char}' inside { } [-Wnarrowing]

C:\Users\РC\Desktop\LipSynchingRobot\LipSynchingRobot.ino: In function 'void setup()':

LipSynchingRobot:165: error: 'display' was not declared in this scope

exit status 1

'display' was not declared in this scope

I'm new to arduino and I don't know how to fix it. Could you help me with this?

Having issues, if i wire it your way i am unable to make the circuit
work. I rewired it to use tutorials with pictures and text. I worked
out my pin out with setting low and highs and output or not to determine
all the pins. This makes all other script work but for some reason when
i change the const static byte cols to my pins it just turns on all
led's. I have checked the polarity is not the wrong way around as if i
swap them over some led are being powered on 2 rails and dim.

// ROW side cathode , COLOMN side of the anode
const static byte cols [9] = { 2,7,17,5,10,16,11,14};

// 2-dimensional array of column pin numbers:
const static byte rows [8] = { 9,8,4,3,15,13,12,6 };

Also tried swapping the const static byte to int with no luck (the 9 instead of an 8 is a mistake i changed it and it makes no diference)

To change the sketch to your message I now in the picture.Please try an original program once.

>// ROW side cathode , COLOMN side of the anode

>const static byte cols [8] = { 2,7,17,5,10,16,11,14};

>// 2-dimensional array of column pin numbers:

>const static byte rows [8] = { 9,8,4,3,15,13,12,6 };