2011
12.13

Anno 2011

And now for another installment of “I should really get around to posting this one of these days”.  This summer’s anodizing class was cancelled (along with the pewter casting class) due to low enrollment.  Fortunately, the open sessions went ahead, so I managed to get my anodizing fix after all.  I wanted to try a few new masking techniques this time around, so I stuck to using the 3 same colors for simplicity.

For the left two samples, I masked the blue with UHU Por (sold in the US as UHU Creativ), which is similar to rubber cement but comes in a tube.  It masks just like rubber cement, but since you squeeze it from an applicator tip rather than brushing it on, you can make finer lines (of course, you could do the same with rubber cement in a blunt syringe).  On the top left sample, I masked the green by spraying some 3M 77 aerosol adhesive through a perforated aluminum plate for the polka dot effect.

The green in the center two samples was masked by sponging on the absolute cheapest white spray paint carried at Wal-Mart.  However, the ’sponge’ used was actually the filter from a wet/dry vac – the very large open celled structure of the filter makes for a pattern that masks with harder edges due to how heavy a paint load the filter will pick up.

The purple in the right two samples was masked with Krylon webbing spray paint (silver in this case, but the color doesn’t matter since it’s used for masking and then removed).  This worked quite well, and I’m wondering if the nozzle from the can can be used to spray a webbing pattern with other (cheaper) spray paints.  However, I recall reading somewhere that the webbing effect as practiced by custom car painters requires a thicker paint blend, so perhaps the same holds for aerosol cans.

These samples show more of the same, along with swipes of rubber cement on a brush (which is still a favorite technique for throwing down ragged bursts of color).

After playing with samples, I dove into actually anodizing a paintball gun that I had polished and prepped.  Frankie took some excellent photos of the process and posted them on his blog.  I was very pleased with the result, though I messed it up a little during the sealing on some of the parts.  I had the above samples in the same boiling water bath, and the green on the samples leached out and colored the blue on the gun parts into a slightly aqua color.  Additionally, there’s a spot on the trigger frame where the anodizing can be scratched off with a fingernail, so something isn’t quite right there (of course, this is the first time I’ve tried anodizing parts that are actually intended to be used).  I wound up purchasing some proper anodizing sealant solution, an immersion heater and an insulated cooler to hopefully improve the sealing stage.  Now I just need some free time to go visit Frankie and try it out with another gun.

2011
08.31

I made a Thingi

I’ve made several upgrades to my trusty Taig CNC mill over the years, but one of the best was replacing the original headstock with an ER16 headstock. This upgrade has thankfully become standard on the Taig machines, as the original proprietary collets were pretty lousy (and only allowed tool shanks of 5/16″ diameter, versus the far more versatile 3/8″ offered by ER16 collets). I quickly became enamored with the ER16 collets and now have a pair of 3/4″ shank collet holders for the Tree mill, one of which permanently holds an edge finder (this serves as a much more affordable alternative to an actual 3/4″ shank edge finder).

As my collection of ER16 collets grows (and I haven’t even started acquiring any metric sizes), I found that my storage method (consisting of keeping them on whatever relatively horizontal surface is available – oddly enough, also my storage method for everything else) was rather lacking.  Dropping a precision ground object on a concrete floor is seldom beneficial, so I looked for a better system.  While storage caddies for R8 and 5C collets are readily available (and I have a 5C collet organizer that is immensely helpful – when I remember to return the collets to it, that is), I’ve found no comparable options for the diminutive ER16 collet.  [edit - Naturally, after completing this project and post, I managed to find just such a thing.]

Of course, the obvious solution is to make something myself. A simple tray with appropriately sized holes would be functional enough, but I wanted something with just a little more elegance. While some of my most treasured tools have wooden cases, I have no problems with a good plastic case (and have on at least one occasion purchased a really crummy tool for no other purpose than for the halfway decent plastic case that it comes in).  So I whipped up a box in SolidWorks that could contain 15 ER16 collets with a matching lid.  I added some bumps around the outside edge between the halves to key them together so the lid would stay in place, and then sent it off to the printer.  The result was the box mentioned in this post from a few months ago. It wasn’t a great quality print as mentioned in the post, and I had incorrectly estimated the sizing of the cutouts for the collets which left them sticking up too far to let the lid close fully.

I gave it another try with a fixed model in Insight with the black Bolson ABS material, and things fared much better.  The interface between the support and model material wasn’t great, but I quickly discovered part of the problem:

The lid (upper right) has a darker triangular patch on the bottom left corner.  This is because no material was deposited there on the first model layer – there was so much ooze from the model material that a good deal of it flowed out during the lengthy build of the support layers.  As the machine was trying to print the perimeters of the first layer and the start of the infill on the lid, no material was coming out since the liquifier wasn’t full. Thankfully, this can actually be accounted for in Insight, as you can instruct the printer to purge material for longer than normal in order to top off the liquifier – I’ll need to remember to do this on builds with lots of base layer surface area.

No matter – collets fit this version just fine, and I’m not terribly concerned about aesthetics on something that’s going to get knocked around in the garage.

My original plan was to build hinges into the model – I wanted to have lugs coming off the back of the base and lid with circular recesses into which small disc magnets would be glued.  The magnets would attract each other and act as a hinge axis while hopefully providing enough friction to keep the lid open even when at an angle.  I’d still like to explore that concept in the future, but to finish this project in a hurry I simply used a pair of small hinges from Lowe’s.  I now have all my collets in one place next to the Taig in easy reach, and was pleased enough with how it turned out that I uploaded the design to Thingiverse. Much to my delight, it was chosen as a featured item!

2011
08.23

Quick CNC work

I’m always impressed by Frankie’s ability to machine one-off parts on his Taig with minimal time spent on generating the toolpaths, which is something that I want to become better at. I’ll frequently over-think and puzzle over the CAM side so much that I wind up just bashing out parts manually on the Tree. However, for a recent project I needed to do a lot of cutting in odd shapes that would be crazy to do manually for a single part, so I gritted my teeth and dove in.

As part of my growing RC aircraft addiction, I had purchased an Ikarus SU27-XXL kit as a fun ‘zoomy’ plane to advance beyond my trusty Slow Stick. My original plan was to use the brushed motor included with the kit – why discard a perfectly good motor, even though it may not be as powerful and efficient as a brushless one?  Well, a good reason is that brushed ESCs (electronic speed controller) are much more difficult to find these days than their brushless counterparts.  So I went brushless anyhow and purchased a motor and ESC.

Since the new 400 brushless was mounted at the base rather than the face, I couldn’t use the included light plywood motor mount.  I needed to build my own custom motor mount, and I happened to have some 3″x3″ squares of 1/16″ G-10 fiberglass sheet left over from a project that would make for very sturdy construction.  I drew up the needed parts in Cadkey and then tinkered with GibbsCAM at work to hopefully output usable toolpaths.  Fortunately, I’ve gotten much better in this regard, and the G-code worked out just fine.

I used a hunk of scrap polycarbonate bolted to the tooling plate on my Taig as a sacrificial base.  Frankie recommended using carpet tape to hold sheet stock flat for machining, and it worked like a charm.  I’m using a 1/32″ carbide cutter to do the milling – I think it cut through the sheet in 3 or 4 passes.  When done, the parts were easily pulled off of the base.

After removing the tape and adhesive with a ‘Goo Gone’ type of solvent, here’s the parts I had.  As it turned out, I could have skeletonized them far more than I did, and using 1/32″ G-10 may have been an even better material.  I did have to do a bit of filing by hand to make things fit – the original plywood parts were laser cut and so had perfect square cornered slots, which obviously can’t be done with a round endmill.

Glued together, it looks pretty good!

Fits beautifully on the plane and certainly looks like the beefiest part of the entire airframe.

Unfortunately, she would never look this good again…  On the final flight (just after I had moved up to a larger prop that finally provided the performance I wanted), I pulled out of a fast low level loop right into a tree, and the brittle Depron foam snapped all over.  The motor and mount tore free from the plane and was unscathed, however, so I’ll be dropping the unit into a scratchbuilt MiG-29 made out of pink sheet foam from the home improvement store.  I have a feeling that the motor mount will easily outlast that airframe as well…

2011
08.03

Retro drilling

My interest in hand tools is generally rather limited.  While I admire (and am frequently awed by) the skill of artisans the likes of Roy Underhill (who is arguably the patron saint of human powered woodworking), I rarely find metalworking hand tools to be anything more than quaint when powered alternatives exist. There are exceptions, of course – I still don’t have a bandsaw in the garage, as my hacksaw is far more space efficient and far less expensive (plus, I can bring my bar stock to work and use one of our large cutoff saws). Hand files are almost always more useful than a powered filer, etc. Drills, however, are another matter – you would have to be daft to want to use a hand drill rather than an electric drill. Or so I had thought.

Many years ago I purchased The Machinist’s Bedside Reader series from Guy Lautard. The third volume had a fascinating description of a very old (though at the time, still in production), very simple hand cranked drill. What made the device so interesting was that it was able to drill holes through almost anything thrown at it – steel armor plate, bearing raceways, high speed steel, even plate glass. By hand. The secret to the Cole Drill was a threaded collar below the crank arm that applied massive downward pressure.  “Low speed, high feed” in machining parlance.  Not only that, but the drill was designed in a very modular fashion – the column is nothing more than a piece of pipe or solid rod, as the drill is generally intended to be bolted to whatever it is that you’re trying to make holes in.  Rather than taking your work to a drill press, you take the drill press to your work.  Granted, you can do the same with a portable electric drill, but the Cole has the advantages of rigidity, extreme feed pressure, no electricity needed, and won’t tear your arm off if the bit catches.

As mentioned, the Cole Drill was still being manufactured up until maybe 2005 or so by Cole Tool Mfg.  Despite being ‘old’ tech, they still commanded a rather hefty retail price (presumably limited demand led to the product being discontinued).  While the drills have been routinely available used on Ebay since that time, it seems that prices have been going up – I seem to recall the going price to be around $60 or so a few years back, but now it seems that getting one for under $100 is a bargain.  Admittedly, I have zero use for a Cole Drill.  However, given the ‘field expediency’ of such a tool (drilling holes in a truck frame miles away from a power source being a good example), it’s a tool that I’d really like to be able to put my hands on in a hurry should the need ever arise.

I finally found one on Ebay that wasn’t horribly expensive, owing to a fairly rusty look to it.  However, the seller said that the drill had been purchased new, had been barely used, and had been sitting in an Arizona workshop for the past 30 years or so.  There was a pretty good chance of it cleaning up very nicely, so I bought it.  When it arrived, I eagerly opened up the box to have a look.  ‘Stout’ would be the adjective at the top of the list when attempting to describe the unit.  It was a little larger than expected, and most certainly heavier.

I hosed it down with Gibbs spray (another product touted by Guy Lautard) and set it aside to soak in and and help remove some of the rust. After wiping it off, things looked a bit cleaner, and I took it along to metalworking class so that Frankie could make patterns from it and hopefully bang out a few castings.

Once I had the drill back in my hands, I printed out a few pieces of information from the web and gave them and the drill to my dad as a long-planned present.  Dad is one of the few people I know who has the mechanical ingenuity to use such a tool to its full potential, and will probably have far more opportunities to put it to good use than I ever will.  But at least I now know where I can borrow one in a hurry if I ever need it!

2011
06.07

With the PP3DP filament having proven itself admirably in the Stratasys, I ran more parts with the material and set up a job consisting of a little box to hold ER-16 collets and a paintball gun trigger frame.  Since I don’t like to have the machine powered up and sitting idle at full temperature for long periods (thereby cooking the filament), I try to adjust the parameters so that the job will complete during the day, allowing me to immediately start up a new job, or power down the machine.  There’s a few methods that I use for this – I can add or remove parts from the job, I can adjust the infill density (turning on the crosshatch options for a faster ’sparse’ infill), or I can change the layer thickness (thinner layers give more precise parts but take longer).  For this particular job, I wanted to use a sparse infill to conserve material, and wound up changing the layer thickness to 0.007″ down from the normal 0.010″.

This adjustment of the layer thickness also affects the base layers (‘raft’ in RepRap speak), and since the foam build base I currently have in the machine is getting a bit ratty, I increased the number of base layers from the normal 5 to 10 for a total base height of 0.070″ to traverse the increasingly rough terrain of the foam (I have a box full of new foam bases – I should just replace the darn thing).  While I had run 0.007″ layers with the PA-747 and MG47 materials, I had never done so with support material.  I watched the base layers progress to see how well they’d form with a smaller slice height.

Blurry photo - I have 'new camera syndrome' (also known as 'still trying to figure out what all these buttons do')

On the right side of the base, you can see a bit of waviness on some of the roads in the center.  As the nozzle would make a pass, the ‘wall’ that was being formed would flop slightly to the side – the long straight lines of the roads didn’t help the wall stiffness any.  As the freshly deposited topmost road cooled and contracted, the wall would return mostly to normal shape, but some waviness remained.  On the left side, the top layer of the base is being laid down, and the support material actually started ‘bunching up’ in spots, resulting in a raised, rough surface.  I knew this would probably cause the model to become too infused with the support to allow the two to separate easily, but I let it run anyhow.

Poor adhesion between the model and base

When complete, I had significant warping and lifting on the corners of the trigger frame part, though support for holes and overhangs worked beautifully.  The poor adhesion to the base could be due to the concave surface on that face of the part – rather than having a solid face, the support layers under the trigger frame are an open crosshatch, so there’s not as much contact area.  The box halves fared better, though I had highly variable adhesion to the base layer (rotten at corners, yet fused together where I had roughness on the base layer).

Although I hadn’t run the MG47 with support, I wondered if the lower die swell of the MG47 helped provide such good results when running at a 0.007″ slice height.  I realized that I had never checked the die swell of the P400S support material, so I finally checked it – a whopping 0.020″!  It makes sense that the support material wouldn’t act as kindly with such a small layer height – it wants to swell up, as it’s being ’smeared’ to a road width much greater than the road thickness.

At this point I wondered if newer algorithms and flow curves present in Insight might make 7 thou base layers behave a little better.  Unfortunately, Insight never had support for the 1600 (and official support for the entire FDM thousand series machines was dropped at the end of the version 6 lifespan), though it can generate output for the 1650.  Given that there are a number of 1650s still in use, yet I’m the only one I know of with a 1600, it was possible that differences between the two are minimal.  In looking through generated output from QuickSlice for the two models, it looked like parameters were very similar (though the 1650 is run a little faster).  I crossed my fingers, set up Insight to send to a 1650 and let it rip on a Mendel test part at a 0.010″ slice height.  Wonder of wonders, it ran without a hitch – a part that would take an hour in Quickslice would take only about 45 minutes through Insight!  I set up a whole plate of Mendel parts, and it ran equally well.  I then tried a small part at a 0.007″ slice height in Insight – it ran fine, so perhaps having a large surface area for the base is an issue.  Insight also has several support styles available, so I’ll need to play with those settings as well.

2011
05.24

A challenger appears!

With some other projects having consumed my attentions for the past few weeks, I was eager to return to more Stratasys experiments.  Having acquired enough breakaway support material to last me for the foreseeable future, I could once again be running with both extruders operational.  One material that I’ve wanted to try for quite a while is the 0.070″ ABS filament used on the PP3DP UP! printer, as people had mentioned that it was a bit different from the Chi Mei PA-747 ABS filament sold by Makerbot, New Image Plastics, Village Plastics and most other US suppliers. The problem is that overseas ordering is rather a pain – while PP3DP does now take Paypal, they still need a minimum order of over $100 (and stick the buyer with the paypal fees as well).

Fortunately, UP! user Enrique Muyshondt set up desktopFab to act as a US dealer for PP3DP printers and supplies. I ordered a 700 gram spool (1.54 lbs.) for $35 plus $12.34 shipping. Unfortunately, Enrique has since had to increase the price to $40 per spool – it seems PP3DP really doesn’t have any sort of dealer margin built into their price structure.

A Stratasys 2lb. spool on the bottom, a Bolson 2lb. spool in the middle, and a PP3DP 1.5lb. spool on top.

The spools are pretty small, but then again, the UP! printer that they’re intended for use with is a small desktop printer.  Happily, they have a 2″ mounting hole, so FDM users don’t have to re-spool onto empty Stratasys reels.  I threaded the material through the FDM 1600 and after waiting for the head to come up to temperature, I loaded it through the T12 modeling tip.  The extruded material looked and acted just like Stratasys P400, so I grabbed a micrometer and checked the die swell – 0.0175″!  Time to get the support material loaded and try making some parts – this was very promising.  Despite being honest-to-goodness Stratasys breakaway support material, I had trouble with it kinking between the feed wheels and the liquifier inlet.  I had almost resigned myself to tracking down some Vespel rod (horrifically expensive) to machine a new inlet that would reduce the distance to the drive wheels when I figured I’d try drilling out the nozzle again with a 0.011″ bit.  There must have been some buildup in the tip, as I had no more jamming after running the drill bit through.

I thought I'd give Adrian's cute little mini-extruder a try.

I could post lots of pictures of all the results, but I’ll keep it brief and simply say that the PP3DP filament runs great.  If I didn’t know any better, I’d swear that it was Stratasys P400 – it has the same matte finish, die swell, adhesion to support material, etc. that the OEM filament has.  It does seem to have a substantial amount of ooze, though it has been rather humid lately and I didn’t bother trying to dry the filament (it came in a sealed bag with desiccant).  While I’ll certainly continue with investigating alternate materials (the MG94 should be extruded soon), the PP3DP filament is easily the best bang-for-the-buck model material for Stratasys owners at this time.  However, one possible caveat is quality control – several months back, a number of UP! users noted that a batch of filament put out noxious fumes when run. While this isn’t much of a concern with a closed oven type of machine like a Stratasys, it may indicate that batch-to-batch consistency has yet to be perfected by PP3DP’s filament source.  Still, this is nitpicking about second-hand information – when I run out of the PP3DP filament, I’ll have no qualms about ordering more.

2011
03.26

Since I’m pretty much out of support material for the Stratasys (well, not really, but I hate to break open my very last reel of OEM P400 support), and my extruder hasn’t yet run the HIPS that I hope will be a suitable substitute, I’ve been playing with alternative bases for building.

When I first started making the build platform, one of the surface materials I ordered was a very fine stainless wire mesh. My thinking was that it would provide enough surface roughness to mechanically bond with the ABS, but could be peeled off after cooling. I placed the wire mesh over the silicone sheet I had originally tried using and clipped it to the Garolite platform.

The mesh didn’t lay perfectly flat, but it seemed like it should be okay.

However, after coming up to temperature, the silicone sheet under the mesh expanded and buckled.

I tried running a part outline anyway, but the flex of the mesh prevented a good bond between it and the ABS in most places.  Some spots did have decent adhesion, but given the flexibility of the mesh, warping and curling would undoubtedly remain a problem even if I had decent adhesion all around.

The next idea came to me after seeing that Makerbot started offering PVA 3mm filament. Given that PVA has such a low melting point (and that the material is highly hygroscopic), I’m skeptical that it would be a good support material for ABS, but it did give me an idea. I recalled that PVA is commonly used as a water-soluble release agent when molding fiberglass. What would happen if I put down a base of MG47 ABS, brushed on PVA as a release, let it dry, and continue building the ABS part?

I used a Mendel part and modified the Quickslice parameters so that it would create the base layers using model material rather than support material.  Annoyingly, there appears to be a bug in Quickslice 6.4 that results in a single layer of support material being laid down regardless of if you tell it to use the other tip!  Thankfully I still had enough adhesion between the second layer (first deposit of ABS) and the foam base to keep it stuck down reasonably well.

I added a ;PS command to the generated .SML file so that the machine would halt after creating the base, and then used a sponge brush to brush on a few coats of PVA.  I noticed some crackling sounds from the ABS/foam bond when brushing, but didn’t think much of it at the time.

I put the PVA coated base back in the machine, let it dry for about 15 minutes, and hit the pause button to let it continue with the build.  I noticed that the model tip seemed to be trenching through the PVA layer, but let it continue onward.

D’oh!  When I checked back later, I realized I hadn’t seated the tray carrier fully to the rear during the base build, and the model was hanging off the front edge.  This was far enough into the build to see if the PVA would serve as a good release, so I halted operation and pulled out the tray.

I was able to peel up the two ‘tabs’ on the base a little to separate them from the part, but the rest of it (as indicated by the green area where there is still PVA) wasn’t going anywhere.  Time to let the piece soak in water overnight to remove the PVA.

Well, the results were not as good as hoped.  Despite the PVA layer, the model ABS bonded quite well to the base ABS, and clean separation of the two wasn’t really possible.  Well, what if I tried increasing the distance between the base and model?  Between each layer in the .SML file, there is a relative move upwards in the Z-axis, followed by a relative move downwards in Z.  I modified the move between the base and model in the .SML file to provide 0.002″ of gap in addition to the pause needed for me to brush on the PVA.

I went through multiple iterations of this, with warp/lifting of the model layers always happening, even as I decreased the gap between the base and model and reduced the amount of PVA applied.  Finally, I was running with no gap and realized that thermal stress during the first run must have raised up the base slightly causing the model roads to plow through the PVA and bond to the top base layer.

As it turned out, I later found that Dr. Adrian Bowyer (founder of the RepRap project) had investigated this concept nearly 6 years ago.  Instead of PVA, he had used plain old kitchen pantry corn oil, with reasonable success.  Of course, his build size was not as large as what I was attempting.  The idea probably still has merit (I’m curious about using acrylic spray paint as a release layer), but there’s plenty of other things to investigate…

I finally got around to opening up the bag of 4043D PLA from MakerGear to see if it might serve as a good support material. iFeel Beta has had promising results with this, so hopefully it would run on the Stratasys.  The material is certainly the most brittle filament I’ve tested so far, and I had a number of breaks when trying to wind it on a spool.  As such, I decided it was best to try feeding it through the rollers alone to see if it would break.

Fortunately, it fed fine through the rollers with no breakage, so I put the drive block back onto the head and tried pushing the filament through the liquifier.

This resulted in the highest feed torque values I had yet seen – this was not an easy feeding material.

Sure enough, the material eventually jammed as the toothed drive roller stripped into the filament, losing traction.

Still, running the material through a Stratasys is indeed possible – another user with a Prodigy Plus has done so successfully, and sent me this photo of the drive assembly.  The idler wheel is solid metal, unlike the one on my 1600, which has a urethane center section.  Machining such an idler may be a future project, but for now I’ll abandon the work with 4043D PLA.

I decided to try using ABS as a base material and simply saw the parts off the base as needed.  As such, I manually added a base in Solidworks rather than adding a base (and faking the material) in QuickSlice.  I dotted the base with holes to make Quickslice generate perimeter roads to provide a little additional support, and then ran the part.

After the base was mostly complete, I halted the build, as there was a lot of sinking on the surface since the crosshatch infill had too large of a road width for the limited die swell of the MG47.  I recreated the base on the part, as the big 3/8″ thickness was definitely overkill, and it extended much further outward than needed.  With a reduced crosshatch road width of 0.0132″, I tried the part again.

The carpet-like top of the base layer reminded me that I had neglected to adjust the road width for the other layer types as well, but as the crosshatch infill was looking great, I let the build run until completion.  I also dropped the nozzle temperature down to only 240° C, as the feed torque wasn’t very high, and lower temperatures would droop less.

At the end, I had prototype paintball hopper halves and a pump for my Phantom paintball gun.  As noted, I had drooping filaments due to not having adjusted all of the road widths.

I expected a bit of drooping on the overhangs, as I wasn’t using any supports.

Rather than having to cut and sand the parts off of the base, they were able to be peeled away without too much fuss.  The crosshatch infill came out great, with no drooping all the way through the part.  I had intended to just tear out this infill, leaving the hollow shell, but the filament is a lot tougher than I had expected.

The base did lift from the foam base on one side, unfortunately, which let the hopper halves warp a bit.  With this build complete, I went back to QuickSlice to adjust the road widths for the other layers and tried running a small test part that used aligned roads as the top of the base.

While the dome on the part didn’t come out perfect, I didn’t have the same sagging as before.  The stubs on each side were John Branlund’s idea as a way to check for backlash. Fortunately, I had no discernible backlash in the system.

The part separated quite nicely from the base – only minimal sanding would be needed to remove the traces of support from the bottom of the part.

I ran 2 more parts at increasingly higher temperatures (left was 240° C, center was 255° C, right was 270° C) to see what the results would be.  Sagging on the top aligned roads of the base increased as the temperature went up.

Separating the part from the base also became more difficult with the increase in temperature, as the layer bonding became stronger.

Fortunately, more OEM support material has now arrived, so I can finally be back to proper operation shortly.

2011
03.02

A common question among commenters to this blog when I write about my Stratasys FDM 1600 is “how did you hack the cartridge?”  Newer Stratasys machines such as the Dimension series (P-Class machines – I assume named after the Prodigy, which I think was the first Stratasys machine to use cartridges) don’t have plain old wire welding type spools like the old FDM series – instead, they have the filament stored in a large cassette.  This is nice as it keeps the filament dry without having to keep it in a dry box and it makes loading in new material (or swapping colors) a breeze.  On the down side (as many Stratasys owners have apparently discovered), Stratasys went the route of inkjet printer manufacturers and have ‘chipped’ their cartridges so that you can’t simply refill the cartridge with material and continue on.  While this isn’t a hindrance to me and my old machine, I’ve still been curious to know if there’s a way around this (if I ever come across a Dimension for cheap, I’ll need a way to feed it as well).  Note: I understand the big T-class machines (named after the Titan model, I assume) still use large spools, though I believe the spools also have a chip module (but hey, if you can afford to buy a T-class, the consumables cost probably isn’t a big concern).

Inside each Stratasys cartridge is a Maxim DS2433 one-wire EEPROM (in a SO-8 package) that the machine communicates with. This is a simple 4kb (that’s kilobits – only 512 bytes of storage) device, and reading/writing them is reasonably straightforward – a library most likely exists for 1-wire communication no matter what your microcontroller of choice is (Arduino enthusiasts, look here). Dumping the contents of one yields hexadecimal gibberish, unfortunately. What’s more, you can’t simply clone one of them, as each has a unique 48-bit serial number lasered onto the die at the time of production, and this serial (presumably) is used as the seed to encrypt/obfuscate the EEPROM data. This has been enough to dissuade most tinkerers from playing further with the system, though Bolson Materials may very well have cracked the code, as they are able to provide new EEPROMs with their cartridge refill spools.

Thanks to some hacking by the shadowy figure known as ‘Dervish’, it’s been found that only a small portion (12 bytes) of the EEPROM is dedicated to storing how much material is left on the spool.  As a cartridge was used, the EEPROM was read out at various points and only bytes 0×58-0×63 changed over the life of a cartridge.  Specifically, here’s the layout of data on the EEPROM as known thus far as a result of reading EEPROMs from several brand new cartridges:

0×00-0×41: scrambled data (commenter lgg2 noted that 0×28-0×2F is identical to 0×30-0×37, highlighted in purple)
0×42-0×45: 0×00000000
0×46-0×47: scrambled data
0×48-0×4A: 0×55AA55 (highlighted in green)
0×4B-0×4D: scrambled data
0×4E-0×4F: 0×71BE, 0×72BE, 0×73BE, 0×74BE, or 0×75BE
0×50-0×51: scrambled data
0×52-0×57: 0×000000000000
0×58-0×63: filament remaining (scrambled data, highlighted in yellow) – on an unused spool, 0×62-0×63 is always 0×4BB9, but this gets modified (along with 0×58-0×61) as the cartridge is used.  Perhaps 0×62-0×63 is an unencrypted checksum?
0×64-0×67: 0×00000000
0×68-0×70: 0×535452415441535953 (‘STRATASYS’ in ASCII, highlighted in dark blue)
0×71-0×1FF: scrambled data

Simple enough, right?  Just read in the EEPROM at 100% full, respool it with generic material when empty and write the 100% full data back to the EEPROM…  Well, not quite.  You can certainly use this respooled cartridge in a different machine, but not in the same one, as they remember what cartridges they’ve already used (that serial number on the EEPROM).  This is where Dervish tore into the guts of the machine and began the really clever hacking.  When you open up the side panel of a Dimension, here’s what you see (image taken from Brad Rigdon’s Print To 3D gallery):

Brad also has a nice video on youtube that shows the full workings of the machine. The electronics appear to be composed of 3 boards – the large PDB (Power Distribution Board) on the left, the SBC (Single Board Computer, just a PC) in the center right above the hard drive, and what appears to be a motion controller board (in the upper right, connected to the SBC via a 16-bit PC/104 header). As per the troubleshooting section of the Dimension/SST Service Guide, the motion controller board in the upper right is known as the ‘186 board’.  The SBC pictured appears to be an Ampro P5v, though some Dimensions use a Nova-600.  After connecting a keyboard and monitor to the SBC, Dervish found that the computer is running Linux (Red Hat 8, specifically – not Fedora 8, but the circa 2002 version with a 2.4.x kernel).

By rebooting the system he was able to enter single user mode (at the LILO prompt, enter ‘linux single’) and could change the root password to whatever was desired (type ‘passwd’ at the prompt, enter a new password, then enter again to confirm). After rebooting once more into standard mode as root with his newly minted password, he modified /etc/sysconfig/iptables to open up port 22 so that he could ssh into the system and hack remotely without having to be at the console itself (the sshd daemon does not run by default, so adding the line ‘/etc/init.d/sshd start’ to /etc/rc.local is also required).   While he had been able to modify temperatures on the machine by using Stratasys’s ‘Maraca’ software (the CatalystEX software offers no ability to tweak the system), direct access to the SBC allows much greater control over process parameters such as adjusting rollback.  All the configurations are stored within the /mariner/config tree (the hard drive image covers multiple models), and it can be tricky to determine which ‘gender’ (kona, lanai, spinnaker, oahu etc.) corresponds to a given machine, but noting which directory has the most recent modification date is a dead giveaway.

The holy grail turned out to be the discovery of an innocuous sounding file named ’system.dat’ located in the root directory.  This is where the Dimension apparently stores a list (in binary) of all the cartridge EEPROM serial numbers that it has seen before.  Delete this file and the machine gets amnesia, allowing respooled cartridges (with the EEPROM rewritten to show 100% full) to be used again.  I assume creating a cron job to delete this file periodically (or using rc.local to delete it on startup) would also work.

As far as I know, this constitutes the cutting edge of Stratasys hacking – I’ve heard rumors before of people having bypassed the cartridge EEPROMs, but this is the first concrete information I’ve seen on how to accomplish it.  If anyone has further information, please leave a comment!

2011
02.23

Putting MG47 to the test

John Branlund has been starting to try out the MG47 ABS filament, and I finally was able to do my first proper test on Tuesday. Last week I had tried running ten feet or so of the filament through the machine, but had mixed results – there was zero die swell (0.012″ filament out of a 0.012″ orifice), and running the first few layers of a Mendel z-bar-top-clamp_4off showed the same sort of warping and lifting that I was getting with the Chi Mei Polylac PA-747 material. Meanwhile, however, John’s first test with MG47 didn’t look too bad. I figured that the difference must be in the fact that John had actually dried his filament, whereas I was running it just as it had come from extrusion. Though the reels had been packed with a desiccant packet, the filament had still been fresh out of the cooling water bath – although it was technically dry, it had probably absorbed a great deal of moisture between the exit of the extrusion die and the start of the air drying rack.

I tossed my 3 lb. reel into the kitchen oven for an extended period in an attempt to remove as much moisture as possible.  In retrospect, I should have also put in a proper thermometer, as the knob on my oven is not exactly calibrated to an established standard (even when cooking the very simplest of frozen pizzas, I have to set the knob a good 25 degrees under the recommended temperature to keep from turning crust into carbon).  As such, my spool took on a slight set – while it it looks a little wavy if you gaze down a length of it, it should prove entirely usable.

With the dried filament spooled onto a reel, I loaded it into the machine and ran a foot or so through the 0.012″ nozzle.  Given how liquid the material seemed during my brief initial test, I dropped the temperature down to 250°C rather than the 270°C that Stratasys P400 ABS runs at.  Checking the torque load on the motors showed values in the low 60s, which I think was even less than what P400 at 270°C was running.  I checked the die swell again, and it was improved – about 0.0145″ (still 0.0025″ short of what P400 swells to, but certainly better than what the wet material was).  Checking for ooze (turn off the feed, wipe tip, wait 10 minutes and see how much material has leaked out) showed minimal seepage – this was certainly the driest filament I’ve yet run, and I need to start drying all my material under the Z-stage in the machine just like John craftily does.

