The Ultimate CR2032 Battery Holder!

Apologies for the (mostly) joke title. I’m sure this is not the “Ultimate” CR2032 Battery Holder (as there are many) but I do think it’s a good one. Read on for my defense of this statement…

I came into the office one day and Josh said “Hey, I found this CR2032 and printed it, what do you think?” Which was… interesting, because I had been working on a design for a CR2032 battery holder. I didn’t finish it, for whatever reason (I probably started designing something else.) Anyway, I looked at the print and thought… I can do better!

Above is the one Josh printed (in front) and the one I designed (in the back). The one he printed had the batteries a bit too close together, so you couldn’t grab one to get it out using your fingers. For my version, I spaced the batteries a bit so you could grab one. (Note the batteries sort of “snap” in place, they aren’t just held in by gravity.)

My design was still not great… but after about a dozen revisions I had something good.

The design is parametric, and with the OpenSCAD file you can choose how many batteries you want to hold, and (slightly) adjust the space between them.

But the real beauty of this design is that you don’t have to space the batteries enough to grab one with your fingers… With this version you pop them out from the bottom! The batteries snap into place to hold securely, and you press them to get them out. (Check out the video below.)

There’s one more bonus feature… If you print two the same size you can use one as a cover.

Add a rubber band (or a piece of tape) and you’ve got a secure battery holder you could toss into a bag with little worry of any batteries shorting out. Neat!

But wait! There’s more to this story… At some point I asked Josh about the file he found, and he pointed me to the Thingiverse page, at which point I said, “Oh, I know the guy who designed this.” and he said “Of course you do.” to which I replied “Yeah, I hired him years ago for some exhibit work, and I’ve worked with his wife to produce Maker Faire Orlando.” and yeah, sometimes the Maker World seems a little small. But wait… also, I grabbed the files Adam posted and realized he did post a parametric OpenSCAD file! It still didn’t have the pop-out feature I added, but it did allow for changing the spacing of the batteries. (Josh just printed the STL example file that was there.)

So to wrap up, you can see the guide on these at, grab the files from Printables or from GitHub, and do whatever you want with them! We now use these at all the events we do when we have supplies out on the table, and they’ve been a huge improvement to just spill out batteries on the table or keeping them in the (difficult to open) packaging.


Hex Driver Handle

I’ve seen a few handles that convert a hex key into a “screwdriver” style tool, so I figured I would make one. (I’m sure there are better ones, but this one is mine!)

This one is two pieces. The main handle has a slot so you can insert the hex key, and then a piece to put into the slot. (Which I call the “Slot Filler” of course.)

When I printed this on the Prusa (not pictured) it came out perfect, and the slot filler filled the slot… perfectly.

When I printed it on the Maker Select Plus (the red version in the photos) it… well, fits, mostly… sort of. Hmmm. I had to X-ACTO knife away the blobs on the end. (Sorry, but the Prusa just prints better!)

You could always glue the slot filler into place I guess. It’s a wedge so it should “wedge” in place. In theory…

The first version had no slot filler, and no hole for the short end. I just smashed it into the slot. I figured making it removable might be a better option though…

Maybe it’s not a god idea? I don’t know. I did widen the slot a bit and added the slot filler. I just like designing these things and testing them out.

You can get the STL and .scad file from – Hex Driver Handle (2mm). Print it if you need it!


OpenSCAD Local / Modules Variables

I will start with the disclaimer that I’ve never held the title of “Software Developer” or even “Programmer” and my career has been built on being a “Hacker with Many Hats” kind of person. So I tend to go broad and not go deep on a lot of things. I’ll confess, I’ve used a fair amount of global variables in my code, probably some where I should not have. As an old-timer Perl Hacker, it’s… meh. My code was often quick & dirty to get the job done, not elegant and meant to last.

That said, even though I read an entire book on OpenSCAD I somehow had it in my mind that variables in OpenSCAD could not be changed during run-time, as it were. OpenSCAD is… weird, but I’m okay with that. Supposedly variables in OpenSCAD should be thought of as “override-able constants” rather than as variables in the traditional sense.

Also, I’ll admit that often I find examples of code either poorly written or too complex for me to immediately grasp. (I’ll let you decide which is which.) Here, you can read about scope in OpenSCAD User Manual/User-Defined Functions and Modules and OpenSCAD User Manual/General.

Or you can look at my example above… Because yes, you can change the value of a variable in a function / module! Variables are local within a module!

Here’s the demo code shown above. I am guessing 98% of software developers are saying “Duh!” right now… so this post is for me, and people like me, who may have missed this, may have been confused by this, or just needed a simple demo.


Wire Spool Holder

I use these spools of silicone wire and they come in a cardboard box with a hole to feed the wire through and every damn time the wire goes back into the box and I have to open the box and feed it through again and wow it’s a pain! This is an attempt to solve that…

Like some of my other designs I wanted a modular thing. The wire comes in six spools/colors but rather than one huge print each spool has its own holder. This makes sense to me. I thought about ways to interlock them, but eventually decided to just add screw holes and mount them all to a piece of scrap 1/4″ plywood that was near the laser cutter.

The hole the wire feeds through is just right for this wire. YWMV (Your Wire May Vary!) The OpenSCAD file allows for adjusting the hole. An X-ACTO knife or drill bit could also be used to fine tune things.

Advantages of this design? It is stackable. I can put stuff on top of it. (Maybe more wire spools?) I can pick up the whole thing easily. There is not one rod holding all spools, and you can easily remove/replace a single spool.

So far I’m liking this thing. It’s similar to my Chonky Solder Spool Holder. It took about four revision to this before I had the final version.

Here’s the first attempt. It was too difficult to feed the wire through the hole, so the hole got moved up and the half-circle notch was added to allow getting a finger in there to feed the wire through. The bottom lip was also added to allow for mounting to the board with screws.

You can get the STL and .scad file from – Wire Spool Holder. Print ’em if you need ’em!


Headphone Hanger (in OpenSCAD)

I wanted a simple headphone hanger for my office at work and I found a few really nice ones on but I wanted one I could easily change the mounting holes on, so I whipped this one up in OpenSCAD.

Does it sort of look like a dollhouse bed? Yes, it does…

Can of some weird seltzer my wife drinks for scale… Also, I made it parametric so you can make it longer or shorter if needed.

Here’s a really long one…

And here’s a really short one…

And here’s one that’s juuuuuust right!

If you change the length remember to take into account the full depth of your headphones, not just the band that goes on your head, otherwise they’ll hang at an angle against the wall. That long one could probably hold all of my headphones! (I have four pairs. All of the other ones are Sennheiser but the ones I have at work are some Audio-Technica I got from the dumpster.)

You can get the STL and .scad file from – Headphone Hanger. Print it if you need it!