Heart Gears

by emmett, published

Heart Gears by emmett Feb 11, 2011

Featured Thing!

58 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps



Use This Project

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

75046Views 16857Downloads Found in Interactive Art


I highly recommend using the most current version of this design, found here: http://www.thingiverse.com/thing:243278

For a very nerdy Valentine's Day, I give you heart gears. This was inspired by Greg Frost's Broken Heart http://www.thingiverse.com/thing:4683, but it fits in the palm of your hand and can be twisted like some kind of worry ball. It makes use of the heart shape from http://www.thingiverse.com/thing:6190, the MCAD involute bevel gear script from http://www.thingiverse.com/thing:3575, and nophead's polyhole script for making properly dimensioned tap holes http://www.thingiverse.com/thing:6118.

UPDATE: If you lack a 3D printer, you can now buy these from CarryTheWhat at http://www.etsy.com/shop/CarryTheWhat.

I was daunted by the complexity of Greg's design, so this one is much simpler, having fewer gears, and a much simpler attachment design (simply thread the bolts into tight plastic holes). It also uses a smooth heart shape and is made for the hand instead of the desk.


Each gear is unique, so print one of each (gears 5 and 7 are so similar, they can probably be interchanged). Skeinforge can be a pain, but to get around one bug I found, uncheck "infill in direction of bridges" in Carve. The one pictured was printed on a TOM.

For assembly, I recommend screwing each gear tightly into the center block so it can't turn and place each gear so they are smooth and continuous. The complete stl file is for assembly reference. Once they're all in place, loosen each screw a turn or two until the gears spin freely. Give to loved one.

The OpenSCAD file is fully parametric, so feel free to adjust to your heart's content. It's designed for M3 screws right now, but that's an easily adjustable element.

More from Interactive Art

view more

All Apps

3D Print your file with 3D Hubs, the world’s largest online marketplace for 3D printing services.

App Info Launch App

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Hey, so I dont have a 3D printer and have never used one however my boyfriend loves them and works with them everyday. So I was thinking I could send him these stl files under a different name for valentines day and have him unknowingly print this heart and assemble it as a gift because I know he would like the puzzle and the mystery. Is there anyway I can give him the stl file to print with out him knowing what he's printing. (my idea was to give the files and the screws over dinner as a gift so he doesn't know what he's making but doesn't need any to buy any parts for it)

That's tricky. The whole point of these programs is to help make sure you know what you're printing. Maybe you could get a coworker of his to print it? I also have newer versions of this design that don't require screws (see Remixes, or check my designs page). Also, you can just buy them pre-printed from several people on Etsy.

thanks! I think ill use your screwless design!

Is there any screws that would fit if I scaled my Gear Heart down to 75%?

Made one, but Slic3r had troubles with the center part, so I imported it in Google Sketchup, exported it as stl and then the slicing worked well

alef - in reply to 3v3

I'm having problems with it too can you please upload your stl file to thingiverse and tell me

 Hey, the new makerbot store is selling this object for only  $50-$750!

Made one, motorized it, put it on my wedding cake. Thanks for designing it! It was awesome!


thats epic !!!!!

Wow, that was epic! Have you posted instructions for this yet?

This is my gear heart. Bought from Etsy, painted by me. hope you like it.


Thanks for sharing! That's a cool paint job, and I'm glad to see our friends at Etsy are helping to bring these to a wider audience.

Since I was giving this to my three year old to play with and she can be a bit rough with things I drilled out the a counter-sunk hole in the core around each screw hole and used a glue gun to glue a nut into each countersunk hole. Then I drilled out the holes in the gear pieces a bit bigger so that they would spin freely around the bolt. Lastly I put thread-lock in the nuts and put everything together.

The end result is tight, doesn't have any slop and movies quite nicely. I'm not so hot with openscad yet but I'll see what I can do about modifying the design so it prints my modifications..

Pictures to come.

If you scale this 1.7X you can use M5 hardware. BIG!

I have all the parts printed out but my screws keep on coming loose when I turn it... Then when i tighten it a few times it strips out the center and I have to reprint it... There is alot of binding esp with the small gears. I have done a ton of sanding and It only improved marginally... printing out my fourth center piece now... DONT_KNOW

If your screws come loose, then the center holes may be too large or perhaps the gear holes are too small. You can adjust them in OpenSCAD, but it's kind of a pain. Sometimes it's easier to drill out the holes a little, and perhaps even use slightly larger screws. You should have to tap them pretty forcefully into the center in order for them to stay firm.

This is a very cool print. I feel silly asking this, but I am having a hard time figuring out the order of the gears. I know in the directions it refers to looking at the stl file, but I have no way of pulling it apart to see how the gears mesh.

It's easier to understand once you have the pieces in hand. I usually start with gears 1 and 6, because it's pretty clear how to align them by symmetry. Then work your way around, making sure that where each new gear meshes, the surface is continuous. I'll admit, it's a bit of a puzzle in its own right.

