I needed a break. I’ve been working hard on the osPID for several months, and I just needed to not look at code or control algorithms for a little bit. Nothing says “break” like an out-of-left-field project.
I only started knitting recently. Something that’s been bothering me about it is the length of the needles. They’re 14″ long, and I’ve been worried they’ll be bent while riding in my backpack.
It occurred to me that some sort of collapsible needle might be useful in this situation. Taking my inspiration from elastic tent poles, I got to work on my “not PID” project.
construction
The first thing to do was cut the needles in half. I used a pipe cutter for a nice clean cut, then cleaned up the seam with a drill.
With the needles prepped, I then used a lathe to make the supporting inserts.
I didn’t quite get the diameter of the inserts right, so I touched things up at the sanding station.
To get some decent springiness, I looped 3 rubber bands together, then doubled that over. This was pulled through the insert and locked in place with a piece of paperclip. I then super-glued the insert into the pointed half of the needle.
The last thing to do was anchor the other end of the rubber bands in a hole drilled in the cap.
Results
I’m really happy with how these turned out. The weight increase was negligible, and the seam is almost invisible. It puts a slight drag on the yarn, but nothing major, and I haven’t had any hangs yet. Also, because the halves are connected, you can fold the needle with your knitting on it, without worrying that things are going to fall off.
About 5 months ago I sent an out-of-the-blue email to RocketScream electronics asking if they wanted to help me build an open source PID controller. It’s been far more challenging than I expected, but today I get to announce the release of my first open source hardware project: the osPID!
(pause for applause)
The goal was to make an open equivalent to the PID controllers you can currently buy. To do this we combined the Arduino, my PID library, some open-source auto-tune code, and RocketScream’s Reflow Oven Controller Shield.
In some areas we fell short: The case, for example, isn’t nema rated. If this thing becomes popular however, there’s no reason we couldn’t fix that.
In some areas we hit our mark: form factor, interchangable I/O cards, Autotune, onboard user interface.
…And in some cases we hit out of the park: It has a java trending/configuration Application, and it costs… wait for it… $85.
I’m really proud of the work we’ve done, and there’s more to come. Let me leave you with some videos I created to help introduce this release.
Beginner:
Intermediate:
Hacker:
For more information check out the (slightly rough) website we’ve created at osPID.com/blog.
I’ve playedaround with printing multiple colors using a single extruder, but by and large all the multi-color action was restricted to a single layer. There’s a good reason for this: every color change takes time, and having 2 or more colors run throughout the part would require a color change ON EVERY LAYER.
But I had to try. I had a great idea: a fairly understated bottle opener with different color text embedded on each side. To the uninitiated it’s a neat little thing, but to people who know 3D printing its a: “wait, what? how did you do that?”
Well, here’s “how I did that.” It took a LOT of time. I didn’t call it “The Saturday Killer” for nothing.
The Basic Idea:
Create a bottle opener with some multi-color text on the side. I chose a reference to the classic Simpsons line: “Beer. Cause Of. Solution To. Problems.” I knew it would be a complicated task, but it turned out to be even more complicated than I thought.
Step 1: Generate a separate STL for each color
Having already created the opener in OpenSCAD, this step was straight-forward. Position text on the sides (more on the font later,)
…use the Difference Command to create an opener with word holes,
…and use the intersection command to get a text object to fill each of those holes.
Step 2: Split each STL into printable segments
For the different colors to dovetail correctly, they can only be printed 2 layers at a time. To split the objects from step 1 into two-layer slices I used the difference command to remove all but a 2 layer section.
I then Generated an STL, moved the cubes, and repeated until I had all my slices.
Step 3: !#@$%@#$: Realize that this is way more complicated than you first thought.
Because you’re interlacing two or more STLs, how things are skeined becomes really important. If you’ve got a curve in the Z direction, or a transition that happens within a layer, things may skein one way for one color, but in a different way for the mating color.
So I needed to do a LOT more work, mainly on the text. I tried using a stock thingiverse font at first, but all the rounded corners were a killer, and I couldn’t get it to size correctly to an even number of layers. So I rolled my own:
If you look closely you’ll see that the text is blocky. This was done to confuse Skeinforge a little as possible. There are no diagonals or curves anywhere, and all transitions and openings take into account the layer thickness, as well as the width of the extrusion. This way there’s less confusion about how much plastic goes where, and the different colors are more likely to dovetail correctly.
Another thing that I added was a solid bar behind all the text. This caused the tool path to be much more continuous, resulting in nice, smooth letters.
Step 4: Actually Print
Now that all these parts were created they just needed to be printed out sequentially, with the Z-offset being adjusted at the appropriate time. My main aha moment during this process was that you need to turn off raft when skeining all but the first print, otherwise you get way too much plastic laid down.
I -of course- learned this the hard way. I first tried printing 4 openers at a time, and by the time I got to the middle of the opener there was so much plastic that the extruder started to catch leading to misalignment.
I scrapped that print and started printing a single opener, realizing the raft thing just after I started. The results were much better:
Step 5: Enjoy
I’m really proud of this thing, but I spent WAY too much time creating it. Hopefully this quick post did a good-enough job of explaining the process. I wanted to share this project, but for my sanity I just need to be DONE.
I’ve been making bottle openers for friends, and I recently struck upon the perfect design for my friend Matt. For some reason, he still pines for a hockey team that left our home state in 1997 (THEN won the Stanley Cup.) His opener got a Whalers Logo:
Up to this point, all my openers have been single color. But combine the fact that I’m jealous of the new dual extruder with the fact that Matt was my Best Man, and I decided that this time I would go the extra mile.
The procedure was straight-forward, and a huge pain in the butt:
First I printed a blank opener in the base color
Then I adjusted the Z-Height of the Thingomatic by 5.76mm (the height of the opener base)
When I switched the color to blue and printed the tail, the printer deposited the plastic on the white base as if it were the build platform
After switching colors AGAIN, I printed the W and the opener was done
This was a fairly simple multi-color design, but by breaking up the model ahead of time, this technique could be used for any part.
I recently posted an improved bottle opener design to Thingiverse. Unlike the mighty bottle opener, this is one that I’m proud to give out, and people are happy to receive.
Because I did the model in OpenSCAD, it turns out to be really easy to create personal, one-of-a-kind gifts for my friends. In this post I’ll go through the steps I took to make an opener for my friend deWit. He skis, and he’s pretty good:
Ok, maybe he’s really good. Anyway, this has been my favorite skiing picture since it was taken a few years back. I thought it might be nice to capture some of this awesomeness in opener form.
Step 1: Get the image into Inkscape
The first thing I did was use the Windows snipping tool to copy into Inkscape just the section I wanted.
Step 2: Trace
Using the Bezier tool I then created a rough outline of what I wanted to print. This was going on a pretty small area, so I couldn’t get that much detail. Also important to note, I only used straight lines. No splines; they don’t seem to work in the upcoming steps.
Step 3: Save as DXF
Having served its purpose, I deleted the image to leave just the outline. I then saved the file as a DXF into my OpenSCAD directory.
Step 4: Import into OpenSCAD
This was the only painful part. Getting the DXF into OpenSCAD is a simple matter of calling the linear_extrude function. The problem is that the scale, position, and rotation of theDXF were way off. As a result I also needed to add scale, rotate, and translate commands to get the DXF stuff into place.
The code selected in the image above moves the part by [-89,86,thickness], rotates it 90 degrees, and scales by 70% on the x and y axes.
Once I was happy with the placement I exported to STL and moved over to ReplicatorG.
Step 5: Check the GCODE
Just because I drew this outline didn’t mean that that’s exactly what would get printed by the Makerbot. We’re working with a 0.5mm stream here, and some details may have been lost. Luckily you can visualize the gcode before the part gets printed.
In the Skeinforge profile, I made sure that SkeinLayer was turned on. This brings up a tool path visualization after the gcode is generated. Going to the last layer showed me the tool path I was interested in:
So here we can see that I lost some important detail. The ski-poles and backpack straps are missing. Time to tweak!
Step 6: Tweak
When I traced out the poles and straps I made them too thin. As a result Skeinforge just ignored them. By editing the nodes on my path I was able to make the tin spots a little thicker. I then repeated steps 3-5 and was rewarded with this:
OK! Printing time.
Step 7: Print!
Aaaand done. Pretty cool right? Maybe not as cool as hucking air off the wall at Kirkwood, but I’m pretty happy with the results. As you can see the detail is pretty poor, but that’s the nature of the medium and the size of the canvas.
This one is really pushing the limit of what you can fit into that tiny space. Here’s two more that I did that might give you a better idea of what can be accomplished if you choose an image that doesn’t require as much detail:
I’ve been having a lot of fun making these. It’s feels great to be able to give an inexpensive gift that’s personal and useful.
I’ve lived in my house for 2 years now. 2 weeks after we moved in, someone who shall remain nameless turned our 2 bathroom house into a 1.5 bath.
They were cleaning the bathroom (that’s how you know it wasn’t me.) While leaning on the D-Shaped shower curtain rod for support, the whole thing came down. Come to find out the support brackets were woefully inadequate.
“I should really do something about that…” but we only really NEEDED one shower, and you can’t buy the brackets separately, so I did nothing. I wasn’t going to spend $100 for a shower we’d never use.
Flash forward to the present. We’re going to have a house guest staying with us for the next couple months. Now having 2 showers makes a lot of sense, but I still didn’t want to spend $100. So I set about designing a set of support brackets that would be a bit stronger.
I designed 2 sizes. one with the original hole spacing, and a smaller one in case the first guy wouldn’t fit on the Thingomatic’s build platform.
It turns out that I had to go with the smaller one. “Smaller.” Each bracket was was still a 3 hour print. It would have been faster if I hadn’t done 100% fill, but these are load bearing so I didn’t want to take any chances.
I’m not all that happy with the print quality, but they should be fine. I did the white one first, and about 2.5 hours in I accidentally disconnected usb, stopping the print. oh well. The next day I printed the yellow one. I used yellow because we were almost out of white and I didn’t think I’d have enough. The plastic wasn’t flowing as well with the yellow. I probably should have used a different temperature, but again, on a 3 hour print you just let it go.
All in all I’m really happy in the “problem solved” department. I’m not going to be doing pull-ups off this thing any time soon, but I’m pretty sure that the brackets will be the last thing to break if this ever comes down again.
I got married a couple of weeks ago. We did all the planning / decoration ourselves. By we, or course, I mean my wife. One of the things she wanted to do was have paper lanterns suspended above the tables.
The initial plan was to use throwies, but I felt they wouldn’t give as much light as a commercial 3 LED solution. This led me to a fun, albeit time consuming project.
The commercial version boasts a 12 hour life, which probably means 6-8 hours at decent brightness. I was looking for something that we could set up the night before, so I settled on 3 LEDs powered by 2 AA batteries. (It turns out that this provided bright light for 3-4 days, with the LEDs still going after 1.5 weeks)
The Design
The over-arching design constraint was to have the lights held pretty high within the lantern. Initially I had thought they would be in the middle, but because LED light radiates out in a cone, having them higher leads to more of the lantern being lit.
constraint #2 came from the fact that I decided to 3D print the frame. Since I was making A lot of these (75) I needed to make them as quickly as possible. This meant a skeletal design using as little plastic as possible. Here’s what I came up with:
There’s just a bare minimum of plastic there. most of the structural integrity comes from the batteries themselves. By making the batteries parallel to the ground I was also able to get the lights a little higher than if they had been perpendicular.
Construction
Designing / printing of the frame was only the beginning. I was able to print 4 holders at a time on sprout’s thingomatic. During the 38 minute print, I would wire up the previously printed set. It took me a while to settle on an efficient assembly technique, but here’s what I wound up with (mouse over for description, click for larger image):
Since these were designed to be used only once, and they weren’t going to be moving around a lot, I was ok just melting loops of wire into the ABS frame. Springs and plates would have been more robust, but also more costly and time consuming.
Once the unit was assembled, I inserted the batteries using a piece of paper to break the circuit prior to installation. While not technically needed, I also secured the batteries with tape so they wouldn’t fall out during transport.
One design wrinkle I ran across during setup: the 3 LED configuration created weird hot-spots on the sides of the lanterns. A single-ply piece of kleenex taped over the lights acted as a diffuser. It slightly diminished the intensity of the light, but it provided that soft glow we were after.
Results
I think they turned out great. They produced the desired lighting effect, and I got many “wait… you did what?” responses. In the end it took me about 20min per unit. considering I made 75 of these it was a complete commercial flop. BUT it’s always fun to exercise the design muscles, and I was able to contribute something personal to our celebrations.
I’ve been wanting something printable that I could carry around with me, especially after this Colbert Report thing. I finally settled on designing a bottle opener: something I could show off.
There’s already a bottle opener you can print, and it works really really well. Unfortunately it’s the size of a small moon, so you can’t really carry it with you everywhere. The reason it’s so big is because it uses a penny to bear the load. You need to have something metal to save the plastic, and a coin is an ingenious, albeit large, solution.
To make the opener smaller the coin would have to go. Using a bottle cap came to me almost immediately, but finding the correct implementation took some time. The Coin-Op uses the coin to support the full load, and initially that’s what I tried to do with a folded over cap. Things improved greatly when I discovered that ABS is strong enough to lift a cap, it just needs a protective layer to keep it from being chewed up.
And thus the Mighty Bottle Opener was born! As you can see, naming things is not my forte. I was looking for something that would encompass everything great about this new opener I designed: It’s smaller, lighter, key-chainable, yet still really strong.
…And then it was awful. The bottle cap barb above protected the plastic, but it kept getting pulled out by the opening process. There’s way more outward force than I anticipated. Of course I had already uploaded this awesome thing to Thingiverse, and it had gotten featured. Luckily it was project night down at Sprout so I started redesigning.
I settled on using a paperclip looped all the way around to the back of the opener. Now any outward force on the protector is resisted by something stronger than friction. I was kicking myself because Aaron from dinostudios had suggested using a paperclip maybe a week before. Oh well.
So there you go. A fantastic bottle opener and a design story to boot. We’ll see how well this design holds up. It’s still listed as a “work in progress” just in case.
UPDATE: This opener never really panned out. It works well when printed in PLA, but with ABS I was never able to effectively protect the plastic. I’ve posted a new design that works far better.
When designing parts for the Makerbot my tool of choice is Google SketchUp. I’m able to do this easily (and for free) due to the work of Nathan Bromham and Konrad Shroeder. Their skp_to_dxf plugin quickly exports my model into stl format, which can then be read by ReplicatorG.
One minor annoyance though. Every time I run the plugin I need to specify “Millimeters” and “STL”. I’ve been revising a lot of models lately; trying things out then checking the resulting tool path in skeinforge. Somewhere around the 20th time specifying the SAME THING, I decided to go into the plug-in code and just hard-set my options.
The result is my variant of the plugin, which I’ve labeled skp_to_Custom. I did almost nothing. I commented out the dialog code and instead included a section at the beginning of the code where you can hard-set your options. That’s it. But MAN has it saved me some aggravation.
Download
I’ve really been saturating the blog with ear-bud wrap posts lately. This should be the last one for a while. I decided to order some laser-cut copies of the earbud-wrap business card. They were a bit expensive, but I’ve been wanting to laser-cut something for some time. I went with 2-color acrylic, and I think they turned out really well.