MakerBot Print is our newest print-prepration software, which supports native CAD files and STL assemblies,
allows you to interact with all your printers via the Cloud, and many other exciting new features.

Download Now


Stackable Resistor Storage Box [Customizable]

by STTrife Sep 28, 2018
Download All Files

Thing Apps Enabled

Please Login to Comment

Thanks for this design. I added a "lock" component for the single box, so the single box is now easy for transport. The "lock" is an simple square ring that fits closely around the box and the drawers.

the drawer cold use a small drop at the end, so that it doesn't slide out as easy. Now it's a bit silly. When you tilt the box all the drawers slide out.

Thanks for the suggestion, I will think about it when i have time again to work on an update!

Printing drawers with multiple compartments in the Y-direction seems to have an unintended dimensional side-effect.

3_1 drawers - the ones designed for resistors - fit the box perfectly!
3_2 drawers are a little longer. They protrude a little bit when in the box.
3_3 drawers protrude more.

So, it appears I've found a bug. To illustrate, I've attached a picture of two drawers lined up for comparison: 3_1 vs 3_3.

I hope this info is useful.


If you change the 'normal' number of compartments in the Y-direction, it also changes the size of the box. That is so because each wall between a compartment needs a little space, and each compartment has a fixed size that may not change. If you want different number of compartments in the Y-drection in the same box, use the 'custom drawer' method in the customizer. In this situation you leave the normal number of compartments the same as when you printed the box, and then any 'custom drawer' will fit that box. The compartment sizes will then adjust so it will fit the box you had.

Great design - I've instantly started printing little drawers for M3 bolts and nuts.

However, with these small objects, an issue has come up:

Both Drawer() and CustomDrawer() sports a 'top indent for dividers' that lowers the walls between compartments enough to allow tiny objects like m3 nuts moving from one compartment to the next if tilted/shaken. So I replaced your indent with a pair of slices that prevent objects jumping left-right while still allowing for multiple compartments in the Y-direction to work without obstructing the stoppers. This, however means that object movement between the left/righthand compartments is possible throught the cutouts.
Oh well. Here's the relevant code:

    //top indent for dividers
      //  SmoothCube([indentWidth, indentDepth, smoothRadius+1]);

    //cutouts for stoppers to pass through
        SmoothCube([stopperWidth*2, indentDepth, smoothRadius+1]);
        SmoothCube([stopperWidth*2, indentDepth, smoothRadius+1]);

And a picture too - attached.

I see no reason to have the original indent in place, so I'll suggest to incorporate the small change proposed above.

Cheers :)

Thanks, this might be very useful for some people! Perhaps I will make it a choice in the customizer. The standard indent does look better in my opinion aesthetically, so I wouldn't want to remove it altogether.

If the box stop tabs were not at 90 degree angles, there would be no need for supports that could mess up the print :) If someone could make the two trapezoidal stops on each shelf 3D instead of 2D you could avoid the need for supports. Take the 2d "face" and extend it backwards into the box at a 45 (or even better, 30) degree upwards angle. This would not take any significant space from the storage area, and would still be an effective stopper, but would be a cleaner print.

EDIT: Just found the scad files - they are a little bit 3D, but not much. I'm trying to hack it now ...

EDIT2: Ok, I'm not scad-master, but this seems to work OK. Printing :-)

module Stopper()
      translate([0, layerHeight*28, 0]) rotate([90,0,0])
          linear_extrude(height=layerHeight*28, scale=[1,9])
