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>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 http://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>http://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>
ya, might have wanted to added that in ''JIC''. the only other thing i might change is put all the stuff together that you got from hobby king. so when people order the parts as they go, not to put out multiple orders and having to pay for more than one shipping price.
Even though I'm a furry, I have a little bit of difficulty getting what this is for... What is this for? O_o <br> <br>Pretty brilliant regardless. c:
You list where i can find everything but an assistant? Where can I find one like yours and how much do they cost? (Can they be persuaded with animatronic cat ears?)
wow these will go great with my brothers cat bell i have to make these for his birthday he will love them and maybe he wont beat me up for an hour yayayayayayayay!!!! <br>thanks
This is my first time using perfboard, and I'm having trouble figuring out what bridges you've made on the other side of the board. Sorry for the noob questions, but I don't have an electronics background. Thanks!
I used the proto board I got from RadioShack (online here: http://www.radioshack.com/product/index.jsp?productId=2102846# ) and not perfboard. The main difference is that the copper traces on the proto board model a breadboard whereas the perfboard has isolated copper pads per hole. I've found perfboard to be messy and clumsy so that's why I used the proto board. <br> <br>I would suggest getting a simple setup running on some breadboard, i.e. connecting the power to the regulator, the regulator to the circuit, wiring at least one servo out of the micro, connecting the button and testing before proceeding further. Once that's done, you'll have a good understanding of how to connect components together. You can use either protoboard or perfboard for connections, I just prefer protoboard as I find it easier to work with. <br> <br>Send me a private message if you get stuck and I'll do what I can to help.
I'm a little confused here. Is there a simpler diagram for wiring this? i'm building this for a friend and am stuck on this step. Is there any help you could offer?
The above is a simple circuit showing the connection between the microcontroller, the servos and button. It doesn't include the regulator, battery or connection thereof. There should be four lines coming out of the ATTiny13, each going to the signal line of the corresponding servo. One line out of the ATTiny13 is attached to a button with a pullup resistor.<br><br>Each of the servos needs to be connected to the power line and grounded, along with the button, pullup resistor and microcontroller. The power should be from the regulator that provides a steady 5V from a lithium ion battery. The analogy is a wall wart: You plug in the wall wart into the wall socket then plug in your device from the wall wart to provide the power you need for your device. The 2 cell lithium ion battery is like wall socket power and the regulator is like the wall wart.<br><br>The 2 cell lithium ion battery is needed to provide the amperage necessary for the servos and the regulator is needed to provide a steady 5v and service the amperage draw needed by the microcontroller and servos (mostly the servos). Using a 9v or AAs might work (through the regulator, of course) but I've run into problems, I think because the amperage requirements of the servos is too heavy.<br><br>To figure out what color wire from the servo corresponds to power, signal and ground, I found the following web site useful: http://www.societyofrobots.com/actuators_servos.shtml .<br><br>I take it you're a beginner to electronics and so this stuff might be a little confusing. I hope the above addressed the confusion you had, but if it didn't, feel free to send me a private message to discuss this further.<br><br>Good luck and make sure to show pictures after you're done!

About This Instructable


293 favorites

More by abetusk: Animatronic Cat Ears
Add instructable to: