Meet Twinky the Cutest Arduino Robot




Introduction: Meet Twinky the Cutest Arduino Robot

About: Photonics Engineer

In this instructable I'm going to teach you how I made my own "Jibo" but called "Twinky"


It has almost the same functions but It doesnt need an internet connection and oviuousley it doesnt need a server. (Of course this make a lot of limitations,comparing with the functions of the Jibo Robot)

IT CAN SPEAK! PLAY MUSIC, SET TIMERS, ALARMS, TURN ON/OFF THE LIGHTS OR OTHER APPLIENCES, IT HAS A CALCULATOR AND A WEATHER STATION! DATE & TIME, BLUETOOTH 4.0, EVERYTHING WITH VOICE COMMANDS!!!! and also with a touch screen, it has one little motor so it can turn arround when one of the two microphones hear you talk or make a noise.

You can record your own commands in any language, I'm in México so everything is in spanish.

The "brain" is an Arduino Mega, where all the code is running, there is a different board for the voice recognition called "SpeakUp Click" from "Mikroelektronika" I'll leave all the links later so you can purchase this different boards.

Step 1: Design & 3D Printing // Documents

I want it to make it "cute" and friendly so I decided to call it Twinky and the best color I found was yellow, also it was the only nice color I have arround.

Everything was made in SolidWorks and then 3D printeded in a Rise N2 Plus.

The body is actually pretty big, arround 32cm tall and 19cm wide.

Here you have all the STL files.

The components are...








In this link is everything, from the audio notes that you should place inside the SD memory card, an .spk file thet are the voice commands, the music, the STL files, the Arduino Code, everything!

Step 2: Components

For the functions I put it in there are a lot of modules that are inside twinky.

Arduino Mega

SpeakUp Click



4 Rellay Module

Audio Amplifier


DC Motor

2 Digital Signal Microphones

4.3in ITEAD touch screen

SD Module


Arduino Mega Prototyping shield

And so on ... other components like some resistors, cables and others I wont show every single detail in this instructable, It would make it sooooo long ... but if you have any questions I'll be happy to answer! And explain you every small detail.

Step 3: Schematic

This is simple shcematic, everithing is represented by a connector, from de Arduino Mega to every module, with the label you can see which module is.

The bluetooth is connected to de Serial1, the ITEAD Screen in the Serial2, as you can see there are still plenty of unused pins.

The temperature module is connected at pin 13.

The RTC is connected to SDA and SCL (Pin 20,21)

The SD Card reader is define to be connected in Pin, 50, 51, 52 & 53.

SpeakUp board is powered by 3V3 and all the other modules are 5V

I didn't place the L239D motor controller but it is really simple to use DO NOT CONNECT THE MOTOR DIRECTLY TO THE ARDUINO.

Also... the ONLY functional speaker output is at pin 46.

Step 4: Arduino Mega Shield

I put all the components in the place I found better, under the SD module there is a L239D motor controller.

Solder everything together to VCC, GND and the connections with the pins I place in the Arduino program, you can change all the pin deffinitions if you want to, and then make the connections as you want too... you dont even need the shield haha, it will work with cables too but is messier.

You should connect all the components individually, I mean one by one and test it and then in the code you can "put it all together" for example:

If you want to connect the RTC then search on internet how to connect an RTC to Arduino Mega and make the connectios, test it and then go to the next modue.

Again... I'm sorry if I dont expliain all of this in the instructable but that would be too much work, and it will be an infinite instructable.

I made a small 12V and 5V regulator and bought an audio amplifier, reeeealy simple.


Step 5: Put It Together

Twinkys brain will be inside him, with the audio amplifier and the SpeakUp click.

In the third picture you can se the microphones in the head

The motor, reallys, RGB LED and the speaker are in the base and connected with the brain trough the hole in the body

With the motor the body can turn if any sound activate one of the microphones, the rellays can be activate to control your appliences and the RGB LED shows the status of the program:

If there is an alarm running it will be pink, if you say "twinky" and detects you, it will be blue, and so on with the different commands.

Step 6: Face & Menu

For the face I'm usign a Resistive touch screen form ITEAD, it is really simple to use, it can be controlled with serial communication! So it only takes 2 pins of the arduino!

You can send the value of any variabele in the screen, or when you press any button the ID is sent to the Arduino.

To make the face program ITEAD has an edditor

Is really simple to use but if you use a screen like me, the HMI program and the .tft will be on the Google Drive Link

The .tft is the documment you place in the SD card so you can charge the program to the screen.

There are a lot of videos on youtube that explain how to use the software.

Step 7: Videos

A Small demostration of the functions, there are still more, but with this you can see what is capable of!

