Tuesday, September 9, 2014

Parts printed for a friend

Here are some pictures of various parts I've printed for a friend.  He did up really nice pictures to illustrate the final use of each.

Replacement for a part of a water dispenser cap (the printed part is the white portion of the bottom right photo):

Tripod foot

Binocular bracket.  The knobs at the end are for elastic bands to hold the binoculars in place.

Car cap.

It's fun to be able to help out others with minor repairs!

One of the interesting things about these prints is that my friend's first tries at files didn't all work out well.  Here's what the "Car Cap" was supposed to look like:

And here was the first try at printing it.  The bottom set of pie-sectors ended up printing inverted!  

This was due to a set of inward-facing normals in the solid model.  They were actually flagged as a problem by the slicer, but I didn't notice the error message until after the fact.  Not sure what software he used for the original design.  After doing a little research, he used a model-fixing web site to fix the problems, and the new models sliced and printed out just fine.  KISSlicer does a better job of identifying potential model problems than Skeinforge/SFACT.

Tuesday, August 26, 2014

First Thing on Thingiverse

My daughter has been reluctant to admit that the 3D printer is cool, but she finally made a request.  She wanted a basket to clip onto her bed, to keep stuff in.  To really understand this you need to know a bit about the bed.  It's an Ikea Kura reversible bed  with canopy.  She has it in the loft configuration (at left) with a canopy like the one shown at right, but blue and a bit larger.  The canopy is supported with what are effectively tent poles that slot into brackets that clip onto the bed railing.

Mana wanted a basket that would clip on in the same way as the canopy supports.  The first step was to recreate the bracket.  I did this by measuring out the dimensions of the bracket, drawing it out on graph paper, and then entering polygon coordinates into OpenSCAD.  I did the rounded edges using sines and cosines at 10 degree intervals.  With the basic clip shape defined, I could extrude into the 3rd dimension to make the clip.  A quick test-print verified that it worked as well as the original.  Then it was an easy matter to add a male hook onto the bracket that I could use to attach  the basket to the bracket.

Here's the code :

railHeight = 42;
lipHeight = 15;
thickness = 5;
railWidth = 42;
depth = 25;


// Add hook


where RailClip is a module that just extrudes the polygon as described above.  I parameterized it so that it would work with arbitrarily-sized railings.

The basket was also pretty easy:

pi = 3.141592;

angle = 30; // Select in part based on overhang your printer can handle.
h = 100; // Height of basket cylinder wall
rad = 50; // Radius of basket
npts = 40; // Number of bands around the circle
bandWidth = 2; // Width of individual bands

// Calculate twist for linear extrusion based on overhang angle and cylinder height

twistangle = 180*tan(angle)*h/rad/pi;

// Cylindrical wall

for(i = [0:npts-1])
linear_extrude(height = h, convexity = 10, twist = twistangle, slices = 100, scale = 1.0)
linear_extrude(height = h, convexity = 10, twist = -twistangle, slices = 100, scale = 1.0)

// Bottom rail


// Top rail

// Female part of clip


I kept the bottom separate as I wanted to print the thing upside-down to avoid the need for support material.  I considered doing something fancy to fasten the two pieces together, but ended up just making the bottom a disk that I super-glued onto the basket wall.

Finally, I uploaded the whole thing to Thingiverse.  It's now Thing #442097.  I saw that someone else had been thinking along similar lines and already created a hanger for the same bed.


Sunday, August 24, 2014

Rapid prototyping

I recently had a great experience helping a friend with the 3D printer.  He is very into sailing, and is planning a year-long trip with his family down the west coast of the Americas.  They needed a bigger boat for the trip, and after purchasing one and refitting it made an unfortunate discovery.

The problem they had was this (as I understand it, being a landlubber): the sails are raised and lowered on the mast using small rectangular "cars".  The cars (pictured below) fit in a slot on the mast, and the end pieces pictured below keep a tight seal between mast and car that keeps the bearings in place.  The end caps that my friend had looked like the black one on the left. The cross-piece of the T shape was too narrow, however.  When the wind blew hard it allowed a space to open between mast and car, which caused the bearings to spill out onto the deck.

