Picture of Mechanized Android Figure

These Android figures are cute, but they don't actually do anything. Let's change that. Have a look at the video:

These are the steps to make an Android that reacts to sound, moves it's head, sends out Morse Code messages and displays some cool light patterns. In the video the LEDs in the body are not that visible, but this is what it looks like:

Step 1: Parts and Schematics

Picture of Parts and Schematics
These are the required parts:

1 x Android Figure from DYZPLASTIC
1 x ATtiny44A from Mouser or Digikey
1 x 14 pin DIL socket e.g. from Digikey
1 x Micro Servo SG90 (plastic) or MG90S (metal)
1 x Microphone e.g. CMC-5042PF-AC from Digikey
1 x Piezo (passive, not the buzzer kind)
2 x blue 5mm flat top wide angle LED from ebay
1 x red super bright 5mm LED
1 x green super bright 5mm LED
1 x yellow super bright 5mm LED
1 x NPN Transistor e.g. 2N3904 from Digikey
2 x Rectifier e.g.  1N4003 e.g. from Digikey
1 x 100uF electrolytic capacitor
3 x 100nF ceramic capacitor
2 x 100K resistor
2 x 10K resistor
2 x 2K2 resistor (or other values depending on your blue LEDs)
3 x 150 resistor
1 x +5V power supply (e.g. USB charger)

There are many different versions of the Android figure. If you want to have LEDs inside the body, it is probably best to choose a light colored Android. Darker ones might block the light  shining through too much.

For the eyes I used super bright wide angle 5mm flat top LEDs. They are actually too bright, so I used some larger resistor values to adjust for that. Try different values until the maximum brightness is to your liking.

I used a Mystery SD90 servo with plastic geras. After 2 months of heavy use it wore out. I have now replaced it with a T-Pro MG90S which has metal gears. It is more noisy, but hopefully that one will last.

A +5V USB phone charger makes a nice power supply.

To program the ATtiny44A micro controller you can either use an official Atmel programmer like the  AVRISP mkII or one of the many third party programmers.

1-40 of 80Next »
Sembot3 months ago


Can someone translate this program into Arduino uno

That would be very nice because that program myself would not succeed me

Kind regards

VincentZ35 months ago

can it walk

bass921 year ago

helo, i'm new in this type of world with programming and IC's. But can i use this code for a arduino based controller?

wbannister1 year ago
amazing!!! please get back, where can I buy the actual android figure
wbannister1 year ago
amazing!! please get back, where can I buy one?
iko122 years ago
Hi guys,

Can I controll this robot with my Android device?
i love this tutorial and the others based on this. i was planning on making some as Christmas presents. i was thinking of using this tutorial and Hitmit's as well since his is pretty cool. one thing is that the servos he uses for the arm were too big for the toy but i saw that you didn't have that problem in your videos, the Android's arms move so freely without having a section of the body cut out and exposing part of the servo. what type of servos did you use? i want to leave room in for blinking LEDs in the eyes if not the body so it can blink while it dances so what would be the best servos for this to happen?
rlebel3 years ago
I love it but i would like a how to that shows how to get the arms and body moving too. this would be my first robot but i am thinking about if i can do the arms and body myself.
pobturtle4 years ago
about how much do the parts cost in total???
I was wondering the same thing so I looked into it took me like 5 mins you should try it.
........ have a alarm around them in your room at night...
Thank you for such a great and fun Instructable!
The head of my android is having difficulties moving because the wires that I used are too stiff, but I love him anyways. Maybe one day Ill open it again and rewire him with softer cables.
sirius004 years ago
I uploaded the video on youtube

