Preassembled Secret Heart Box

by emmett, published

Preassembled Secret Heart Box by emmett Jan 26, 2013

Featured Thing!

123 Share
Download All Files

Thing Apps Enabled

Open in Customizer 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

199530Views 36981Downloads Found in Interactive Art


UPDATE: I have new a much better version of this design here: http://www.thingiverse.com/thing:1221494

I really enjoyed Eric Young's design of his Secret Heart Box, but I didn't relish hunting down all the required parts to put it together. One thing I learned from designing the Blossoming Lamp is that it's entirely possible to 3D print complex, preassembled mechanisms without breaking the 45-degree rule. I took it as a challenge to show that it's possible even with something as seemingly complex as this locking heart box. See the video here: http://youtu.be/PPqLB-bv4gY

UPDATE: By popular demand, I've modified the customizer code so you can now add words to the top of the heart. Make sure your valentine knows it's just for them.

A big Thank You to the good people at Makerbot and the bot farm for printing 100 of these as favors for my wedding. It's good to have a friend with a factory.


Just print it: no assembly or extra parts required. The key to sliding mechanisms is the tolerance between the parts. I'm using 0.4mm, which on my Replicator 1 is just right to keep the parts from totally fusing together, but gives a light friction to keep them from moving too easily. When it first comes off the print bed, usually the corners are slightly fused together. Just use a putty knife or razor blade to separate them. Start by prying the lid open (the center is a strong area for prying against). Then close it again and twist the two halves (it only goes one way, see the video or pictures).

Don't be afraid to use force; the worst that happens is it breaks and you print a new one. I made this for the Customizer App, so you can easily tweak the tolerance if you're having trouble. 0.1mm makes a lot of difference. You can also change the overall dimensions. Just keep in mind, if you make H too small, there will be no room for the mechanism and it won't work. You may also have to change the distance between the hinges if you change the size, or they might end up outside of the heart. Check the bottom view to make sure.

More from Interactive Art

view more

All Apps

Customizer is the easiest way to take great 3D printable designs and make them your own. Make your OpenSCAD designs infinitely more valuable by empowering the community to customize them.

App Info Launch App
Customizer Thing App

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

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

3D Print a wide range of designs with Treatstock. Easy to use tools to get the perfect result. The global 3D printing network that connects you with high-quality and fast working print services nea...

App Info Launch App
6 hours ago - Modified 6 hours ago

Printrbot Smalls having a problem printing this great mystery box. A video showing the problem is at https://www.youtube.com/edit?video_id=d1lHdgujyuA

I bought the Printrbot Smalls 3D printer last weekend at the Maker Faire. Although there are no end-to-end how-to-build-this-kit instructions provided, the videos from Brook Drumm (Printrbot's founder) were helpful enough for me to build it. I tried printing the Secret Heart Box in PLA. Unfortunately the print fuses the center part of the box parts - these are supposed to be connected by a rotating joint. I've printed this before in ABS on an Up Mini successfully and its fascinating that the joints and pivots work right out of the printer.

I am using Silc3r on a MacBook Pro and Pronterface to create and print the gcode. I put the STL and Gcode files for download at https://www.dropbox.com/s/b8oflzbouwt0ewd/Heart%20box.zip

Any help would be great.

Anyone tried making this with a Prusa i3 MK2? If so what settings did you use because no matter what I try, this turns out bad. The lid is the worst part, the underside looks horrible and it turns into the pill shape too easily. My tolerances aren't right and not sure where to set things. Any help is appreciated.

Comments deleted.

I tried twice it did not work. Now I ll try again.

I highly recommend you do not use any support bridges. Almost impossible to open without breaking.

I usually print with 2 shell layer, and for these prints I went to a 1 and had no problem with anything sticking except near the gears a little, but for the most part it was fantastic.
Awesome design and work!

Thanks a lot for this awesome design! I printed it with PLA using a Dagoma Discovery200 (Slicer : Cura by DAGOMA) within one hour or so.
There is post production to do but I followed instructions given by Emmett and with some patience it worked! I also put some silicone lube to have a smoother opening.

Jul 12, 2016 - Modified Jul 15, 2016

This is genius! Just gotta love emmett's cleverness is programming these shapes using SCAD.

I tried this several times with different settings to get a good ABS print, but each had at least one problem. My next to last attempt was the best using:
1 shell
.25mm layer
210C filament
100C plate

The worst problem was in the bridging for the top piece. It appears that many are printing with PLA and with aggressive cooling that seems to work really well. I wanted to get ABS to work, and the one remaining problem was the ABS strand along the cleave line for both the upper sections and lower sections would get stretched by the first layer fill. One solution is obviously to use a slicer that does the top fill along the Y and X axis (as emmett's shows). However, the slicer I've been using insists on doing a 45 degree top fill and that would drag the filament along the cleave line out of sorts.

Having to pick and choose slicers just rankles with so many builds, so instead I added a small shelf along the inside top cleave line that allows the top layer to fill in any direction as it's hardened enough by the time the fill layer is required. That worked great! No supports required.

It's the first time I'd seen or used SCAD and I was blown away by emmett's ingenuity and clear spatial reasoning. I added the shelf in the hollowbase routine and will post the mod in another entry.

Kudos for a great design!

Hey i printed this model three times with default settings and nothing works. the spinning part wont budge and the heart seems to be stuck in the middle...i tried cutting it with a sharp knife but it didn't do the trick. i printed it on a makerbot replicator and the print seemed to be fine.any idea why this happens?

Great design, worked flawless for me. Only thing that didn't work the first time was the top layer. I have no idea what printers you guys have but for me 2-3 cm bridging without sagging sounds impossible (and didn't work with my printer). On the second try I used:

supports everywhere
type "lines"
support angle 60 deg
fill 5%,
0.7 mm x/y-distance and
0.2 mm z-distance

in Cura. This worked like a charm: You can still open the box easily and when it's open, the supports just break away without any force or residues. With 5% supports fill you just need to bridge about 1 cm in default size.

Andy S91 - Perfect guidance on the Cura side! My print was perfect - my first ever print to go all the way thru the end on the first try - print! The supports removed perfectly.
Emmett - your designs are wonderful. Thanks for sharing your files. Print in place are my favorite types of prints to learn on. Gladly gave a tip to encourage more work from you.

I printed this with Hatchbox wood PLA and your settings worked great. I had no idea you could dial down the support settings (I've only used Cura for about a month now).

Thanks for the settings and to the original designer! It came out beautifully!

HI... amazing mechanism

is it printable on having single extruder 3d printer?

Amazing design!
Printed on makerbot rep with 0.2 layer hight no support and even more important no raft.

hey my impressions give all wrong ... they do not open at all ... help me with the technical details of printing. even without support everything is pasted below. all fittings ...

Love this print.
to make a cool 2 tone heart on a makerbot 5th gen . set up with rafts. start the print when it reaches 30%. Pause and swap out for different color. when it reaches 80%. Pause swap back to original starting color and let the print complete . When you fold it up colors on top and bottom will match. Translucent colors work best. red and clear or purple and glow in the dark blue. let me know what you think

I printed one at an Ultimaker with 0,12mm hight and it works like a charm. My girlfriend loves it and im still amazed by the moving parts in one Print. Thanks alot.

i printed this one without any modification, just download and print and the mechanis dosent work, it just wont open...... any sugestion why it might happend this way?.

the specs are 0.2mm tickness, 3 top 3 lower layers, 100% infill and 3 horizontal layers, white PLA, i sliced with slic3r and i didnt really messed with any specs just the standart 210c nozzle temp.

Mine also does not open, There is no slice on the innerside of the outer edges to allow it to open.

This appears to have been an issue in Slic3r 1.1.6 and 1.1.7 for me. Slicing in Cura it worked fine.

Thanks for the info i Will Check cura and see what can i find

Just printed this out on my Cube 3. I am still amazed that it can move like it does straight from printing as a single part. Even now that I have it in my hands, I still cant understand how it printed it.

Comments deleted.

Congrats, your model made it on my top 3D Printed Valentines Day Gifts! See here for the article: http://3dprintingninja.blogspot.com/2015/02/top-5-free-3d-printed-gifts-for.html

Jan 30, 2015 - Modified Jan 30, 2015

The EL inside the heart can be problematic if you use the Customizer. When using customizer to make a smaller version, the EL overlapped the rt hinge, messing up the hinge entirely. Otherwise, fantastically clever print! Once I can figure out how to get it to print right, will be printing a bunch locket-sized ones for Valentine's Day.

Failed printing customizer version of it 20x20mm, 10mm high, with a hinge of 10. High Resolution (0.1mm) on a Makerbot Replicator 2, no supports, no rafts, red PLA. Otherwise default settings. Took 45min for a failed print. Customizer is really wonky and forgot to add the axle that the heart rotates around when scaled that small, so it ended up printed in 2 halves with nothing to hold them together. Even at that small a size there was significant sagging in bridging areas, so if you have a similar printer to me, I'd recommend adding supports. Other than the EL issue mentioned earlier, the hinges for opening the heart are just right, no friction but no excessive play either.

I'm so sad I'ts not working. I'll try edditing this a bit

I have printed the box and can open the compartment but I can't get it to twist where extacly am I suppose to cut?

you may have to force it. almost impossible for PLA. easier for ABS

I am looking to fit a cylinder inside one of the compartments. Would you mind telling me the approximate maximum size of a prism/cylinder that could fit inside the box at 100% scale? Thank you!

I printed it twice and both time it needs at least 2 more layers on top and bottom, it's just to flimsly. Could you please correct it by having it put 2 more layers at least on the bottom in the beginning? and the same at least 2 layers on the finishing top. That would make it a nice heart, The way it is it just not worth printing. Thanks Ron.

Note the 63 that people have made and posted here. A lot of this has to do with your particular printer and slicer and how well calibrated it all is. Also, as noted in the instructions, if you want one with thicker walls, just use Customizer and choose a different thickness. That's why I made it parametric.

Hi, I tried twice and not successful with my prints. what I did was disassembled it and print it by parts and it worked somehow this time (not 100% perfect). but my next problem is, with ABS the walls are not durable enough, PLA has better layer bond but the bond is too well I can't break it loose to make it rotate. so I think with ABS, by adding atleast 2 more shells to the wall will make this very durable. problem is I don't know yet how to do it the ideal way. top and bottom has no problem since the position is favorable to them. only problem with the walls.

oops, sorry I wasnt able to see the options in customizer a while ago. I'll try playing with it now

My heated bed on the Ultimaker 2 fused the bottom together and i am struggling to make it twist. Any suggestions?

="thingiverse-9c449771d0edc923c2713a7462cefa3b:disqus" href="http://disqus.com/thingiverse-9c449771d0edc923c2713a7462cefa3b/emmett What CAD program did you use?

I'm probably late, but that link is comedy! Just hit refresh for more lol

@emmett this would be helpfull

Soon to be leaving thingiverse because of Makerbot's behavior towards open source.
Details: http://www.fabbaloo.com/blog/2014/5/25/has-makerbot-crossed-the-line-for-some-yeshttp://www.fabbaloo.com/blog/2...

Printed great on my Makerbot 5th gen Standard resolution. Using a tool to wedge into the middle and pry the lid open makes it super simple to pop the lid

I am the 1000th Collector!

What is with the letter p inside?

Mine says EL inside!? Must have changed girlfriends...

It's always said EL (my monogram); if it looks like a p, the printer is probably miscalibrated.

The default model wont print on my printrbot simple. One hinge was jammed and then snapped. It also won't turn. I am currently printing one with better tolerance.

Whenever I try to slice it using Slic3r, it freezes up. Any ideas?

zpj - in reply to zpj

Cura works perfectly. My new favorite slicer!!! I especially like the Minecraft Map import.

But you print it without support material?
I don't have yet my prusa, but in a week i will have it!!

Initially, I had problems with the upper surfaces when I was printing this on an Ultimaker. But, when I reduced the speed from 50mm to 20mm/s, it printed great. Thanks for a great design.

emmetts, this model (like many of yours) are heavily bugged with dangling edges. For a few of the previous ones, I manage to fix them with netfabb. Unfortunately, this one is just way too buggy that even netfabb couldn't fix. It would be great if you can fix this one, or point out which parts of the scad code causing the dangling edges. For your information, some of the dangling edges are located at the joints.

Thanks in advance.

So I made this but the top layer was flimsy you guys printing with support or have multiple shells?

this is so cool keep the making going ok?

Hi all,

Well it is driving me nuts. I cant slice it with Slic3r.
Always a wrong gcode and "crossing triangles", whatever that may mean.

Any Idea? Thx!

Yeah, Slic3r has had a variety of problems with this model; sounds like the latest version hasn't helped. Did you try running it through the netfabb cloud service first? If that doesn't help, you may want to try another slicer.

Thank you for your relply,

Yes i have tried their cloud service, even downloaded the Programm ... it wont help,
What other plicing programm do you recommend?

I use Makerware; it can export Gcode, but you'd have to put your start and end on manually if you're not using a Makerbot. I think Cura is free, and I know a lot of people who like KISSlicer.

Thank you,

I will try to hunt down the error tomorrow, because its not about the heart only, but rather that my Slic3r is really annoying me. So mby the Problem is with me. If i can't fix it tomorrow, can you pls send me the gcode, I neet to give this to my girl for valentine ;)

Your awesome gift idea was featured in the latest Fused News episode about 3D printable valentine presents. You can check it out here - http://www.youtube.com/watch?v=3s8M1dHwiNs&feature=youtu.behttp://www.youtube.com/watch?v...


I'm working on a Upmini with 4 failed prints different settings. I cannot adjust speed and the slicing is not user modifiable,if the machine finds a bridge it uses support automatically in case not using it and set for only base the only adjustable setting is Part angle wich is 45, an speed wich is set to fast... Any hints?

Sorry, I've used a variety of UP printers, and their slicer is just not capable of printing this design yet. This is the trouble with closed source software; it's not so easy to plug in a different slicer.

I've managed to pull it out standing up like a cone, 50 min solid infill about 16 gr abs, a little steeping of course in the bottom but it works. I have the option since the first failed print but wanted to pull it out the other way..as you say configuration is the main problem little frustating but finally working.

Did anybody print this successfully in ABS? I have some pink ABS and would like to print that for my wife.

Has anyone printed this scaled down? I'm thinking 75%.

Amazing! I just printed one for my daughter and she keeps opening and closing it! Great design, thanks!

Printing 20 personalized versions for my daughters 4th grade class. So far working great at standard settings on Makerbot Replicator 2. Some of the bridges fail to connect at the top of the heart, but it recovers one the next layer as the holes are small. Attempting to get smaller by about a millimeter in each dimension each print. Trying to save print time, and eventually I will find the minimum "good" print size.
Adding some text personalization to the inside base for a secret message.(keeping your EL stamp to pay proper homage to an awesome design)

hi Emmet, is it possible to get a .STP file of this? and what settings do you use to print? 0,1mm layer thickness?
thanx, Leejoo

I use one shell and 10% infill. Layer thickness is up to you (whatever bridges best). The .scad file is the native format; I have no ability to make a .STP file. If you want to modify it, I'd recommend using Customizer, or downloading OpenSCAD and changing the code there.

do you print 0%infill?

I printed this on a replicator 2 with the default Medium resolution settings and it came out perfect. Print time was 1h 15m, and used
16.2 grams of PLA.

Thanks for this! I printed off a couple for the Tulsa maker faire this weekend and they were a huge hit! (The geared bearing, too!)

Has anyone succeeded in getting this awesome box to print on a Lulzbot? I'm having issues with the top part/bridge... any recommendations such as reducing the printing speed or using a fan? Sorry if this question is silly... I'm relatively new to 3d printing, and just love this design!

Did you have a problem slicing it? I used slic3r and the base of the heart was gone...

I was able to properly slice it, but the top bridging layer would not properly fill. I've actually since modified the top layer (don't have much time access to the Lulzbot I am using), and have extruded the top layer to twice the thickness. Additionally, I lowered the bridging speed. I think it will work this time, although it may require some touchup with an exacto. It's printing right now, so I will see how it comes out. The base was fine using even the standard *.stl using slic3r for me -- not sure what's going on there. Have you tried opening it in Blender and taking a look?

I opened it in sketchup but I didn't find any problems.

mm, not sure then =\ for the record, thickening the top layer fixed the issue with the bridging, along with decreasing the bridging speed. although, mine broke on account of the gearing in the center fusing ~_~;; guess I need to tune the retraction settings now... either that, or print it on a better printer.

I have a problem with slicing this in slic3r can anyone help me? It's a very cool box and I want to print it so badly...

with or without support structure?

emmett - in reply to

Without. Just make sure your bot is tuned up for doing good bridges. A fan helps with PLA.

An excellent test part for assembled build without support material, but it would take some tweaking for us to reliably print. We tried printing this twice on our straight-out-of-the-box MakerGear M2. 3 of the 4 hinges worked perfectly at .4 tolerance and all worked at .6; .5 is probably the right setting. However, the top spans give us a mess and the center pivot partially bonded. The top seems to really want more of a shelf at the (very thin wall) edges -- it's more about spans not catching the edge than sag. The pivot overhang bonds toward the open seam, but there really isn't a need for it to have so much overhang. I should mention that we're using cheap Chinese PLA and printing it fairly hot to get really great bonding -- all our prints are obviously watertight.

Yeah, this is definitely a test of both printer calibration and slicing. In the comments below, someone mentioned that it helps to use zero extra shells in order to give the bridges something to stick to. Likewise some perimeter overlap can help too. I also found bugs when using Slic3r, so you might try Makerware, or something else. And always inspect the Gcode before you try printing it.

It's about time this got featured. They must have skipped over it.

i printed this max size its great!

damn emmett, true talent !!

The middle pivot point doesn't work so well for me. Its quite loose and wobbly. From what I see in your pictures the pivot "rod / rivet" takes about 240 degree of the hole but the one got from the customizer ends up taking about 45 degree.

Yeah, that's what happens when the height is too small. Reducing nub will help a bit, but there is a limit to small scale.

="thingiverse-9c449771d0edc923c2713a7462cefa3b:disqus" href="http://disqus.com/thingiverse-9c449771d0edc923c2713a7462cefa3b/emmett have you ever tried to do an acetone surface treatment to one of those preassembled prints? Im wondering if its possible or if everything gets glued together.

Absolutely amazing - I still cannot believe that it works, even while holding the result in my hand! It prints beautifully in PLA on a Replicator 2, highest quality - no trouble whatsoever.

Now I just have to

  • Figure out how the box locking mechanism works
  • Accept that OpenSCAD may be useful even though the incredible slowness of rendering in GCAL
  • Start making preassembled things!

Bridging = fail for me. Any tips or pointers? I'm on a rep 1 running Sailfish. Is faster or slower better? Thicker or thinner layer height? More or less shells? What about top and bottom layers? The hinge seems to work, so I just need to get the top to print right. FYI, this is just too cool! I'm simply too fascinated by capture prints like this.

That's the same as what I run. I used Makerware at 120mm/s. The secret for me is PLA with a big fan pointing at the print. Also check the gcode to make sure it's bridging in the right direction.

I think no extra shells may be the key. My first print was looking very good until the very end, when the bridges were not landing to the outer walls of the box. I had 2 extra shells on -- but looking at the wall more carefully, the ends of the bridge had no "landing pad" to go on because the shell had already claimed any space supported by the previous layer.

I will try again tomorrow. What I did salvage looked good and worked well except for the poorly finished top surface.

I've now printed two of these successfully -- turning off the extra shells was key.

Amazing as usual, Emmett. In the Customizer, would it be possible to add a text message embossed in the lid, like the custom ring thing?
I feel a bit like the guy that says to the magician, "Sure, you can juggle chain saws, but can you juggle flaming step ladders? "
Ignore if it's too much work.

Good idea. How do you like the update? And besides, who wouldn't want to juggle flaming step ladders?

You, sir, are awesome!

hahaha. i approve of the initals you put in the printed file.

i went to check on the print and saw some rouge lines and thought NOOOO its messed up already!

Great piece. Works better on my Replicator 2 at .15 slice since, when bridging the top of the case, 1) the strands are thinner and thus lighter and 2) more layers are produced to hide the ones that fail.