Replacement end pieces could only be ordered from a company in Denmark, at a price of $4 each.  With 7 cars, and two caps each, the cost adds up.  Worse, delivery was slow, and the catalog didn't show the detailed dimensions, so it was impossible to tell which piece was the one he needed.  The alternative was to buy entire replacement cars, also shipped from Denmark, at $90 each.

So my friend came by one evening, and in the course of 3 hours we did 5 design iterations, coming up with a piece that seemed to fit pretty well.  I printed two in PLA, and he took them back to his boat to test them out.  One more sub-millimeter tweak and we were good to go.  I printed out the final set of 14 in ABS, as there was a lot of question about whether PLA would stand up to weathering well.

They're taking the design files with them, in case they need more printed later.  

Wednesday, July 30, 2014

This 3D Printer is Fully Operational

At the end of last week I received a replacement heater cartridge from the printer manufacturer for the second extruder hot end, which up until now had not been functioning.  They threw in a spare as well, which I thought was nice.  

Anyway, I disassembled the extruder assembly, removed the defective heater cartridge, and replaced it.  Since the new cartridge had new wires associated with it, I had to redo all the wire routing as well.  A bit of a pain, but not too bad.  In the process of reassembling the extruder assembly I discovered why I had been having trouble getting the vertical bolt in the extruder assembly to thread.  Looks like it wasn't really a problem with the nut not being held tightly enough in place, but more a problem with the bolt itself.  I replaced the original (top) with a spare (bottom), and it screwed in with very little difficulty.  Looks like the original had some threads stripped.  Whether it came that way and I didn't notice or the stripping was the result of all the fiddling I did trying to get it to tighten, I can't say.  

So with the extruder assembly reassembled and the two hot ends carefully leveled relative to each other, I was finally able to do the dual-extruder calibration.  This prints a series of squares with each extruder.  By identifying the one where the two colors are right on top of each other, you can adjust the relative positioning setting in the firmware.

One thing I noticed while doing this is that dual extruder printing is not a trivial exercise.  When an extruder is hot but not being actively used, it tends to ooze a little filament.  This is a big problem when both extruders are hot but only one is being used.  The ooze from the unused extruder ends up sticking to the build where it's not supposed to, messing up the print.  

A little research uncovered this video that explains the issues and potential solutions nicely.  It also has a cool lesson on what you can do with a new flexible filament type called Ninjaflex.  Check it out.  I ordered a spool, and will be trying it out over the next few weeks.

As a last step in setting up the printer, I cut some glass from a cheap picture frame I bought at Michael's.  I now have this laid on top of the heated bed, so I shouldn't have to worry any more about the possibility that the bed is gradually being warped by the shrinkage of the plastic as it cools.

In addition to ordering some Ninjaflex, I also ordered some ABS.  So we'll soon see how the printer deals with different filament types.  I'm also strongly thinking about buying my own filament extruder  so that I can make my own (and supply it to friends and school), but not sure when I'll have time to get to it.

Monday, July 28, 2014

What I like about the Felix 3.0

A few things that I really like about this 3D printer:

(1) The display unit allows printing without being connected to a computer.  All the initial printing I did was using the USB connection to drive the printer directly from my laptop.  This was kind of a pain, as the laptop was then tethered to the printer for the (fairly lengthy) duration of the print.  Now that I have the contrast set properly on the display unit, I can put the GCODE on to a micro-SD card and start the print up without connecting the computer.  Very convenient.

(2) Upgradability.  People who bought earlier versions of this printer were able to download and print their own upgrades, or order just the necessary parts.  I figure things will be changing rapidly in this field, and hope that with this printer I can stay near the front edge of the home printer field with relatively little further investment.  I also liked that there were standard printable accessories on the web site, and user-contributed improvements.  Shown below is an improved Z-axis limit sensor fine adjustment device.

(3) Openness.  It's using all open source software.  Repetier Host, Skeinforge, Slic3er, etc.  No proprietary filament needed, just standard 1.75 mm PLA or ABS.  