I flipped around the polystyrene sheet on my build platform (it was getting warped a bit in one area) and brought the model tip down so that it was actually slightly buried into the styrene sheet (I should really start using feeler gauges for this, as it’s nearly impossible to eyeball correctly – I miss building on foam).  I started feeding the machine the Mendel z-bar-top-clamp_4off part sliced at 0.007″ layers (the smaller road width had helped when trying to run the PA-747 material, as it also had less die swell than the P400).  The first layer was a bit spotty – the tip was so low that the material couldn’t even exit the nozzle in a few areas, but things appeared to be running pretty well regardless, so I let it continue on.

The crosshatch infill was nice and straight with minimal filament droop.

Once done, I was amazed at the surface quality – this was one of the nicest parts I’ve gotten from the machine (the 0.007″ slice height certainly helps).

The bottom of the part turned out to be straight as can be thanks to superb (perhaps too good) adhesion to the polystyrene sheet.

The next test was to try running the MG47 on blue painters tape.  Unfortunately, the platform doesn’t come up far enough to let the tip come right down to the tape surface, so this run had the filament dropping about 1/32″ from the tip to the tape.  Notice the zig-zag of the outlines as this run used 0.010″ slice heights and hence wider road widths – without the die swell of the P400 material, the extruded filament is longer and has to bunch up.  I let this run for about 3 layers, but there just wasn’t enough adhesion between the tape and the ABS, and corners started to lift.

This led me to wonder how the Bolson ABS would work in the same setup – since the Z height would be identical (stage raised as far as it can go), I could get a suitable comparison regarding warp.  I loaded in the Bolson ABS, flushed the MG47 out of the liquifier, and let the same part file run once again.

The Bolson ABS still had corner lifting after the same number of MG47 layers, though not as bad as on the MG47.

The Bolson ABS also had better adhesion to the blue painters tape (perhaps the reason for less warp).  A good bond between model and support is absolutely essential, it appears – no wonder heated beds on RepRaps and Makerbots are all the rage.

Overall, I’m very happy with the MG47 thus far, as it beats the Chi Mei Polylac PA-747 in every way when it comes to use on a Stratasys:

  • More die swell (though to be fair, I should try fully drying the PA-747 for a proper comparison)
  • No visible vapor of volatiles coming from the tip when extruding at 270°C
  • Filament doesn’t cling to the hot nozzle for dear life – the brush wipe actually wipes the filament off instead of smearing it on more
  • No spiderweb thin ‘hot glue gun’ filaments coming off the part at path exits

No, the MG47 isn’t quite a match for the Stratasys P400 ABS (or even the Bolson ABS), but it appears that I’m on the right track.

2011
02.22

Charles is working on a tabletop plastic injection molder based on the Gingery design, but the machining needed for the heater chamber is a bit more than what his Sherline mill can handle, so I ran it on the big Keiyo Seiki (which also gave me an excellent excuse to finally get a big Rohm drill chuck for the tailstock). I figured he’d probably want to see the steps needed to do the machining, so I took some photos of the process (which simply reminded me of why I need a better camera, as the autofocus on mine in abysmal).

After taking off the 5C collet chuck and installing the standard 3-jaw chuck on the lathe, I chucked up the piece of 1.5″ steel rod, powered up the RPC and lathe, and got to making chips.

The bar was cut quite nicely as it was, so rather than face the end first (and have to fiddle with getting the tool bit exactly on center) I center drilled it.

Then I faced the end with a beater carbide tipped bit that had come with the lathe.

I started drilling with a screw machine length 1/4″ drill bit (I love the screw machine length bits as they’re short, strong, and don’t wander as much) and then switched to the much longer 1/4″ bit shown here.  One big advantage to drilling on the lathe rather than on a drill press or mill is that long holes are much straighter.  On a drill press, the workpiece is stationary, and the drill bit is allowed to wander off of its axis a bit.  However, on lathe, the workpiece spins, and the path of least resistance for the drill bit is to seek the rotational axis of the workpiece, ensuring that the hole stays straight.  From what I’ve read, the most accurate hole drilling is done by rotating both the workpiece and the drill bit simultaneously (in opposite directions, of course).

Once I had the 1/4″ hole drilled all the way through, I moved up to a 15/32″ bit to bring the hole nearly to size.

Then came the 0.501″ reamer.  I put the lathe into a very low gear, as high speed will kill a reamer quick.  Lots of Tap Magic and backing out frequently to clear chips made the procedure go without a hitch.

Finally, I flipped the part around, faced the other end and topped it off with a a slight chamfer where the piston will actually enter.

And then the moment of truth – the 0.500″ ground rod that will serve as the piston slid through cleanly with zero wobble.  I also machined the end of the piston where the linkage rod will connect.  Unfortunately, my camera refused to focus for any of those shots.  Fortunately, this means that no photographic record of my ‘oops’ exists (the endmill caught the workpiece and slapped it back through the 5C block I used for workholding).  It was a good reminder that steel is not as forgiving to machine as aluminum, so I removed the 4 flute endmill I had been using and switched to a flycutter and took nice small cuts to create the flats needed.