(He doesn't like to be touch in his eyes :b) but in his top right corner you can open the menu.

And with more coding you can do almost anything! There are still a lot of unused pins. You can add wifi... use the bluetooth to control other stuff or something like that.

I hope you like my instructable!

Feel free to comment or ask me any questions!

Audio Contest 2018

Participated in the
Audio Contest 2018

Be the First to Share


    • Laser Challenge

      Laser Challenge
    • Unusual Uses Contest

      Unusual Uses Contest
    • Reclaimed Materials Contest

      Reclaimed Materials Contest



    Question 10 months ago

    micodigo de voz y lo de microfono donde se suben entiendo que al arduino mega subimos solo el codigo de twinky


    2 years ago

    Hola,soy de México y actualmente estudio la carrera de mecateonica,voy en 3 cuatrimestre,y quiero hacer Estel proyecto,¿es muy avanzado o algo así?
    Espero su respuesta ,gracias


    Reply 2 years ago

    Hola que tal,
    Yo estoy en guadalajara, por si de casualidad estuvieras por aquí,
    respondiendo a tu pregunta, si sabes programar en arduino en realidad es relativamente simple, si consigues todos los materiales IGUALES a los que yo usé no deberías tener ningún problema, en caso de que alguna de las piezas no las puedas conseguir, habría que hacer algunas modificaciones, pero no te preocupes, yo puedo ayudarte.
    Si necesitas algo más, envíame un mensaje privado y te paso mi correo


    Reply 2 years ago

    En el paso número 2 está una lista de los materiales más importantes, incluso algunos links para comprarlos que son los que yo usé


    Answer 2 years ago

    Hola, a mi si me funciona, es el enlace para comprar el modulo para control por voz

    twinky maker
    twinky maker

    Question 2 years ago

    i am having a problem with code it gives erors too much here is one of them can you fix it
    thanks have anice day.

    code eror.png

    Answer 2 years ago

    Sorry for the really late response... there was a minimal error on this code, with the line avobe Angulo

    twinky maker
    twinky maker

    Reply 2 years ago

    thx but how van i slove it becauze i am a noob and everything thath i made burns have a nice week

    twinky maker
    twinky maker

    Reply 2 years ago

    sory i forgot to add some thing can i use onother thing instead of speakup click and can you make a english version please


    Reply 2 years ago

    Hi there,
    Yes there are some other speech recognition boards but almos all of them are pretty expensive and have other requirements, like wifi... python code... etc. So, really is the easyest way to do it
    Sorry, an inglish versión of what? The voice commands?
    In the speakup software you can change the voice commands to eveything, even Twinkys name


    2 years ago

    i did connect the speakup-module, after loading the software from you..... i can see and test it that it has been loaded. Now i connect it and some strange things i disconnect it i can use the "alarm-button +" for "NEXT" and the music plays and i see the title on the menu "music" but the buttons : play-next-stop are not working. Also i have strange relais-on-off-results. The "light" is going to "office" but nothing happens....if i push in the menu "cal" the number one then relais3 is going on and push again, it goes off....i can hear music and words saying: mmm.ola.....twinky.....eyes-words (if i push in his eyes) and the motor is working oke.....all this without the "speakup-module connected....if i connect it says ola and twinky all the time...

    i think i am going to make it (the connections) again on a breadboard with wires....maybe there is a fault in my shield (although i measure all the wires and connections one by one and they are ok)

    Can it be that i need to load again the software into the itead-touchscreen?

    i let you know.....happy new year also......


    Reply 2 years ago

    Hi there! Happy new year too!
    When you connect the speakUp the Arduino turns off? Or why it is going back to “mmh hola”?
    Maybe the speak up is demmanding too much current or there is a short between the pins or something
    Also... Yeah, the Itead touch screen is giving you a lot of errors... thats weird... did you try uploading the code again already?
    Let me know,
    Sorry, I’ll try to be more arround to answer your questions


    3 years ago

    This is a wonderful project! like to make this 'beautiful 'Twinky'.....but before i start, i have some qsuestions. Can i ask them please?...sorry for the long post-comment.

    I have a list with most of the parts/modules but i am not shure they are ok:

    1. Arduino MEGA 2560 (is ok)

    2.Speakup Click type 932-MIKROE-1534 (is this ok?)

    3.RCT type DS1307 i2c rtc (is this ok?)

    4.Arduino bluetooth HC06 (is this ok?)

    5.4 relay module-120A type MAR0004CR (is this ok?)

    6.Audio Amplifier LM386 DC5-12v mono (is this ok?)

    7.Speaker 4ohm 3watt diameter 4cm (is this ok?)

    8.Motor: type 12v/6v DC Motor 120RPM/60RPM lenght=67.50mm/round=25mm(is ok?)

    9.Arduino 2 digital signal microphones (is ok? and how to connect to Speakup Click please=parallel?)

    10.touch screen type 4.3in ITEADtouch screen Nextion-nx4827T043 (is ok?)

    11. SD-card type SPI (is ok)

    12.RGB-led module Arduino (is ok)

    13.Mega Prototyping shield ( is ok)

    On this shield, i can see two elco's and a resistant...can you draw or take a picture how it is all connected on the shield please?

    14.DHT type DHT11-sensor (is ok?)

    15. The 12volt and 5volt regulator: can you draw a little scheme please, so i can make the same of you.....and make no mistakes....?...

    Are there more modules or components used?

    I know.....this is a lot of questions but before i start it is better...don't you think so ?....

    Sorry for the lenght of this comment.......forgive me......


    Reply 3 years ago

    ohh no no, dont worry I'm happy to answer all of your questions and helping you to make a twinkys brother/sister(?)

    1. Yes Arduino Mega 256

    2. Yes, SpeakUp Click 1534

    3. Yes, RTC DS1307

    4. Yes, Bluetooth HC06

    5. My relay module is 10A but pretty much anny realy will work fine, as long as it activates with 5V

    6. Yes, Audio amplifier, the module says that is 5 to 12v but the amplifier specs says is 5 to 30V or something... but will need a bigger disipator

    7. Speaker ok, make sure that the speakers seals with the enclosure this improves a lot the sound quality

    8. Motor ok

    9. Yes, digital microphones

    10. Yes, Nextion-nx4827T043

    11. Yes

    12. Yes, or you can use 3 LEDs instead, I'm not using analog write for them so the 3 colors ar connected to digital outputs, you can improve this using the PWM outputs of the arduino Mega and make a lot of different colors, this is optional.

    13. Yes an Arduino mega shield, the Capacitors are just connected between 5V and GND there is not much reason to use them, I wasn't planing to make my own power supply but with the ones of the PW supply should be enough. The resistor (I think it was 470ohm) is connected between the output signal of the DTH and VCC but I ended up disconnecting it because it gave me problems to read the signal, in my protoboard worked fine but once soldered the arduino sended an DTH error message sometimes. Try it with the resistor first.

    14. DTH11

    15. I'll attach an image

    Dont forget about the L239D motor controller, the current of the arduino output is not enugh to move the whole body, it is really easy to connect, since is just one motor you only need to connect one side.

    I didn't add a pictire but you need a 12V transformer or any other 12AC source mine is 12V 1.5A

    The SpeakUp click has Tx and Rx pins also SPI comm but I couldnt find information about it, so the easiest way to do it is with parallel from IO1 to IO6


    Reply 3 years ago

    Thank you...with all your answers , i can now understand more and more...thank you for that.....but can i ask a few more questions please?(if you do have the time for answering... ( number 5 there i made a mistake: it must be 10A and not 120A(mistyped)......)

    1.The two digital microphones, i do have still problems with the connection: VCC-GND-OUT.Can you tell me where to connect the "OUT"pins please? (pins?)

    2.The speakup click, i have studyed alot, but still have 7 pins :

    nr3 on 48(mega) / nr4 on 46(mega) / nr5 on 45(mega) / nr6 on 42(mega) / nr7 on 40(mega) / nr8 on 38(mega) / nr9 on 36 (mega) . But what do i use for the numbers (on schematic= 3 4 5 6 7 8 9 ) on the 'speakup click'-module? or can i find this in the arduino-sketches maybe?( i did not look yet into the sketches)

    Can it be that the pin for the speaker on the schematic is 44(mega) instead of 46(mega) ?

    The pictures that you added are super for helping me (the 12v and 5v) and the connection for the L239D also.

    I did order all the parts now and i started with printing out the STL-3D's.

    (i did open the Twinky_2-sketch: is M1 the first microphone? ('out-pin' at pin A5 mega) and M2 is the second microphone, ('out-pin' at pin A4 mega) or am i totally wrong?)


    Reply 3 years ago

    1. Right! I totaly forgot the microphones pins on the schematic! Sorry, they are connected to A0 and A1.

    2. I added some comments to the Arduino Sketch, you should be able to download it now with the updates, there you can see the declarations of the SpeakUp input pins(The good ones... haha)

    You are right...My mistake! haha again... the schematic is wrong, I will change it

    The M1 and M2 variables are for the motor only. you can change this pins if suited you, all depends of where you place all the modules on the shield, just dont forget to change it in the sketch

    Sorry for the mistakes and thank you for the questions, you are helping me me to improve the instructable.


    Reply 3 years ago

    Thank you sir !

    Can i just ask one more question please?

    Where do you place the "speakup click-module" in twinky?

    There is a kind of a grill on the "Cara_1.stl ", just under the rectangle-hole for the screen. Is this maybe the place for the microphone of the speakup click?

    I do have already 4 printout-tyles (black ones), it goes well)

    In the sketch "Twinky_with_Comments" at line 63, there is : int //Meable = 13 .

    I do a 'verify' with this value, and i get an error: two or more data types in declaration of 'Angulo'

    If i take away the two slashes (// ) ( int Menable = 13 ) then it is oke....Is this important?

    Can it be that you mistype and the two slashes are not needed?

    (what does that command do?....just asking for learning more)

    I am a newbee in this.....this sketch is 'wow' and i did learn again from you....

    Did you make this sketch?...yes?....wel...then, i am very must be a kind of engineer or higher.....this language ( i think it is C...yes?) is very difficult.....