(4) Design.  More and more I'm coming to appreciate the design of the printer.  With the version 3.0 the manufacturers have really worked out a lot of the design kinks from the earlier versions, and have replaced the previous printed parts with mass produced injection molded versions.  The solid metal frame  seems very sturdy and provides a large build area.  The hot ends also seem pretty reliable.  Of course, I don't have a lot of different comparison points, but I'm pretty satisfied with what I've got.

Finally, I'm really glad that I opted for the kit and built this thing myself.  I think if I had bought it preassembled I'd be a lot more timid with it, but since I put the whole thing together I have a lot of confidence that I should be able to fix anything that goes wrong with it.

Thingiverse Prints

Looking for fun and useful things to print, I went to Thingiverse.  Found several files for iPhone bike mounts, from which I chose this one:  http://www.thingiverse.com/thing:350389.

My first try for this was printed horizontally, and ended up as a support material disaster.  Way too much of it, and way to hard to remove.  It did motivate me to investigate the Skeinforge slicer settings, however.  The Repetier Host "Help" wasn't particularly helpful at all, but I did eventually find this page with decent explanations of what the myriad options actually do.

I ended up going to Craft->Raft and changing "Support Flow Rate" from 1.0 to 0.7.  This should mean thinner support material that is easier to remove.  I also tried printing vertically, with both exterior and interior support.

Much less material this way, and it came off pretty easily.  One of the interesting things about this print was that the overhang on the bridge-shaped part that fits over the handle bar came out pretty well without any real support. A few threads of filament sagged significantly, but the print recovered and by the time it reached the top you would never have known there was a problem.  The surfaces where I had to remove the support material do look a bit rough, though.  Maybe time to switch to ABS and try sanding or acetone to get a nicer finish.

When I went to mount this on my bike, I found I didn't have the right size zip ties handy.  That got me to thinking: maybe I could print zip ties.  Turns out you can find zip tie designs on Thingiverse, but they don't print well in PLA, as it is too brittle.  My test print worked, but promptly broke after a little bending.  Maybe I'll get some Ninjaflex and try again.

Another thing I found on Thingiverse was a design for a baseball stand.  Kai (my son) had brought back some souvenir baseballs from his trip back east to visit his grandmother, so I thought I could print him out something personalized to put them on.  Unfortunately the thingiverse contributor did not upload the CAD source files, so I had to redesign the stand from scratch in order to customize the text.  

This ended up being surprisingly easy, taking only 6 lines of code (counting by semicolons):


cylinder(h=10, r=25,$fa=3);
cylinder(h=10, r=20);
writecube("Orioles",[0,0,0],[40, 30, 10],face="top", t=8,h=7);
writecylinder("Camden Yards Summer 2014",[0,0,0],25,25,center=true,west=180);

Printed one for Camden Yards, and two for Fenway Park:

One more Thingiverse print, made for my daughter.  Took this arm band to work to show off, and everyone thought it was way cool, especially that the whole thing was printed as one interlocking piece.  Check out the instructable video.

Thursday, July 10, 2014

Home-printed toolbox

Here's the home-printed version of the toolbox.  The print quality was about the same as the Makerbot, with one noticeable improvement: no sag in the lid corner. 

I printed the box portion with supports, and it ended up putting buttresses on both the inside and outside.  The outside ones came off pretty nicely, but as you can see from this photo I had trouble removing the inside one.  I'm going to have to look at the SFact slicer settings to see if I can control the supports a bit better.  Another thing you can see in the photo below is the internal honeycomb structure of the automatically generated infill.  This avoids wasting material while maintaining structural strength.  

The time required for this print was about the same as for the Makerbot, maybe an hour and a half for the box and a half hour for the lid.

Thursday, July 3, 2014


Things I've bought in support of this ridiculous (but fun!) 3D printer:

  1. Set of metric allen wrenches
  2. Set of socket wrenches
  3. Wire stripper
  4. Metal ruler with 1/2 mm markings
  5. Grounding strap
  6. Soldering iron
  7. Soldering tool set
  8. Solder
  9. Exacto knife
  10. Heat shrink
  11. Suction-cup clamp
  12. LED magnifying glass
  13. Two 1kg spools of PLA filament
  14. Cordless Dremel tool
  15. Dust cover
  16. Glass cutter
  17. Sewing machine oil (for cutter)
  18. Glass pane (from picture frame)
  19. Hair spray
  20. Denatured alcohol solution glass cleaner
  21. Micro SD card
  22. Gloves
Things I've used that I already had
  1. Assorted screw drivers, large and small
  2. Needle-nose pliers
  3. Adjustable wrench
  4. Multimeter
  5. Teflon spray lube
  6. Hammer
  7. Wire cutters
  8. Spatula
  9. Calipers (borrowed)
  10. Dental mirror
Things I had to get to assemble the printer that weren't in the kit

  1. Replacement optical sensor after pins broke
  2. Longer screws w/nuts for fastening one of the sensors
  3. Thicker M4 nuts for extruder assembly
Things I've printed so far
  1. Thin-walled test objects 
  2. Objects for filament spooling mechanism: 3 triangular doodads & 1 support arm
  3. Filament dust-cleaning attachment
  4. Tweezer holder (mounts on printer frame)
  5. Replacement knob for display  (the one delivered with the kit had issues)
  6. Parts for improved Z-axis leveling device, posted on forum by a Felix user
  7. Mini engraved and embossed memento toolbox, in 2 pieces (my design!)
Issues I've overcome

  1. Broken pins on one of the 3 optical sensors (broke due to excessive bending during wire-routing attempts, ordered replacement sensor)
  2. Too short screws for mounting one of the optical sensors (replaced with longer)
  3. Non-grabbing bolts on extruder assembly (used thicker nuts)
  4. Forgot to label fan wires (used battery to identify which was which)
  5. Extruder not grabbing filament (adjusted tension)
  6. Adhesion difficulties (hair spray)
  7. Uneven extruder hot-end tips (fiddling)
  8. Blank display unit (adjusted contrast with potentiometer)
  9. Confusing display knob inadvertently rendered useless (reprinted)
Issues remaining 

  1. Second extruder not heating properly; shows open circuit when tested with multimeter
  2. How to deal with jealousy of all my friends ;-)

Wednesday, July 2, 2014

First Prints

I've made substantial progress since my last post, and have printed a number of objects.  Here's how I got there.

First off, the picture I showed in my last post didn't really represent a defective part at all.  The missing piece of plastic didn't really have anything to do with whether the nuts would stay in place or not.  I disassembled the extruder assembly, put in the thicker nuts, and that seemed to do the trick.  Leveling the two heads was still a difficult proposition, though.  I had to alternate tightening the horizontal bolts going through the fan with the vertical ones holding the assembly onto the cart, but eventually I managed to get the thing pretty even.  Here's a photo of my first test print:

Came out pretty nicely, I thought.  One of the things the manual said to look for were gaps in the layers, and I did see some of those (more visible with the black filament I switched to later):

The solution to this was to tighten the tension on the extruder.  Counterintuitively, you have to turn the tension bolt counterclockwise to tighten the tension.  Not catching on to that may have been the source of my initial extrusion problems.

I had some issues with adhesion in a few of the early prints, but using a raft seemed to help with that. Here are some photos of me printing out the accessories:

Notice that the piece on the left has a lot of support material.  I had trouble getting that off.  I tried using a Dremel tool to cut it away, but all it ended up doing was melting the plastic, which made getting the support material off much more difficult.  I did get it off eventually, and the part -while not pretty any more - did function.  Those parts are for the spool support, which assembles like this

The two bearings are supplied with the kit and press into the printed parts.  Here's a video of the support arm (the bottom piece) printing:

Here's what it's supposed to look like when assembled:

Another printed part holds a couple of felt pads.  The filament goes through these pads in order to clean off any dust stuck to the fiber so that it can't get into the extruder and cause a clog.  You can see it in this picture of the fully assembled printer, complete with accessories mounted.  

