I saw the demo video for the neurowear "necomimi" brain controlled cat ears and I thought they were pretty awesome.  I'm just starting to learn electronics and I thought a fun project to start out would be making my own version.  Sadly, I don't think I'm adept enough yet to take on making my own EEG and I don't think the EEG's that are available are very reasonably priced, so I settled for having a button input to control the cat ears.

  I wanted to build something that wasn't too expensive and was easy enough to be done in a sitting or two.  I picked out some cheap servo motors, some craft supplies, spent a weekend or two developing code to control the servo's from a microcontroller and after much trial and error, I built some kitty ears that I think are pretty decent.

  Here's a video of my lovely assistant using the Kitty Ears:

Step 1: Tools and Materials

  Safety glasses
  Face mask
  Hot glue gun (and hot glue): I picked one up for under $5 at a local Michaels Craft store.
  Dremel:  $18.99 at Harbor Freight Tools (http://www.harborfreight.com/professional-4-speed-rotary-tool-kit-40457.html)
  Drill: $18.99 at Harbor Freight Tools (http://www.harborfreight.com/3-8-eighth-inch-variable-speed-reversible-drill-3670.html)
  AVR Programmer: USBtinyISP AVR Programmer Kit from adafruit.com $22.00 (http://www.adafruit.com/products/46)
  Soldering Iron
  Wire strippers
  Wire cutters
  Flex tubing: $2.88 from WalMart

  ATTiny13: $1.09 from mouser.com (http://www.mouser.com/ProductDetail/Atmel/ATtiny13V-10PU/?qs=sGAEpiMZZMvu0Nwh4cA1wUVlLgw9m2DPt6IffusRY5Y%3d)
  4x micro servo motors (hxt900 compatible): I found a few different places to get these.  I've had good luck with hobbyking, but there's also dealextreme.com, suntek.com and ebay.
  Proto Board:  $3.19 from Radio Shack (http://www.radioshack.com/product/index.jsp?productId=2102846#)
  Wire: Black and Red are good choices for colors
  Pushbutton:  I like the sub mini pc mount pushbuttons (4 for $1.00) (http://www.allelectronics.com/make-a-store/item/PB-126/SUB-MINI-PC-MOUNT-PUSHBUTTON/1.html)
  1k resistor: (brown black red)
  LiPo battery: Anything that will be able to supply 3A worth of current.  Here's a good choice from hobbyking for $5.33:
  LiPo battery charger:  You might want to shop around on ebay, but Hobby King sells one that I've used and seems to do the job here: http://www.hobbyking.com/hobbyking/store/__8247__Turnigy_2S_3S_Balance_Charger_Direct_110_240v_Input.html ($11.44)
  DC-DC regulator: $4.90 from hobby king (http://www.hobbyking.com/hobbyking/store/__10312__Turnigy_5A_8_26v_SBEC_for_Lipo_.html)
  Stiff plastic headband: preferably black.  I found one at a garage sale, but here's a cheap source I found for them online ($7.49 for 12) (http://factorydirectcraft.com/catalog/products/2346_1302_2533_2297-21165-1_black_plastic_headbands_12pcs.html)
  Black fur, white fur and grizzly black fur cloth:  I found these three at Joanns for about $5-10 a yard each
  Glue for glue gun
  Sheet of acrylic (1/8" should do): Picked one up for around $5 at the hardware store
  Metal brackets:  I used mailbox brackets that I picked up at the hardware store for $7 or so
  Gorilla glue

Optional Materials:
  Sewing Machine
  Black insulating tape
  Sand Paper

<p>i was wonder if you could name a general price for one these? i'm on a budget but i have almost everything i need anyway for the rest of my cosplay, and was wonder if you would be interested in selling them or a pair like them? i can go about $20 or maybe more depending on the supplies you used to make them. but i'll have to draw the line at $40</p>
<p>Unfortunately $20-$40 is too low for me to justify making these. The materials themselves will run that much. The labor on top of that and the quality of product makes it hard for me to rationalize working on it. I still haven't found a good way to &quot;skin&quot; the ears in cloth so that it looks good, fits well and is easy to make.<br><br>That being said, the materials are pretty cheap so this could be done by you for that much if you're willing to construct the ears yourself. If this is something that you'd like to do but have trouble programming the microchip (or have any other questions) then PM me and maybe we can work something out.</p>
<p>I love it! The video is brilliant!</p>
Hi I'm making this proyect for my electronic class and I'd be thankful if you suggest me what program is good for the attiny13, cause that's the only thing I need and I don't know what program works for the attiny13 I'm king of new for programming
Hi NicoleP48!<br><br>Unfortunately the ATTiny13 is a bit involved to program. There are a few ways to get the program onto the chip that controls the servos (the motors in the ears) and listens to the buttons and I'll list them in order of difficulty below, from easiest to hardest.<br><br>The basic idea is that the ATTiny13 chip needs to be programmed with a HEX file. The HEX file is like a binary program for the ATTiny13 (like an EXE on a Windows machine) and can be located here: https://raw.githubusercontent.com/abetusk/kears/release/kears.ihex . Download a copy of that HEX file and save it for later. The next step is to get the HEX file into the ATTiny13.<br><br>Maybe the easiest way is to try to use an Arduino as a the device that programs the ATTiny13. Try taking a look at the following links:<br><br>https://www.instructables.com/id/Programming-an-ATTiny13A-using-Arduino-servo-int/<br>https://www.youtube.com/watch?v=p-fieBPj9Ng<br>https://www.instructables.com/id/ArduinoISP-wire-harness/<br><br>The first instructable shows you how to wire the Arduino to the ATTiny13. The third one tells you how to use 'avrdude' to program using the Arduino (don't worry that the third instructable has a different 'target' chip, the wiring is the same as in the first one and the steps are still the same). <br><br>Another separate way not using the Arduino is to buy a dedicated USB ISP programmer (the ISP stands for 'in system programmer' which is the method by which the ATTiny13 is programmed). They are fairly cheap and doing a search for 'usb isp' should give you some links as to where to buy them. Here is one that I found though I haven't used it myself:<br><br>https://www.sparkfun.com/products/11801<br><br>Once you have the programmer and the ATTiny13 chip, you can program it. One program to do that is called 'avrdude' and you can see how to use it with the USBtinyISP (which is the programmer listed above) here:<br><br>https://learn.adafruit.com/usbtinyisp/avrdude<br><br>Don't worry that they mention 'ATTiny45' or ATTiny85', they should be mostly equivalent to the ATTiny13. If you go this route, you'll need to program the chip by invoking 'avrdude' with something like the following from the command line:<br><br>avrdude -c usbtiny -p t13 flash:w:kears.ihex<br><br>Where 'usbtiny' is the programmer (the USBtinyISP from Sparkfun), the 't13' is the target chip, in this case the ATTiny13 which as a code of 't13' and the command, which is 'flash', 'w' for write and 'kears.ihex', the HEX file downloaded earlier.<br><br>Sorry about it being so complicated! The ATTiny13 is a very nice chip and it's great that it's so small but it's also a real pain to program so it's not very beginner friendly. Most of what's needed is to wire one pin to another and make sure they all match up.<br><br>If you want to do a little investigation, I think the following links could be helpful:<br><br>http://highlowtech.org/?p=1695<br>http://www.elecrom.com/2009/04/15/avrdude-tutorial-burning-hex-files-using-usbasp-and-avrdude/<br>https://learn.adafruit.com/usbtinyisp<br>http://www.ladyada.net/learn/avr/avrdude.html<br>https://www.instructables.com/id/Program-an-ATtiny-with-Arduino/<br>http://highlowtech.org/?p=1229<br>http://brownsofa.org/blog/2011/01/01/the-compleat-attiny13-led-flasher/<br><br>If you can, I would suggest trying to program a simple 'LED flasher' circuit to test that the programmer is working before trying to hook up the servos. Once you get to the point of trying to hook the servos up, I would hook up the button and just one servo to test and make sure it's working on one servo. Once that's successful, you can then hook up the rest of the servos and build the rest of the project.<br><br>I'm happy to help if you have any problems, just let me know. Good luck!
Thank you sooo much!!!
How much you sell cat ears for?
<p>I haven't built any for sale. How much would you pay?</p>
<p>So how much did it cost? Is it less then the Necomimi?</p>
<p>this will be perfect for cosplay and a gift to someone! :D but one question, is the button for the ears on a separate part like a remote or something?</p>
<p>I'm thinking this gets pretty heavy, like over half a pound in total? I want to have a ballpark to see if this can be comfortaly used by a 7YO girl...</p>
The servos themselves are 9g. I don't have a great sense, but the metal angles, plastic and fur might come out to another 50g? So I would guess about 100g in total or about 1/5 to 1/4 a pound.<br><br>You could try for lighter material and smaller servos, like the 'sub micro' servos which can get to less than half the weight of the 9g servos (but are much less powerful).
<p>Oh man, if I had the money for it, I would SO ask if you could make one for me or something! I'm trying to make custom ears for my necomimi set that I have so that I can chose any kind of ears to wear along with the costume that I'm wearing but your ears react WAY better than the necomimi ears do!!! I wonder if you could also make a pair of feral fox ears and bunny ears with the same mechanics...</p>
<p>Yep, you sure can! I actually made some bunny ears for a Halloween costume that used much of the same setup.</p>
<p> I am like a year late but i need theses! don't suppose you do custom orders for people who don't understand how to even start lol</p>
Ha, more like 3 years!<br><br>I'm sorry to say in terms of my time and effort, it's probably not worth me doing this. What I can do is answer any questions you have and even provide you with some of the electronics portions that are a bit harder build (especially for someone who hasn't done that sort of thing before) but the sourcing of all the rest of the parts and constructing the rest of the ears is not something I want to do right now.<br><br>If it's any consolation, the hardest part of this project is the 'crafty' portions: sewing the ears, fitting them on, screwing the portions together and making sure things look good.<br><br>Out of curiosity, how much would you pay for something like the cat ears?<br><br>-Abe
<p>Those are awesome! I really need to try learning code again. *thinks* I wonder if robotics code is easier than video game programming.<br>I can't wait to build some similar ones for my Yena. </p><p>Are you planning to eventually take them a step further? Responsive to head motions or sound?</p><p>Where did you go when you decided to start learning code and programing for things like this? I'm hoping to start learning a bit for this robotic character I've been thinking about turning into a costume.</p>
<p><em>Love them!</em> I think some great things could be done with these if you added some kind of tilt sensing or something similar to that. Then the ears could act more or less on their own.</p><p>This could even become a machine learning experiment, where you can press buttons to associate them with head movements!</p>
I'm having trouble in this step. I can't seem to get a reaction from the servos when the button is clicked. I've checked the output of the battery (8V) and regulator (5V). I've plugged them in and checked that all the servos are getting power and connected to ground. I've checked the flow of power and ground to the chip. The signal line from the chip to the servos is also good. When I first plug in the servos, the make a noise and snap to place. But when the button is pushed nothing happens. I've also checked to make sure the button being pushed is connected to ground and works when pressed. I took a backup chip and programmed it, and still nothing. My circuit board is wired almost exactly the same as yours, but with a few differences. I didn't use a header to connect the button, but instead wired it straight to the board. I also assumed you scratched away the back contact between the positive and negative of the battery header and button. My only option I can think of is to try is making a new board (breadboard this time) that takes up much more space since the only thing I've thought could be wrong is where the ground and power splits if that could change things (going parallel at different locations for different servos). Any suggestions how to troubleshoot at this point would be greatly appreciated!
Meghanmapes, you're going to have to start debugging, unfortunately. I would start simply, by putting the chip connected to one servo on a breadboard. If you have an oscilloscope, make sure the chip has been programmed correctly and you're seeing a PWM signal that looks reasonable. You can also verify that something is coming out the data line from the attiny13 by hooking up an LED in series with a resistor and seeing if you get something. After that's been verified, connect the button to the breadboard and see if you can induce state changes. <br> <br>If you have some programming expertise, you might want to try writing a simple program to blink the light on the attiny13. Next a light with a button, etc. until finally working your way up to a servo. <br> <br>The general idea is to isolate where the problem is. Is it in the button? (verify the button is behaving like you think it is). Is it in the servo? (does the servo work otherwise). Is it in the microcontroller? etc. Once you understand where the problem is, you can focus on what element is causing the problem. Best to start simply, testing your assumptions, and work up from there. <br> <br>Though these are some tactics, you'll ultimately have to figure out what works for you. <br> <br>Some things to watch out for: The attiny13 ships with fuse setting set that make it 1MHz instead of the 8MHz that the assembly code assumes. You have to explicitly set the fuses so that it runs at 8MHz. Look in the 'cmp.sh' under the repo to see an example of how to set and read the fuses (and consult the datasheet to interpret what the fuses mean). Though I didn't put a pullup resistor on the reset line, that should probably be done, just to be sure. Putting a decoupling cap between power and ground is probably not necessary for this application, but can't hurt. <br> <br>TL;DR: use yours or a friends oscilloscope to verify output lines. Breadboard. Debug. <br> <br>Good luck! Please let me know how it goes. And if you wouldn't mind posting pictures, I'd love to see what you come up with.
Abetusk, thanks for all the feedback and suggestions. I'll be able to try some of the steps, but I don't have access to an oscilloscope. If I get it figured out, I'll def. post pics, but I have a sneaking suspicion this project will end up being shelved as unfinishable. Thanks for trying, though!
I understand. I had my own workflow for programming the micro and in retrospect it was too cumbersome to expect others to follow it. If you do pick it up again, let me know if you need any more help!
Its remarkable :)
Wow, I never get tired of looking at your cat ears. I want to make a set my self one of these days. I have tons of RC parts to do the job. I want to try to make some without the noisy servos, but so far I have not come up with anything yet. I like the kitty mad ears. They look great and you are as cute as it gets. Nice work!
unfortunately, you got two bottom left and no top left in your description.
Thanks, fixed.
Thanks for the link. I may be needing some help, but it will be some time... Right now I don't have m4 installed on my ancient Ubuntu. M4! That's a blast from the past.....
Yeah, sorry about that, I just picked the first thing that I found worked for coding in assembly. I had to go to assembly because the C was getting too big for the ATTiny13. <br> <br>m4 is only used to replace some variable/register names. Feel free to update it!
Very cool. Wondering where I might get the source code to the hex file.
Whoops, sorry about that, I have a link to the ihex file but not the source tree. The source is <a href="https://github.com/abetusk/kears" rel="nofollow">here </a>and all open. &nbsp;PM me if you run into any problems and I'd be happy to help.<br> <br> Happy hacking!
One word: awesome!
@Abetusk: Your build is awesome. I think it looks nicer and appears more functional than the commercial alternatives readily available. Do you think you could adapt it to function and look the exact same way but with an EEG/Mind Read spec instead of push-buttons??
It is possible and actually already been done. See here: http://paperbits.net/cat . I don't have any plans on hooking up an EEG to it, but you're welcome to experiment!
Thanks for the details and the awesome project. :)
Did i mention that this instructable is awesome? It's the first project, i try to use for my own project of a catsuit using my abilities of chainmail, taylorship and tinkerer (she's got a cat-notion and wants sumthin to strip). <br> <br>I find the ears get more structure, if you make em from the top-part of a plastic-bottle. We got this Orange-juice from Lidl here in Germany and its bottles are made of thicker plastic and on top is a big button. I used the dremel to grind the cone of the bottle and cut into three pieces and took two of them as ear-bases. The bottles cone is formed round and so i got ears that are pointing forward. I put rubber foam on the back, cut it out for the motors and cut the edges down. Now i got sum garfield-like ears...
Do you happen to have a picture of the plastic bottle you're using? Maybe a link to a picture of the container?
neat work. and your assistant is hot cat.
There is an option that will keep you from having to do some of the wiring. I found this a few months ago and I'm loving it for things like this. <br>http://www.pololu.com/catalog/product/1350 <br>It's a tiny servo controller that lets you run scripts. It can run up to six servos, so two of headers on it can be converted to inputs for hooking up switches. :)
Okay, so this is what you want to do: <br>You get your little maestro board. It has six servo slots, which is perfect for this project. Use the first four slots for the ears (0 and 1 for the left ear and 2 and 3 for the right ear). Next you will designate the remaining two slot for the control switches. Buy the &quot;partial kit&quot; and just populate the first four servo header positions and the two pin power header. Reference the manul http://www.pololu.com/docs/0J40 for the locations and specs on these. You designate servos and inputs like switches in the sofware http://www.pololu.com/docs/0J40/3.a . Once you connect the board to your PC via the USB you will see how to configure it pretty easily. I say to leave the last two headers of so you can solder the switch wires right to the board. Te me that would be easier. All you need to set up the switches is two 1-100k resistors for pull-ups in order to keep from getting false signals. Check here for info on hooking up the switches. Now, all you have to do is plug in all your servos and the battery. Just make sure that you don't plug in a battery that is of a voltage that is too high for your servos, they won't last you very long if you do. I suggest that you write down what channels you use for what as in 0-left ear up/down, 1-left ear left/right and so forth. Now you can center all your servos and save those settings. You are now ready to start scripting your cat gestures. It's all loop based, so what you want to do is write subs for each gesture and have the button events jump you into the appropriate sub. Let me know how it works out for you. Tweaking the scripting is my favorite part, so I won't spoil that for you. :)
Thanks for posting this! I liked his use of servos, but I had a different project in mind. Your link looks like an excellent place to go. <br> <br>Thanks!
Hello there, <br> <br>I found your k-ears pretty sweet, so I gave it a try! <br>But I have no response from the push button, and the servos are only moving when puutting the power ON, kind of random, and they don't come back in a &quot;home position&quot;... <br>I checked the circuitry several time, continuity and all, and as it's very simple I was asking myself: could it be a program error?, I'm very new at controllers, but I had the very same message than on your screenshot when putting the .ihex files on the t13... <br> <br>any idea would be more than welcome, I can't wait to have those on my head :-) <br> <br>cheers
JCLSD, <br> <br> Sorry for the late response. I hope you worked everything out. If you didn't, feel free to message me and I'd be happy to work through the problems with you. <br> <br> If you do message me, if you could provide some pictures of your setup so that I can see what you're doing, along with the specific pars you're using (servo motor model, avr chip, etc.), I'd appreciate it.
hm, i rather neglected buying brackets. I used steel band, left over from my scissor-hand-projects. You can find it at any building site, just look out for material spaces: the palettes are mainly secured with such bands and it's lying around after the workers opened the palettes with metal shears.
Awesomesauce! :3 I'm trying to make this in half term as I want to learn electronics. It's very cute, I love it!
Hey, check page 2 of this doc. Feline facial expressions. <br>www.azhumane.org/PDFs/behavior/cats/felinebodylingo.pdf <br>You and your beautiful model hit it out of the park! <br>I love this project.
You have a target board hooked up to the USBTinyISP (see https://www.instructables.com/files/deriv/FTT/KLK6/GYUY0IJZ/FTTKLK6GYUY0IJZ.MEDIUM.jpg ). <br> <br>I'm trying my hand at this, but I have *no* electronic skills... could you please point me to a diagram for this target board? <br> <br>Many thanks.
The target board is just mapping the appropriate pin on the ATTiny13 to a 6 pin header. I've found this page to be quite good for a general description and help: <br> <br>http://www.evilmadscientist.com/article.php/avrtargetboards/print <br> <br>That page has the standard 6 pin header layout and the pinout (with the appropriate pins) for the ATTiny13 chip. <br> <br>You might also want to check out this instructable: <br> <br>https://www.instructables.com/id/Ghetto-Development-Environment/step3/The-Programming-Cradle/ <br> <br>It looks like he made a cradle for the ATTiny13 that's small and you could probably deduce how to make one of your own from that. <br> <br>One note of caution: The programmer from ladyada, that you have to assemble, needs a jumper instead of a resistor in order to work properly. In her 'Solder it!' instructions here: <br> <br>http://www.ladyada.net/make/usbtinyisp/solder.html <br> <br>There's a step where she says: <br> <br>&quot;If you are using the UsbtinyISP with a SpokePOV kit, install R4 and R7 (1.5K) as well. If not you may want to switch these resistors for jumpers (see the second photo for a 'finished' shot) as it will mean that target boards with loaded pins can be programmed.&quot; <br> <br>Since you'll be using the UsbtinyISP as a stand alone programmer and not for the SpokePOV, you'll need to replace those resistors for jumpers. <br> <br>If you have any more problems, feel free to private message me and I'd be happy to help if I can. <br> <br>Good luck and remember to post pictures! <br> <br>
ok, this is my first electrical build ever and i need to ask. how do you charge the power pack?
You'll need to get a LiPo battery charger. The above build uses a 2s 7.4V batte <br>ry pack, so you'll need a charger that can handle a 2s battery pack. Hobby King <br> has one here: <br> <br>http://www.hobbyking.com/hobbyking/store/__8247__Turnigy_2S_3S_Balance_Charger_Direct_110_240v_Input.html <br> <br>but you can always shop around yourself by putting in 'LiPo battery charger' in <br>either Amazon or Google. <br>

About This Instructable



More by abetusk:Animatronic Cat Ears 
Add instructable to: