SLA 3D printing
Why SLA 3D printing?
Making enclosures for electronic devices has always been a big problem. Back in the late 90s I made and sold nonvolatile memory emulators, I ended up having custom mild steel cases fabricated, stove enamelled, and then silk screened. It was successful, mainly due to having a very good partners to do the metalwork and finishing, but this was a huge layer of difficulty in designing, fabricating, managing and stocking the physical cases, when my main focus was the electronics inside.
One way or another most electronics will need some kind of enclosure: if you don’t want to go down the metalwork road, for low volume the choices used to be grim… you can buy standard injected moulded plastic cases and machine them, but no matter what you do, they have “that look” that is the opposite of looking like a product.
So earlier in the year I started to study 3D printing. This article will discuss the limitations, advantages and gotchas that I found and my results using SLA.
Basics of extrusion and SLA printers
Extrusion
Most of the 3D printers on sale use filament extrusion, basically they move a heated head around in three axes, and deposit 0.4mm balls of molten plastic as they go to make the structure.
That sums them up: they place 0.4mm balls of molten plastic. You can’t have feaures involving features less than 0.4mm, no matter that the specs may show 25 micron (0.025mm) stepper resolution (usually only in some axes… beware). If you are making a continuous surface, you can precisely make some ramps or curves by placing your 0.4mm blobs at sub-0.4mm resolution and for some cases that works well. But it cannot define detail, repeatability in terms of layer noise is not always good and the commonly-used PLA material is about as brittle as spun sugar for thin walls. The material is hot and somewhat viscous and tacky when it is laid.
Blobs cannot be placed closer than the blob pitch of 0.4mm. So you can see the high resolutions quoted are pretty much unrelated to the ability to place material to form the print and are largely meaningless. Although the head accuracy may be high, the placed hot plastic blobs do not always act in a repeatable way depending on what other blobs are around them or not.
Heat as part of the process makes repeatability difficult unless the environment is completely controlled for, eg, if an air conditioner starts running partway through, or there are drafts changing the temperature at the heater head or filament heat over the hours the print is being done.
They are also slow, complex prints covering large volumes of plastic may take days and increasing the placement precision makes them even slower.
SLA
SLA (originally, StereoLithography) is not a new idea, it dates back long enough for the original patents (from 1984) to have expired. So there is a new breed of SLA printers around from a few manufacturers. Their scheme is completely different to the extrusion printers… there is no extrusion, no heating and the platform moves only in one (Z) axis. Resolution is high, and repeatability / layer noise is excellent.
The trick is there is a vat of opaque photosensitive resin with a transparent film at the bottom. The resin has the consistency somewhat more viscous than olive oil, and has strong surface tension.
Underneath the vat, pointing up into the transparent film and the resin reservoir above it, is a light source at a wavelength which causes the resin to solidify.
In my SLA printer, that light source is ultraviolet and goes via a 1080p resolution DLP (micromirror) projector on to the transparent vat base. So it effectively projects a 1920 x 1080 px black-and-white image into the build area for each layer.
The DLP projects one global image with pixels illuminated with ultraviolet light where the plastic is meant to be and pixels with no light where there should be no plastic. Then the platform moves up, peeling the solidified resin off the special film on the base, and letting the remaining resin flood into covering the base again, before moving down again 50 microns higher than before. The process repeats with the DLP showing the right places for solid resin for each layer, each layer solidifying on the last, until the print is completed.
The original SLA printers moved a single laser around to modulate which parts of the resin solidified. Printers like my SLA printer which uses a DLP to illuminate a whole layer at once are also often called “DLP printers”.
Ancilliaries for extrustion and SLA
Considerations for extruder bases
An issue common to all 3D printers is the print must be based on one plane; there is a base somewhere and the print adheres to that during fabrication so it stays in one place. Extrusion printers will “lose” the print if the platform the print is based on is not level with regards to where the print head is trying to lay the next layer of gloop. This failure mode is known as “spaghetti”, since the extruder ends up spewing plastic into thin air on the non-level side, making exotic spun sugar creations without any contact to the base and unrelated to what you were trying to fabricate.
For that reason, extrusion printers increasingly offer base levelling or auto-levelling features.
Another extrusion issue is making the extruded plastic adhere to the base in the first layer. Otherwise the print will move around and lead to spaghetti again. This has led to “heated bases” which keep the plastic a little tacky and more willing to adhere.
SLA bases
By contrast SLA printers do not need a completely level base or any heating. Instead they print the first few layers on to the base as a “raft” of solid resin, on which the actual print attaches. For printing the raft, they use a longer exposure time which penetrates further to solidify more resin. This evens out any non-levelness in the base by reaching further through the resin to the base.
Printing supports
Neither SLA nor extrusion printers can print stuff in midair. The design being printed must make allowance for gravity and add in thin support rods coming up (or down for SLA) from the base the “midair” stuff can attach to. Software can automate much of the support placement, but as we will discuss, not all of it, and manual touchup adding supports bearing in mind the weight of parts of the structure is necessary.
In the SLA case, the base + any partial print is constantly being asked to peel off newly exposed layers from the tank film, without distorting itself. So supports must be added back to the base with this repeated force in mind.
There are also considerations about how to separate the print from the base after it’s done that mean supports are effectively always required all over the area of the print facing the base, as separators enabling print detach.
These printing supports on the exterior of the print affect the print finish unfortunately.
Dual-head extrusion printers can put a water-soluable filament on one head, and use it as mass support structure. After the print completes, you can wash out the supports. The results from this are good, but printing with dual head is unbearably slow for nontrivial designs: prints can take days.
SLA has a certain amount of overhang it can print without needing support, the default is 45 degrees. However there are other realities about the mass being printed and the characteristic repeated stress where the already-printed parts of the design are between the layer somewhat adhered to the tank film, and the base trying to lift it away, that means supports will be required back to the base where there is significant mass.
Slicing
After the 3D design has had the supports added, it is postprocessed into “slices”, these are the layers that will actually be printed. At 50 micron z resolution, there are 20 layers per mm, so eg a design that is 5cm high will be looking at 1000 layers.
With extrusion printing, how long a layer takes depends on how much there is to be printed on it; it has to spend time both laying the extruded plastic and moving between areas with plastic. But with SLA, the time taken to print a layer is constant (roughly 2.5cm / hr with my printer), it’s just how long any resin needs to be exposed to the curing light and how long the base takes to move up to peel off the layer and down again positioned for the next one. That is interesting because it means it costs nothing timewise to pack the print area with copies of the print with SLA.
Software stack for design and postprocess
There are FOSS pieces available for the whole software stack except the printer driving part; at least, I used the (free as in beer) Linux printer driver part and didn’t try to replace it yet. You might find or know better solutions, I am just listing what works for me at the moment.
OpenSCAD
OpenSCAD is basically CAD from a programmer’s perspective. Your CAD design is textual source code which is rendered interactively. It has quirks, and some operations cause it to take minutes or hours to render small designs, but as a coder I was immediately at home with it.
It’s in most distros and is easy to get started with. The basic idea is you place and perform operations on 2D extruded or naturally 3D shapes using source code.
After things look good in the dynamic preview render (which is sometimes very slow), you can export to STL, a standardized 3D format everything else can eat. However this export process can literally take hours.
In summary OpenSCAD is very cool for coders to use, but once you get past a certain point, it is simply too slow.
FreeCAD
FreeCAD looks like the next best bet. This is more of a traditional CAD system. It was possible to import 3D models from OpenSCAD, and it has an OpenSCAD “mode” that might be workable.
Meshlab and Fast STL Viewer
These are not necessary but allow you to combine and view STL, if you are discussing the design with someone it’s very convenient to be able to be able to rapidly point things out before it exists; OpenSCAD itself is only really able to do this for simpler designs. But you must sit through the STL export in OpenSCAD before these can do anything. Meshlab is FOSS available in most distros and Fast STL Viewer is in the Android “Play” Store.
Flashprint
Once you exported to STL, actually flashprint the “free as in beer” binary-only Linux version of the printer manufacturer’s app / driver handles everything else.
It imports one or more STL from your CAD application, and lets you arrange them on the build plate volume. Once arranged, you can automate support addition and manually add supports (which you will need to do).
Once the supports are in a good shape, you can slice the print…
…and send it over WIFI to the printer (it’s not documented, but after running nmap against the printer, it listens on port 3333). It also tracks print progress while printing.
The site provides a .deb, however you can unpack this and copy the directory structure inside the archive to / (after checking it won’t overwrite anything unexpected…). The guts of it are in /usr/share with one file in /etc. Currently it has one compatability problem with modern Linux: a required icon overlay (that has no equivalent shortcuts) only appears in Xorg, not Wayland.
Despite this isn’t ideal having a non-FOSS (if native Linux) bit at the end, the interesting thing about this stack is you can get all the way to the end of your design action for $0, without having a printer. So if you are curious about any of this, I encourage you to install the related tools and give it a try.
Part 2: Flashforge DLP printer
Unsuccessful experiment with extrusion
While trying to calibrate my understanding of the technology options, I had an early version of my enclosure printed in PLA using a service here in Taipei, via 3D Hubs.
The print took a couple of days (longer than promised) and the quality was pretty bad.
There were many support structures inside the cavity of the enclosure, and they took hours to clean out. Even after taking care, the enclosure snapped in several places when it met the force needed to remove the supports. There was visble Z axis noise in the layering that also weakened it.
The design was in two halves that should meet up, but the quality of the PLA print made that impossible. And clearly it was a systemic, structual problem with the process.
I expected to have to go through a learning curve, but looking at the results I had already learned that neither that technology nor the “3D as a service” model was going to produce anything useful; I needed better technology and needed it on hand.
I discussed the situation with the owner of the local “maker” place who did the print via 3D Hubs, he recommended that SLA might make more sense for my small and light enclosure. He showed me a sample used for microfluidics which was much more detailed and delicate.
Looking for a Flashforge “hunter”
After looking around, only Flashforge had native Linux support, so I went to see a retailer in Guanghua, Taipei’s electronics district.
The lady there had no English, but she informed me by typing it on a calculator it would cost NTD170,000, which is around GBP4300. The US RRP was USD3450 / GBP2700… I don’t know if that was just “foreigner tax” or some general feeling that imported goods should be expensive. Googling, I could buy the same thing in the UK for GBP2900, even accounting for the 15% import duty and GBP100 shipping it was clearly a loss of GBP1000 to buy it from the guys in Guanghua. So I had it imported, which took a week. Parsimony FTW.
What is the printer like?
It’s about the same size as a laser printer or so, a little taller. There is a smoked perspex hood to reduce the amount of UV light escaping from it and to reduce the amount of ambient light solidifying the resin accidentally.
What is the resin like?
The resin and the printer with resin in is not suitable for being placed in your office or work-room for long-term cohabitation. The resin smells and will give you a headache. Mine ended up living in a bathroom which to my relief turned out to be a “wife-compatible” solution.
Printed works are not so objectionable after a day or two and just feel like plastic parts.
Since the vat is exposed at the top, I put some flat cardboard with a weight on top on it when not in use to stop the resin gradually hardening.
What are the prints like?
The prints are a little bit soft when they come out of the printer. That’s not a bad thing because it is easy to snap off the supports, since they also have a conical taper where they meet the model. Over the course of a day or two in normal light the prints become more solid and brittle.
How messy is the process?
It can be messy. You can clean off resin that’s not completely solidified using ethanol.
SLA printing consumables
The Flashforge SLA printer comes with 500ml of grey resin included… but starting from scratch this isn’t going to last you long for reasons we will get to.
Although this is one of two regular consumables the SLA printer needs, obviously the resin is the major consumable since it actually becomes the end product. There is some proportion of wasted resin, which goes on the supports and the base raft each time, but the proportion wasted depends on exactly what you are printing. For my design it seems to be broadly around 30%. If you are making individual prototypes, that is not too painful.
However if you want to buy official resin from the Flashforge retailer at Guanghua, your pain will be magnified, since the lady with the calculator wanted NTD7000 (USD230) for another 500ml official resin.
Luckily there are aftermarket generic resin suppliers in the form of Funtodo. These are represented in Taiwan by 3D Mart and have an office with stocks a few miles from me elsewhere in New Taipei City. Their pricing is NTD2200 (USD72) for 1000ml of white resin, ie, 1/6th of the price of the lady at Guanghua per ml. Their stuff works fine, although be aware there are settings in the print dialogue to select which resin you are using and adapt exposure time etc.
The other SLA consumable
As a nod to the fact you will probably need it quicker than you expect, Flashforge also ship a spare of a second consumable, which is the vat film. The vat film has a special composition (FEP) that is highly transparent but the solidified resin can easily peel off from.
I didn’t ask the Gunaghua lady how much that was since it was before I had a printer and I didn’t understand I would need it. Since you can buy it online for USD7.50 a sheet, I guess no point asking them since it won’t be competitive. I bought 5 feet of it which should see me through the foreseeable future.
The vat film is held tensioned in place by a dozen bolts, and changing the film is quite fiddly, the process takes an hour or two. The USD7.50 sheets do not have holes cut for the bolts to go through, but you can use the old sheet as a pattern and cut them carefully with a scalpel. The FEP film has a thin plastic adhered to both sides you peel off right before fitting it, since it must not be contaminated by fingerprints.
Dangers of failed prints
Unless you are printing some canned ready-to-print model, failures are likely in your first few prints. The automatic placement of support structures is not smart enough to realize when it needs to deviate from just dropping supports on a regular grid driven by where parts of your design exceed 45 degree overhang.
Failed prints are potentially very bad news with SLA.
Typical failure modes
The usual, direct reason prints fail is the support structures are inadequate for the force of the repeated layer peeling and the weight of parts of the design. But even adequate support structures may fail for some other root cause, causing considerable headscratching.
When the support structures fail, it’s not pretty. At a minimum, the unanchored part of the print “flaps around” as the rest of the layers merge into it.
More typically, bits of the print literally fall off, and therein lies the danger.
The build platform will be continuously coming within 50 microns of the vat film by design, if there are solid pieces in the resin solution they will be pressed hard into the film by the metal build plate, and damage it. When damaged, the resin will leak through the hole and cause a region of the transparent plate to become somewhat opaque. The DLP light can then no longer get through to the resin on top of the hole, creating a “weak region” for printing.
This damage is not easy to guess or see through the opaque resin. Here is a damaged FEP film I eventally removed when I ran out of alternative ideas. The glass bottom of the tank had a whitish halo of solidified resin that had leaked under the film and become sandwiched between the film and glass, ruining any printing in that area.
What makes it more problematic is you cannot even see that a print is failing until the print is more than an inch high, since the work is hidden by the vat and opaque resin until then.
I disassembled the tank and cleaned the glass with Ethanol and it recovered very well. With the new FEP film in, and adding many more supports in the areas that tended to fail (edges, areas with a lot of mass, corners) the success rate is now pretty reasonable.
Resin separation
If left still for a day or two, the dye and the (clear-ish) resin will separate like oil and water. The dye will sink to the bottom and the resin float on top like the oil. You can’t print like that since the light will only reach the dye at the bottom.
It’s necessary to remove the resin tank and hold it at an angle so the surface tension will clear the FEP film, after after doing that for each side rock it gently from side to side until the dye mixes again.
You can also get an idea of the strong surface tension of the resin from the above.
Safety tips
Wear disposable gloves when postprocessing the print
Wear safety glasses when washing the print in alcohol and removing the supports… otherwise it will splash in your eyes
Apparently unresolvable issues with SLA
Not commutative in the Z axis
Printing the two halves of my concave model at 0 degrees and at 180 degrees gets different results in terms of linearity of the edges and how orthogonal the resulting form is.
It I print it with the convex side facing the base, with support structures against the outside of the model, results are much better than if I print it with the concave side facing the base and support structures entering the concave side.
This is a serious problem for me because it means I can only have reasonably straight edges that should mate when I print in the orientation that leaves dents in the external faces of the enclosure from the supports.
Resin shrinkage
The resin hardens over a few days and shrinks a few percent in volume while becoming more brittle. Basically the results from SLA printing cannot bear any mechanical stress, the material will crack and tear.
That is OK for some purposes but even a low stress mounting hole will just crack off. It puts a limit on what you can use the models for.
Conclusion
My SLA printer is able to turn out models matching the CAD with good detail, but only under conditions like picking a side that will look good. The variation in things like mating edges is quite low but again you may have to orient the design on the base in one direction or another to make sure about that.
It’s certainly true that being able to fit the enclosures to PCBs and hold it in your hand is something SLA can do, and if it is to prove the CAD or use it to show it to others for manufacture with a different process that is a huge advantage. However the resin material is not hardy enough to ship at all. So it is effectively ony useful as reducing risk before processing the design another way.
I hope this has been interesting and maybe helpful for people considering 3D printing. If you have any comments or suggestions for improvements please drop me a line at andy@warmcat.com.