However, you may notice that there's only one spool in the picture.  When I tried to run the second extruder, I couldn't get it to heat up.  At first I thought it was a problem with the thermistor, but some resistance measurements with a multimeter make it look more like the heater is what's not working.  I've posted to the support forum to get suggestions on what to do about that.

The display is also not working.  It lights up, but only with a blank blue screen.  We'll see what the forum has to say about that as well.  I'm wondering a bit if these could be my fault: ESD damage due to lack of a proper ground while handling, or maybe from moving the X axis too rapidly by hand while demonstrating the motion to my daughter.  But I don't think either of those scenarios is super-likely, as everything else is working fine.

You may also notice the can of hair spray in the background of the photo.  I was having some adhesion problems, so I did some googling to see what solutions were out there.  The two most often recommended solutions were hair spray and painter's tape.  The hair spray seems to work pretty well for me, creating a tacky film on the kapton tape that I can easily clean off later with a denatured alcohol solution.  

I had another adhesion problem resulting from the second extruder.  It was pushing up the layers that the first extruder had laid down.  After a couple failed prints I rechecked the distance between the extruder nozzle and the print bed, and found that the second extruder was no longer level with the first.  It was a bit lower, which explained why it was contacting the filament laid down by the first extruder.  After releveling the two, everything worked fine and I was able to print out my own copy of the toolbox I had designed with OpenSCAD a while back.  Looks like I'll have to periodically check the leveling to make sure it doesn't slip again. 

Thursday, June 26, 2014

Testing the printer

Last weekend I was able to get through almost all the steps to my first print.  Here were some of the stumbling blocks:

  • Remember the knob for the display?  In my last post I said it looked like I needed to clear out some support material.  Well, it looks like I was just supposed to shove it on.  When I cleared out all the support material, there was no way to fasten the knob on.  No big deal, though.  I can just print a new one when I get the printer working.
  • I was able to get the X, Y, and Z axes moving just fine under manual electric control.  The Z axis was a bit squeaky at first, but I used some teflon lubricant and now the noise is gone.
  • In the first (manual, non-electric) leveling step, it's kind of hard to visually estimate the distance between the hot end tip and the build plate.  Then when I got to the fine adjustment stage I had difficulty getting the two hot ends exactly level.
  • The final step before doing the first test print was to heat up the hot ends and extrude some filament under manual control.  The instructions talk about adjusting the tensioning bolt to get it tight, but not too tight.  Too tight can cause a clogged extruder.  I fiddled with this for a while, but couldn't get the extruder wheel to grab the filament.  
At this point I was thinking that between the difficulty leveling the hot ends vs. each other and the difficulty getting the filament to grab, I should take a second look at the extruder assembly.  When putting it together, we had trouble with a couple of vertical bolts that didn't seem to be grabbing with the nuts inside the assembly.  So I removed the outer fan and took a look.  Sure enough, one of the nuts had grabbed, but the other had just been pushed aside in its slot.

As a reminder, this is how those nuts were inserted into the assembly...

Here's what it looks like from the side, with the nuts flat.  They are supposed to be pinched enough in their slots so that they won't turn, and you can thread the bolt through to firmly fasten the extruder assembly onto the X-axis shuttle.

Here's what I found when I looked at that from the bottom.  The one on the right threaded just fine, but the one on the left wouldn't.  I sent a copy of this photo to the manufacturer, and they agreed that the plastic part on the left was defective.  The cutout for the nut should be a symmetric half-circle.  Probably the missing material there was why the nut wouldn't stay in place.  They are sending me a replacement part, but it hasn't arrived yet.  I did get one other suggestion from the discussion boards; use a thick nut instead of a thin one.  I was able to find thick M4 nuts at Home Depot without any difficulty, and will substitute them when the new part comes.

Last night I also was able to resolve the extrusion issue.  I just had to tighten the tension bolt a little more than I had initially been comfortable with.  

When the replacement part comes, I should be able to get the two hot ends level and be good to go for the test print.  Just a little longer!

Saturday, June 21, 2014

Finishing the build