/*    for (i=[1:stopperSteps])
        translate([0,stopperDepth*2-(i-1)*layerHeight, 0]) rotate([90,0,0])


Thanks for sharing! Have you tried printing the original design without supports? The stoppers are already designed to be printable without supports.

I did print the original some time ago on a Monoprice MP Select (https://www.monoprice.com/product?p_id=21711) , and it did have supports, but it's possible I had my Cura settings set to generate support for even low-degree overhangs.

FWIW, the original design worked great, I just remembered having to do a bit of post-print cleanup so I wanted to try to avoid that. Using default cura settings though, I don't see any supports being placed, so maybe I just had something wrong originally. I'm already half through printing this tweak, so I'll let you know how it works out :)

Well I wouldn't call those low-degree overhang, it's around the max overhang that i could get away with :) So the idea is to disable supports completely when you slice it. I'd love to see some pictures when you're done printing, if you have the time!

Sure, I've uploaded some before/after shots at https://www.thingiverse.com/make:635208 . Note that the "before" picture is from a print I've been using a while, so some of the marks on it could be from wear. The front profile is nearly identical, although it appears a gentler angle resulted in a very-slightly better front face. The stops do feel much stronger and break-resistant. If I re-print though I will probably reduce the stop depth a bit, I think it's a bit too deep - makes inserting / removing the individual drawers just slightly too hard, if it was like 2mm less it would be better IMO.

Question - I see your original stopper is building layers one by one - is there a good reason to not instead use the "slices" variable on linear_extrude to get the exact number of slices you want?

Stackable Resistor Storage Box [Customizable]

Thanks for posting the pictures! Perhaps it would be an idea to make the stoppers stronger by making a less steep angle, however, on my prints I cannot break the stoppers by hand by pulling on the drawer handle as hard as I can! (PLA). So if the standard stoppers are very weak for you, you might consider a different filament or different temperature/extrusion settings etc.

The 'slices' parameter doesn't really do the same thing as creating separate layers, it will add more refinement, but still outputs a sloped mesh. This slope can be sliced differently by different slicers, and that is what I want to prevent. I want to tell the slicer exactly where to put plastic. If you look at the model in the attached picture, you can see the stopper starts at 62.40 mm height (multiple of 0.2) and each layer of the stopper is exactly 0.2mm (1 layer height) and is squared at the sides. All slicers will slice this in the exact way I modeled it as long as the layer height is set to 0.2 and no settings like increasing the width of the first layer to 150% etc.

are the resistors any good that you linked

Comments deleted.

I model the connector in Fusion 360 and tweak the settings for my print.

Thanks, I put a link to the STL in the description for others to find.

Awesome design!!! Thanks for including the openscad files!!

Thanks for your comment!

Can I not just print all middle middles and assemble them however?

Yes that works too.

Thanks for this and the source file. I need a 3 high for under my printer for printer tools. This will work great. It's in the queue to be printed.

Thanks for your comment!

First - thank you for your work!
Second - I think that walls of drawers could be thinner.
Third - I prepared 2 rows height version of drawer (attached).

Thanks! Currently the wall thickness can be adjusted if you change line 82: drawDividerWidth = 2 * layerWidth;
Note that printers have a layerwidth, so if you want to make them smaller use 1*layerwidth. This is the thinnest you should choose. It's also not really recommended to use 1.5 or so, some slicers may behave differently than others (some might still only do 1 layerwidth walls).
Thanks for attaching the double height drawers. Perhaps these will be useful for others as well. But also note that you can make the same size boxes as the default, but then with only 2 drawers (double height) using the customizer.

Hi, would you have the openscad parameters you used for the tolerant version of the drawer?
Maybe put them in a comment in the file too. This is just for other people since I'll just try and guess something because waiting for people takes even longer than doing a few test prints, ehh...

I also noticed a small issue with the drawer front items (labels and handles), that is they're just hovering right there in front of the face instead of part of the face, so it seems random (left one wasnt, right one was...) whether cura includes them continously as part of the outline of the drawer or just prints them "in the air right next to the drawer" (that is by doing a retraction, move, and a tiny print),
which resulted in quite poor quality for my left label frame.
I did a small adjustment like this:

// put the things on the front of the drawer this much inside it (for better STL output)
drawerFrontEmbed = 0.05;

handleDepth = (handleHeight*0.5) + drawerFrontEmbed;
labelFrameSpace = 0.8 + drawerFrontEmbed;

module CustomDrawer() and Drawer():
y = -drawDepth/2 + drawFrontExtra + drawerFrontEmbed;

(I'm not using handleThin() so i didnt touch it, but likely much wouldnt change anyways...)

And now the layer view in cura shows the drawer being printed with a nice continuous outline instead of jumps to the label frames (didnt test print this yet, will right after I've figured out some values for the tolerant size).

EDIT: The stoppers in the box have the same issue, they're not really considered part of the thing they're attached to and ended up being printed very flimsily attached, i'll leave this up to you to figure out :P

Thanks for your comments. I know what you mean with the floating parts, I've noticed that in several other places before and fixed it back then (added or substracted 0.01), but haven't noticed the ones you mention yet, so I will fix those too. Apparently simplify3D doesn't have a problem with it, that's why I never saw it. But you are right even in my generated files they are separate parts.
For the tolerant versions I haven't written those values down I'm afraid. For the drawer I believe I used 'drawer shrink' at something like 0.2. This Monday I can look at it (I'm not at home this weekend). To find it out yourself, you can use the '3D-tool free' software and measure the sizes of the STL file of the tolerant version, and test several tolerances for drawer shrink and compare the generated STL files with the tolerant one from here. If you find them, please let me know and I will put them in the description, or else you'll have to wait until Monday.

Yeah i was mostly asking because there doesnt seem to be a convenient spot in the .scad file for adjusting the drawer like that - i can see even just from cura stats that the total difference is that the tolerant drawer is smaller by a total of 0.2mm in height (16.2 to 16.0), 0.1mm in depth and 0.3mm in width.

Since I will need to print a new box anyways (multiple reasons), i think i will print myself a "tolerant box" instead as that is what the comments indicate will change when you adjust the tolerances in the file...

The shrink drawer setting is back now (drawShrink) if you every need to reprint only a drawer that doesn't fit. But indeed the original idea is to make the dimensions of 1 compartment exact, use drawer walls of multiples of layerwidth, so therefore the box has to be adjusted to make room for drawers. But later I realized that people probably want to reprint drawer instead of box in most cases, so I added an option to shrink drawer a bit. Then I removed it for a while, and then redid it in a slightly different manner (without resising the front of the drawer).

Thank you for perfect storage box, I was looking for this a long time!

I am printing boxes and drawers now, they fit nice, already 18 drawers and 6 boxes, with the goal of 9 boxes and 36 drawers :)

i have small problem with connector, after printing, the connectors height (y axis) when laying flat (on x axis) is smaller and connector only fits in one box slide, could it be caused by settings of my printer (ender 3)?

Thanks for you comment. Can you show the problem with a picture maybe? Did you set your layer height to 0.2 mm? The way I inserted the connectors is placing two or more boxes facing down (so the slots for the connects are up), and then pressing a connector in and gently hammer them in. I'm not sure I understand the exact problem you are having from your description so a picture with comments would be nice. If there is a fitting problem I might be able to add a tolerance settings for the connector to make it a custom fit.

Yes setting are correct, I tried printing the connector verticaly e.g. standing on smal sides, see pectires ant then they fit into the holes/slides in boxes but unfortunately they collapsed during printing (missing supports)

yeah they are not supposed to be printed standing up, because they are too thin and long for that. But if they fit when you print them standing up, but not when laying down, then you may have an issue with the Z axis on your printer? I also notice in your picture the connectors seems a bit crooked and droopy. Do you use enough cooling on your PLA? The thickness of the connector is supposed to be 3.2mm (if you use the default STL files on thingiverse). Perhaps do you have a caliper to measure then thickness of your printed connector? Btw if you made custom box using the thingiverse customizer or openscad you should check the STL file to see what the dimensions of the connector are that you are printing. I use a program called 3D-tool which is free and can measure sizes of .STL files.
btw if you are unable to get it working, I can always just create a connector that is a bit thicker in the middle for you.

Boxes and using the tolerant drawers look good. I too am having issues with connectors. I have a new unmodified Ender 3 Pro and have not calibrated it yet. Still learning the basics. It's almost like my slots in the drawers are a little tight. Using the tool, which btw was a great tip/find. The side is showing 5mm. If that was a bit smaller and the middle showing 1.2 was a little thicker it might be better. I have tried pushing in and about halfway the friction causes the connector to snap. Also, it is tight just pushing in on one side. I am printing with draft mode.
Any thoughts?
BTW, cool project.

Thanks for the design, i have printed some boxes and drawers, the design and fit is very nice.
I will post a make when it is finished.
Now i want to make 1 box with the same height and width but wit 2 drawers, can you tell me how the settings are for the customiser?
Because i think if its edited to 2 drawers and double the height of the drawer, the height of te box would come a bit shorter than your standard design and it will not fit?

No it won't fit if you make the a version with 2 drawers and twice the height, because of the different number of spaces between the drawers. Currently what you want is not possible in the customizer unless you know the exact height for the new drawers. I was working on a version of the customizer that could do what you want easily, and it was finished, but unfortunately I saved an older version over the newer version and i lost about 50% of the work, after which I didn't finish it again because of frustration. But I can finish that version again and upload it somewhere this week. I'll post a reply to your message when I upload the new version!

Thanks, looking forward to it.

I updated the customizer. If you choose 'custom sized box' you can do what you wanted to to. The default custom sizes are set to the original size box, so if you choose custom sized box, and change the settings to 2 drawers instead of 4, you should get a box that is (very almost) the same size as the original, but then with two drawers. Let me know if it works!

It works! i'm printing the second customized box to fit inbetween the standard design.
The first box fit like a glove, i wil post a make at the end of this week when everything is finished (for now ;-) )

Thanks for the extra work on the customizer!

Nice, looking forward to your make!

Thanks for the design, i have printed some boxes and drawers, the design and fit is very nice.
I will post a make when it is finished.
Now i want to make 1 box with the same height and width but wit 2 drawers, can you tell me how the settings are for the customiser?
Because i think if its edited to 2 drawers and double the height of the drawer, the height of te box would come a bit shorter than your standard design and it will not fit?

Hi and thanks for this design, I wasn't searching for it, but it will definitely solve my years of wondering how to tidy up my resistors!
But, because I want to print tiny things, I will go with a DLP resin printer which molding volume doesn't allow for the box size ... Would it be possible to design a case for only 3 drawers height so it would fit ?
Thanks a lot !

That should be easy using the customizer. Click on the 'open in customizer' link, and set 'draw rows' to 3. Then click on Create Thing, and wait for it to finish. If you are having issues with the customizer let me know and I will generate some STL files for you. Please let me know then which boxes you want (single, or stacking etc.) I would love to see the box printed on a resin printer! Could you post a make when you are done?

This is the thing I just wanted! My desktop is totally messed now! Thank you!

Thanks for your comment!

Comments deleted.

Very cool idea. One enhancement that would be useful (especially for electronics newbies) would be a couple of small holes in the front of each drawer to attach a sample resistor. The label slot is great, but (also) having a visible sample resistor makes it 1000 times easier (IMHO) to match up and put away extra resistors (especially for people that have poor eyesight or have trouble reading/calculating the resistors values).

Anyway, great design!

Thanks for your suggestion! It's a nice idea but I'm not sure where on the drawer I could find room for 3 sample resistors. One or two would be possible, but 3 seems hard. Where did you imagine these holes would be exactly?

I kinda forgot that there are three resistors per drawer.

But one idea would be to simply add three sets of holes behind where each of the labels go and then people could use resistors or labels (or both; one on each side). Some people may like having resistors on the left vs the right, and inclusion of three sets of holes (stacked) on each side (in the label areas) would not preclude the use of the labels, it would just add another option.

Anyway, it was just a thought...It's a great design in any case. Well done!

Print labels with both text and the color codes on them. Or glue the example resistors on the labels.

Good Idea :) BattleQuest, let me know if that works for you instead of the holes.

That would certainly work as well, although (IMHO) the holes would work better since it is far easier to compare two identical resistors than a picture and a resistor... but honestly, they both work... Actually, I guess I could just use a thicker stock of label and put the resistors thru them and cut the leads as needed.

In anycase, I still think the holes would be a good idea to keep in mind if you have some other reason(s) to revisit the design, but I can see that they would not be worth the effort all on their own. Of course, it’s your design, so totally your call. Awesome design in any case... Thanks for sharing it!

I will keep it in mind, I'm just wondering how many people would use it. It would be easy to add some holes to a standard drawer, but much harder to incorporate it in the customizer. So if anyone seconds your idea I might try to implement something like that in the basic setup, or else, if you still require it, I could send you a custom version of a drawer seperately with some holes with your specifications, easy enough to do it for one drawer manually...

Very true… It is certainly easy enough to drill some holes, or just to put holes in the label. I’ve never created a customizer design, so I was unaware that it would be a complicated addition… And you’re right I’m not sure how many people would find useful, so it may not be worth the effort on your part. Certainly it is not a big deal to me personally, as there are many other workable solutions for my particular customized print.

In any case, thank you very much for taking the time to respond.

Merci, thank-you, C'est toi qui a fait le plus gros du travail.

Comments deleted.

Très bien conçu et s'imprime facillement

Thank you for this thing! Thumbs up to you!

  • Posted with 3D Geeks Thingiverse Browser App
Comments deleted.

Thank you for this thing! Thumbs up to you!

  • Posted with 3D Geeks Thingiverse Browser App
Comments deleted.

Thank you for this thing! Thumbs up to you!

  • Posted with 3D Geeks Thingiverse Browser App
Comments deleted.

Great design. I have been trying to customize to use with all of the screws I have. Every time I do a create in Customizer, it errors out after 10 minutes.

Compartment size: 40x40x30
Compartments per drawer: 4x4
Number of Drawers: 1x4

Is Customizer timing out or am I requesting a design it cant handle? Thanks.

Hi SerialMonkey, there are no real limitations on the design, so it shouldn't be a problem. Timing out of the thingiverse customizer can happen, but if you try again later it might work again. I tried your settings, and it seems to work, but one time it timed out when I wanted to see the drawer. Maybe try again? See the screenshot here: https://imgur.com/a/gnAveWD. What also might help is changing the parameters one by one, and waiting for it to render the object before changing the next one. Alternatively, you can download the ResistorBoxV2.scad and manually adjust settings in the file using openScad, or using the customizer build into openscad (see here how to enable it: https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/WIP#Customizer)

If it keeps failing, please give me the exact settings (including anything else you changed like tolerances) and I will generate a derivative for you.

Hey STTrife. Thanks for looking into this. I attempted to create a custom version again around 02:00 ET, still getting an error. The models render fine in the site, but once I click create, that is when I see the error. See attached images for settings and Customizer error. I even tried using the default settings, same result.

I also downloaded the files and attempted to open in OpenSCAD, but there is nothing. The .scad file in the downloaded zip is 0 bytes. This leads me to believe there may be an issue with the .scad file that is currently stored in Thingiverse/Customizer.

Thanks for reporting. Indeed, I did not try creating a new thing before, I assumed it worked because it rendered correctly in the preview. I also found a 0 byte scad file. Both problems are now fixed. I don't know about the 0 bytes, that solved itself when I re-uploaded the file. The error with the customizer had to do with the text showing on the INFO part. I was able to customize your version now. It does take 5 or 6 minutes...

That looks to have indeed fixed the issue. I was able to create a customized version and download all the necessary files. Ive got a couple days worth of prints ahead of this one, so I will let you know how it turns out.

Great! good luck printing. I would love to see your print when it's done :)

Comments deleted.

Thanks for great work. I printed boxes for resistors and capacitors and put it on the wall. Then I decided to use same concept for all other componets. But found a problem, that is not possible to customize same size of box with two drawers with double height or one drawer full size. It is because calculation starts from size of drawers and not size of box.

Thanks for your comments. It is correct that you cannot start from box size. I was thinking about making the same storage box, but with a customizer that starts with a box size. I didn't know if anyone would need it, so i havent done that yet, but now i do, so i'll try to implement that. It will have to be a separate 'thing' on thingiverse. I'll post a message when its done.

Thanks, this is exactly what I needed. I printed a test unit it on my Prusa i3 mk3 (changed slic3r settings to match your recommended layer width+height), and it turned out great. I only printed middleMiddle boxes since I don't mind having the stacking slots visible. I'm printing it in ABS.

Next I'll print a much bigger version (2*4 compertments per drawer, 2 columns and 9 rows for the box) so I can store the E24 resistor series decades from 1-10,10-100,100-1k,1k-10k,10k-100k,100k-1M all in one box, with mounting holes. I was happy to see this was all prepared in the SCAD, just slight setting tweaks necessary :)

Printing the big box will take 48 hours. This will be my longest print so far.

Did you succeed with your 48 hour print?

Awesome :) I would love to see it when it's done! Hopefully your printer can handle 48 hours of printing, that is insane :D

Amazing, exactly what I needed. I was looking for such a drawer without success, I began to design it in OpenSCAD, and I found yours. This is a lot better than what I began to design and exactly fiiting my search. Thanks a lot.

Thanks for your comment, good to hear that it is useful to you! Let me know how it works out, I have only tested this on my own printer, so I'm curious to see how it prints on other printers and if I need to improve anything. Good luck!

I already printed 4x3 drawers by pairs, I'll print a double box (2x7) at the end. The result is amazing, you took care of all the small details (rounded corners, label holes, ...) I only have one feedback now : the default hole length is enough is you have raw components, but when you have stripes of components, the length should be few millimeter bigger. Anyway, I began with these dimensions, I'll continue. ;) Next feedback, with photos, when the box will be printed.

80 hours later... ;) Your design is very good... and very long to print ;)

Were you able to print the drawers? And do they fit?

Yes, I printed 8, still have to print 6. I print them by pair. Despite I set horizontal expansion to -0.2mm, I have to rework them a little bit (approx 1mm) to fit (width and height).
I'll post the final result when it will be printed and in use.

Hmm I wonder if that is an issue with the customizer or your printer/print settings. Could you send me your exact customizer settings and the STL files you generated? I would like to see if they generated properly with the correct tolerances. Thanks for your help!
Also you might consider using the same settings but increasing the 'Draw Shrink' in the tolerances to make the drawers smaller in horizontal and vertical directions. The other three options in the tolerances settings change the box so they don't do anything to the drawers.

Wow, that is huge, and looking good :) Is your build plate large enough for the drawer though, since it needs to be printed lying down?
I might increase the standard length to 70 mm, thanks for the suggestion.
Of course you can also publish a 'remixed' version yourself, using the customizer, with specification that you think are useful for other people.

Yes, bed is 30x30, I can print 2 drawers at once. I don't want to "fork" you project. I don't like forks ;)

Thanks again for your feedback! How many millimeter more would be needed to make the strips fit? I might update the standard settings and STL's to make it fit better. Looking forward to seeing your prints! I still haven't seen any other prints so far besides my own, so I'm very curious :)

Well, here is my usecase. Don't change the design, but you might just need to increase the default values.

My goal is to store 1300+ resistors (E24 serie, 7 decades), chemical and ceramic capacitors, and eventually inductances in a compact storage (3.3Ohms with 3.3µF, ...) as long as the values are the same and the components are visually different enough. I started to print my first drawer (4x3 compartiments) from OpenSCAD->Cura->Octoprint->CR10 in PLA, configured with a .4 nozzle, .2 height and .48 width. I also ordered color PLA spools to print the other drawers and enclosure.. It will take some time, but I'll try to post pictures.

Cool, i'd love to see that. If you need help with any specific configurations or additional features let me know. The customization on this thing is pretty flexible but I can always add more features if it can't do something you want. I'm also currently printing boxes for small capacitors, with compartments of 20x25mm in a 2x3 configuration. But ran out of pla :p

Hi there!
How much plastic does it take each of those blocks of 4 drawers (approx)?


Simplify3D calculates it's about 134 grams (0.30lb) for 1 box and 4 drawers. Roughly half of that is for the box, and the other half for the 4 drawers.

Comments deleted.


can you maybe create a STL file with a box without any walls and with in the directory Pack? That would be really perfect. Thanks for the cool idea! Very nice Work!

Thanks for you comment. However, I don't understand what you are asking, can you explain some more?

I'm sorry for my bad english!
I would need the file Drawer_TOLERANT only without the walls in the middle. So a complete empty drawer. Can you take this to the files? That would be really nice!

Thank you very much!

I added an empty drawer as you asked. I also made several other updates that I planned.

Sure, i will make that tonight!

very cool!! Thank you soo much!