daman924 years ago
First, Thank you for the schematics and instructions. Does any one have any specs on the Piezo or a part number/location to find one. I'm buying the parts for this project and am having trouble finding a "passive" one. I am new to this, but there are a lot of Piezos out there, so any help is welcome. Thanks in advance.
tanabata (author)  daman924 years ago
Hi, I had mine from a long time ago and did not get them from Digikey.
But look for "Buzzer external drive".
This one may work:
Thank you for the quick reply! I'll try that out and let you know how it goes.
sirius004 years ago
I was able to program the chip, with the information you have given me, I am sending you the photo, best regads ,
P7100736 [640x480].JPGP7100727 [640x480].JPG
tanabata (author)  sirius004 years ago
Good job! Very nice!
sirius004 years ago
compliments for android, I finally received four AVRStudio avrispmkii with software, I have never used this software, how do I set the fuse not to burn everything? What is the exact procedure to program ATTINY44? Frequency isp?, Internal oscillator? Many thanks for your help. I can not wait to get it working.
Foaly4 years ago
Amazing instructable, but i failed trying to upload code on the attiny. Could you post a photo of the other side of the circuit please?
tanabata (author)  Foaly4 years ago
I just added schematics for the programming adapter. Be sure to connect power. The AVRISP mkII does not provide power to the MCU. It's LED should go green when the adapter has power.
Foaly tanabata4 years ago
Thank you, I'm sure this will help other people too. I now have confirmation that the way I wired the attiny was right, but it still doesn't want to enter in programmation mode. May be I fried it while trying to make it work.
My programmer is an Olimex AVR-ISP500-TINY, and I only have a 10-pins cable, but it should work fine right? (I didn't understand why there is a 10-pins ISP besides the 6, since 4 of them are GND or NC...)
tanabata (author)  Foaly4 years ago
Sorry, I don't have any experience with that programmer. I saw a thread over at Sparkfun about people having problems with it. Do you have the latest firmware? Did you try reversing MOSI and MISO?
Foaly tanabata4 years ago
Ok it works now. I just received a cheap USBASP programmer (from ebay : http://cgi.ebay.fr/ws/eBayISAPI.dll?ViewItem&item=270718688454), and I managed to get it work with avrdude. Thanks again for your answers, and hope this could help other people!
3volution Foaly4 years ago
I got the same programmer, but not sure how the circuit diagram works since the cable is 10pin. Is the RXD and TXD goto ground? and NC you don't connect to anything right?
tanabata (author)  3volution4 years ago
I think you may be looking at a wrong schematic? There should not be any RXD or TXD. Those are signals of an asynchronous serial port. The AVR programming interface uses a synchronous one with MISO, MOSI and CLK.

AVRs use a 10 or 6 pin programming header. Both have the necessary signals.
NC means not connected, so yes, don't connect it to anything. :-)
The schematic im looking at was provided by the seller of the programmer. Here is a link to the schematic


Im looking at the most upper left portion of the image labelled "ISP". Is this the correct part to be looking at for the 10 pin cable?
Foaly 3volution4 years ago
Yep it's the same programmer, and exactly the same schematic (the other was just the first image i found on google)
Do the woltmeter thing to ensure you have the correct pins, then draw yourself something to remember. You should have the same as me : when you look at the pins of the cable, with the plastic thing at the left (besides the pin 5), the positions are the same as the schematic.
3volution Foaly4 years ago
umm not really sure what you mean, but ill give it a try. But I still don't know what to do with the TXD and RXD (Pin 4 and 6 respectively)?
So i did the voltage test. For,

Pin 2 (+) and Pin 10 (-) i got +5V
Pin 2 (-) and Pin 10 (+) i got -5V

This makes sense since pin 10 is GND.

Pin 1 and Pin 9 i got 0V

Pin 2 (+) and Pin 8 (-) i got +5V which makes sense since Pin 8 is GND as well

Pin 2 (+) and Pin 6-RXD (-) i got +5V, so does that mean RXD goes to GND as well?

Pin 2 (+) and Pin 4-TXD (-) i got 0V, so does that mean TXD does NOT goto ground?

not sure what im doing since im new to this stuff. But is any of this correct? Thanks
Foaly 3volution4 years ago
I didn't noticed the TXD and RXD on your scheme, on mine it is noted GND. What is important is what you called pin 2 on your cable : you know this is VCC. Be careful, {1,3,5,7,9} and {2,4,6,8,10} may be flipped since you are seeing the cable from the other side.
I took a photo of mine (hope you can see it) :
The red pin is VCC, the numbers are the same as on your scheme.

If you plug your Atmel this way (VCC on 2, GND on 10, then MOSI/MISO/SCK/RST), it should work.
No problem, I'm new too, I just had a hard time making it work, so I hope the results of all the things I tried could help someone else :)
tanabata (author)  Foaly4 years ago
I don;t know why TXD and RXD are on that connector. You don't need them to program the AVR.. But TXD is usually an output, so you may not want to connect that to GND. I would just leave them unconnected.
I checked to make sure I had the pins in the correct order. I try programming it with AVRDude and got an error of "cannot set sck period", but it read 100% then wrote 100% then read again 100%. so does that mean it worked? haven't go the rest of my components yet so I haven't tested it yet.
Foaly 3volution4 years ago
Yes, I get this warning too, but the chip should work perfectly.
3volution Foaly4 years ago
Thanks alot for your help both of you, Foaly and tanabata. Once im finish ill let you know how it goes.
So i put everything together and i have a problem. the lights and piezo seem to work but the servo doesn't do anything. I'm guessing I wired something wrong? what can i do to check this? any advice?
Foaly 3volution4 years ago
If you have the same programmer, look at this (the right one) : http://www.elechouse.com/elechouse/images/product/Atmel%20AVRISP%20STK500%20USB%20ISP%20Programmer/avr_isp.jpg
This should be the map but at the programmer output, so the 2 columns should be flipped at the end of the cable.
My advice : plug your programmer in with the cable but no avr, put a voltmeter (some breadboard wires are useful) at what you think is pin 2 on this image (+) and 10 (-), you should see +5V. If 0v, you are testing 1-9 or 9-1, and if you have -5V, you have 10 on (+) and 2 on (-).
Then the image give you the other pins.

Sorry if this message is not very clear, I do what I can with my poor english ^^ Hope you understand anyway, else let me know.
3volution Foaly4 years ago
The link doesn't work for me for some reason. The programmer I got is the ebay link you posted.


This is the same one you got right? just to make sure.
Foaly tanabata4 years ago
Yep I tried reversing them, with exactely no effect. I don't know if this is the latest fw, but since it's not mine (I borrowed it from my school), I don't want to try... (Apparently it's a pretty expensive gadget).
I'll try another time this evening, but I have to give it back tomorrow.
Thanks for your help anyway; I'll try another way, maybe with my arduino.
bwilly4 years ago
Great instructable! All my other electronic projects have been put on hold thanks to this! Have been having lots of fun putting it together. I'm still on the breadboarding phase. Have the microcontroller programmed and the piezo and lights are working just fine. I don't seem to be able to get the triggering part of the circuit working and was wondering what the best way was to test this. The microphone doesn't seem to do much. If pin 13 of the microcontroller gets anything but ground, it causes the piezo to sound off in morse code. I tried hooking up a logic probe as a way to test - hoping to get a value of high when I yell into the microphone but it always stays low. Any suggestions you have for debugging this part of the circuit would be greatly appreciated. By the way... I have been using an electret microphone from sparkfun (sku: com-08635) but as far as I can tell is it nearly identical to the one from Digikey.
1-40 of 80Next »