My friend Bill Hegarty from work came over again today, and together we finished building the printer with around 5 hours of work.  It was relatively straightforward work, which Bill gets most of the credit for.  Really a one-person job for the most part.  We did encounter a few minor problems, though:

  • When attaching the kapton sticker to the build plate, a speck of metal (FOD!) somehow got onto the plate and created a dimple.  We peeled the sticker back a bit, removed the speck, and proceeded onward.  I think getting a very flat surface is very important on that step.
  • We had not labeled the fan wire ends (wasn't called out in the instructions that we were supposed to), so when we got to the point of connecting them up, we weren't sure which was which.  The solution was to grab a 3V CR2032 battery and test to see which wires made which fans move when connected.  This worked well, and we were quickly able to establish which fan was which.
  • There was a step missing for inserting flat nuts into their slots in the power supply case, so when we went to close the power supply up, there was nothing for the bolts to screw into.  This was easily corrected.
  • The instructions say that the board is sensitive to ESD (electrostatic discharge), but I didn't have a good grounding station.  Our solution was to plug in the power supply (establishing a ground) and then clip my grounding strap to one of the power supply screws.  I hope this worked.   Of course we were careful to make sure the power switch was off!
  • The 3D-printed knob for the display didn't have an opening for insertion on either side!  Looks like there is support material that needs to be cleaned out.

See below for a picture of the wired-up board.  Again, Bill gets the credit for doing most of this.  My count was 57 wires to be attached.

Front and back pictures of the assembled printer:

Me and Bill posing with the completed printer:

When the job was done, there was still a fair amount of leftover material

In particular, there was a thermistor that was unused.  I think this is a spare in case one of the hot-end thermistors dies.  A few of the pieces are clearly intended for the filament spool and cleaning accessories to be added later (I have to print the main parts).

Tonight I finished annotating my PDF copy of the assembly manual and uploaded it to the support board.  Also ordered a couple of kilos of PLA filament from Amazon.  Tomorrow I will start going through the User's Guide and see if I can do my first print!

Thursday, June 19, 2014

More iterations on the toolbox

So while I've been working on the 3D printer kit at home, I've continued to play with the 3D printers at work.  Here's my design for a toolbox with a lid that actually opens and closes.  It uses a dimpled hinge concept.  The trick is that there has to be enough flexibility in the end pieces to insert the lid, but without breaking it.

The first try didn't work at all, as I couldn't get the hinge in without breaking the hinge side pieces.  So I modified the design a bit, putting a slot into one of the side pieces as shown below:

This worked better, but with the 4 cm base box length I still ended up bending the end piece and breaking it off.  So I scaled up by 1.5x.  Rationally, one knows that 2x length yields 8x volume, but  I think the picture below really dramatically illustrates what a big difference that makes.  The 1.5x box is huge compared to the original.  But you can see that the right-hand hinge edge still ends up getting bent by the insertion process.

Thickening up the hinge end pieces a bit seems to do the trick, though, and the final version snapsin and works just great.

This was printed in ABS on a Makerbot 2x we have at work.  It has a dual extruder and heated bed, just like my Felix 3.0.  It will be interesting to compare print quality.  A problem did show up with the printing process; one corner sags substantially.

The guy who is responsible for the printer thinks it's sagging because the Kapton tape on the print bed is getting worn, affecting the adhesion of the initial layer.  People on the Felix support boards have talked about similar issues, including deformation of the build plate due to printing of large objects.  The boards didn't explain why the deformation occurs, but I'm thinking it is happening because ABS shrinks a bit while it cools; since it shrinks while still stuck to the build plate it can exert a bowing force.  Even a little deformation can ruin the leveling of the plate and affect the print quality.  One possible fix that is talked about on the boards is using a (cheap) glass plate clipped to the build plate instead of a Kapton covering.

As a final note, here's a photo of the prototype we did up for our Matlab competition's trophy.  This was printed from Shapeways.com using their color sandstone option.  The membrane surface is the Mathworks logo, and was created in Matlab and exported directly to a 3D-printable file.  The final version will be bigger, with some writing in the flat square part.  Holding this thing in your hand really brings home the amazing potential of this technology.