Can't believe it. Pre-assembled. Amazing.

Are you a wizard?!

:) Glad you like it, Tony. Have you printed one yet?

You and tbuser are the wizards of thingiverse.

4 prints - 4 failures - every single one is fused beyond any ability to move the parts. I have tried varying tolerances. My printer is very well dialed in (printed Eric's very which has extremely low tolerance very well). I am printing in 0.2 mm - do I need to go finer?

I printed with 0.27mm layers. Sometimes the slicer is the problem; slic3r tried to attach the pieces so I used makerbot's slicer instead. I recommend checking the gcode in a viewer. I also used PLA with a fan; warping could be part of the problem.

I have tried both slic3r and skeinforge - unfortunately I dont have access to makerbots slicer (is it something I can obtain without the device itself?). I did use a gcode viewer but will go over it again. Perhaps the problem is being too fine.

Ok looks like a new version of slicer did the job. 0.9.7 was a tad buggy it seems. 0.9.8 left me with a nice print

Framingr - Did you have to repair the STL in netfabb after seeing the error reported by Slic3r 0.98 or was your 'nice print' from the STL as-is?
Thank you.

It printed ok without repairing.

Slicing if slic3r gives me an error with an hole in an edge. Will try printing first before repairing it in netfab.

Fabulous! I'm fascinated by printing mechanisms in place. My print only required a little scoring around the hinges. The central pivot is a bit loose, so I may try fiddling with the clearance.

Is there any way to make the walls more than 1 perimeter? Slic3r won't create more than 1.

I used Makerbot's slicer in Makerware, which worked great. You should be able to use the customizer app to increase the wall thickness (T).

As I have the same problem how do you solve it

thank you

As I Have the same problem, wht did you do ?

thank you

It seemed like it was printing well but the end result is fused together. I thought 3rd time would be a charm but unfortunately, no. Moving on.

I made a dérivative to this one, first I ask the customiser to make one with wall 1 mm , tolerance 0.5. after that I went in netfabb basic and I sliced just under the upper shell. I exported the 2 resulting parts in stl ascii and imported the result in sketchup. a bit of cleaning to get flat plain surfaces on the top and under. I made some etching with the letters , exported everything in stl. went trought nettfab online to fix te bottom part (can't figure what was wrong but it was fixed. I sliced it with slic3r 0.2mm high 0.49 wide infill 0.5 with a scale effect of 150%. I got a nice box with the hinge perfect

I know it is a cheat to slice it for the printing but as it is supposed to be a gift, it must be perfect, no approximation on the bridges.

I can post the stl and the skp files as a derivative if somebody need it before the 14 february ;-)

Can I assume this thing needs a bunch of support to print?

No, requiring support in a design is cheating in my book. The lid is made by bridging, which most 3D printers have no trouble with.

Having just finished my version of Erics creation I now feel compelled to print one of these as well. Amazing stuff from both of you.

Very challenging print!! Nice job!

Simply amazing!

Also, it was fun to see the hidden monogram in the gcode-viewer. :)

This is incredible, nice work.

I feel honored and really impressed at the same time. Really nice work as usual :)

Thanks, you're a great inspiration.