Thanks, I will give it a try. I put it together a couple of days ago and I can get the gears to spin, but they do so very roughly. I'll have to try your method as I am sure I have a gear in the wrong place.

Love your designs! Keep up the great work.

Thanks! You might need to sand the gears a little if the print isn't perfect. It can also help to put washers under each gear to space them out a little. In general, the more you play with it, the smoother the gears turn.

My wife loved this! She's been showing it off to all her friends.

I animated the heart with Pro Engineer and published the video on youtube. In the description I added a link to this page. Hope that's no problem for you.

Here is the link: http://www.youtube.com/watch?v=iadA_US6Czchttp://www.youtube.com/watch?v...

Thanks for sharing, that's a great way to visualize the motion.

Just started printing this out in tranclucent blue PLA, looks good so far.

My cupcake is choking on the overhangs on a couple of these :/

Confirming that this made an excellent valentines present :)

Thanks for the upload emmet.

Since I had to loosen the bolts a bit to get everything turning smoothly, I added M3 washers on the large gear shafts. This made it feel significantly sturdier by reducing wobble and play.

how do i make it half size but still retain the same bolt hole sizes?

can i resize the heart STL then run it through openscad?

i tried running the Stanford bunny and only got one ear rendered, not really sure what happened.

these geared things are really fantastic.

ok dumb question.. how do i export all of the parts? all i can get to render/export is the top middle gear

Yes, you'll have to edit the first part of the code. Read the comments, hopefully they are self explanatory. Replace gear1 with gear2, etc to get the other gears. The bolt sizes are defined separately from the heart size, but all are easy to adjust.

thanks, pretty clueless with openscad, this was my first real attempt with it.

A bit of warning for those attempting to print this... DO NOT use '0 extra shells' on these gears!

I did that with gear 2, and it ended up doing basically 100% infill for pretty much the whole print to compensate for the lack of shells on the slopes... =-O

After it finished printing, I confirmed that with '2 extra shells' the infill was my normal 25% (through the SkeinLayer tool)...

In the f
uture I'll definitely be checking the SkeinLayer screen after slicing to make sure I'm not in for an unnecessarily long and wasteful print...

Well, avoid '0 extra shells' on the big gears at least. The little ones may benefit from it, but the larger ones definitely do not...

I had a couple failed prints because the back-and-forth infill slowly rocked the parts off of my platform...


Is the 'one bug' you mention working around that when you have infill in direction of bridges on, it drops all your extra shells and makes the layer look awful?

That's a one-line fix to the SF source code that I've been using for a while now.

Yes, exactly. I just submitted a bug report about it to Enrique. I'd be happy to have your fix though. Any idea when that will make its way into a SF release?

Actually, he just noted that bug's been fixed in the latest SF at http://members.axion.net/~enrique/reprap_python_beanshell.ziphttp://members.axion.net/~enri...

I was using SF 39, but apparently that wasn't new enough.

This is great. Also, I too would like a 1,2,3 on the script. Something like a howto take a shape (like a heart) and gearify it. :)

Well, if all you want to do is make this type of gear arrangement with a different outer shape, that's very easy. Just replace "heart.stl" with whatever other stl you have in mind in the OpenSCAD file. Changing the gear arrangements themselves is the harder part. I did my best to comment the code thoroughly, so take a gander.

Oh that's awesome!

Would you mind helping me understand the involute gear script? Maybe a short tutorial or im session just t help me understand it better...

That's a good idea; I bet you're not the only one who'd like a tutorial on that. Makerblock has been doing his tutorial series on OpenSCAD already, so I'll talk to him and see if we could work a gear script session into his tutorials.

Have you tried using it already? Do you have any specific questions?

I'm having issues getting it to display even the test gears. I am a complete noob at openscad but I have been followwing those tutorials. I guess I need to know how do you generate the gears and center section I could easily difference it from there t get it int the shape I want.

For some reason Greg's gears at too complicated for OpenCSG to render properly (which is what it tries to do if you just compile). You always have to compile and render, which takes a long time, but always displays right. Plus you have to do that anyway to export as an STL.

I figured that out but I cant get openscad to import my stl I ran it through netfabbs cloud service but to no avail. What would cause openscad to not import an stl?

Also do I need to comment out or remove the stuff about heartsize and such?

If you read the code, you'll see those are just scaling parameters; adjust as needed or make different ones. You will have to edit below the "do not edit" line.

If OpenSCAD doesn't like your stl, it probably isn't manifold. That can be a pain to fix. Maybe try something simpler first.

I've tried like three of four files now and none of them will plug into the script. Either the stl doesn't load (though there was a typo I fixed to get rid of that error) or I get the polygon winding error.

Kay I got the stl to load but the I can see what is going t be cut when I hit f5 but f6 generates no vertices.

Maybe your stl is too small? If you're rendering one gear but your stl is only the size of the center block, intersection will give you nothing. Make sure your stl is ~50-80mm in its various dimensions (or adjust the scale as necessary).

Speaking of OpenSCAD not liking .stl files, is there a fix for the polygon winding problem?