FSLA 3d Printer


Introduction: FSLA 3d Printer

This guide covers the construction and installation of a "low cost" 3d printer SLA. The project began for me during Christmas of the year 2014, a time when I was very busy with another project that completely absorbed me. During the holidays I decided (unconsciously) to distract myself with the idea of creating a printer based on photosensitive resin technology. The idea was to control a UV laser module mounted on a central joint and tilt it to reach all points of the plan. After have finished it and put into operation, I realized that it presents several problems. One of the biggest problems is related to the precision of the movement (although the economic stepper drivers divide steps many times, the single microstep is not reliable for such operation), another big problem is the deformation of the beam when it reach the base and takes different forms depending on where it is. After some tests and prints not very satisfactory I decided to switch to traditional Cartesian architecture.
Finally, the entire work that naively thought I conclude by January, took three months, but I was happy with the results! At this point, better to step back and talk a little of the SLA printing technique. This type of printing is based on the principle that it is possible to catalyze a small amount of resin by hitting it with a coherent beam of photons. The resins available on the market for this purpose are sensitive to ultraviolet, 405nm. I've used the makerjuice natual with satisfaction. From the practical point of view this means to catalyze layer by layer using a uv laser, where each layer represents a section of the object that we want to achieve. To catalyze a layer of the desired thickness (ex. 0.1mm), there are two basic techniques. One technique is to catalyze the layers on a plate which gradually descends into a tank full of resin, each upper layer catalyzes over the previous. The floor will drop always of the same size with respect to the resin surface, which corresponds to the thickness of the layer. A second method (the one that I chose) provides a UV-transparent vessel, containing the resin and below the laser that catalyzes the resin. To build the model, the printer move the plane inside of the vessel, in order to leave the desired thickness between the plane itself and the bottom of the tank. Between one layer and the next, the plane is lifted and the piece has to remain attached to it, in order to leave the free space for the next layer. Both methods are valid but have different problems. The first method requires a tank with a volume equal to the maximum build volume and filled at least to the height of the piece (a problem for those who do not frequently use the resin that would remain long in or you have to remove it frequently). It also requires a reliable system to control the level of resin and the sinking of the floor, because the volume variation that undergoes the resin which catalyzes affects the result. The second method is more simpler but also undergoes to several problems. The most annoying is the fact that the resin adheres when catalyzes both to the plate and to the bottom of the vessel, and then when the plan lift to the next layer is necessary to ensure that the material remains attached to the plate and not to the tank, otherwise the print fails. To avoid this we need to create a fund in the vessel but transparent to UV, since the laser must pass through it. It is also important to avoid the "sucker effect" which results when trying to detach two surfaces adherent, applying a force perpendicular to the plane. For this it is expected in the printer a movement of the tilted tub, to remove the resin from the plane starting from an edge.

Step 1: List of Materials

4x: 20mm rod support (0612-SHF20) for Z axis
2x: 20mm bearing support (0548-TBR20UU) for the screw of Z axis

2x: 20mm rod (ST20)

4x: foot (TCOL00157398)

4x: 30x30x240 C.8 alluminium profile (PR0300308) for bottom and top (should be M8 threaded on top and bottom)

4x: 30x30x300 C.8 alluminium profile (PR0300308) for bottom and top (should be M8 threaded on top and bottom)

4x: 30x30R rounded alluminium profile (PR030030R) for the jambs (should be M8 threaded on top and bottom)

1x: 45x90x200 alluminium profile (PR0300908) for plate support

2x: 60x30x290 alluminium plate for Z axis (see the dxf for more detail)

2x: D12 carriage for Z axis (0548-TBR20UU)

1x: 350x290x3 alluminium plate for vessel plate support (see dxf for more detail)

6x: clamping angles 25x40 (SQ025040) to mount Z axis to the structure

16x: M8 bolts + C.8 square nuts

1x: reprap's compatible 3d printer electronics (Arduino based)

1x: reprap's compatible lcd

3x: stepper motors NEMA17 0.9°/step for X Y Z axis

1x: stepper motor NEMA17/gearboxe 0.35°/step for vessel

1x: screw + ball nut for Z axis

a bunch of 3d printed parts for carriege, supports etc.. (see the file attached for stl)

This material should be found on shops who sell 3d printers or cnc mechanical parts.

I found everything cnc-store with a good price and service.

Step 2: Mechanics

I called the printer FSLA because it is a pun between Fla (my name) and
SLA (Stereolithography). The printer has an building volume of 150x150x130mm, which is bigger of what you commonly find in sla low cost printer..

The structure is based on extruded aluminum sections of 30mm side, to which are mounted the rods on which slide the carriages for the movement of the laser, the support for the tub and the Z axis .

The main frame is built around the 4 jambs, which are 30x30 rounded sections, pretty nice looking i think :)

To mount the 4 30x30 square sections for the edges you should make 4 holes on the rounded sections. The holes have to be 15mm far from top and bottom and should pass in the middle of the central cavity of the sections, where the bolt's head has to be. Every edge is fixed to the jamb through an M8 rounded bolt and the hole is where the allen key passes to tighten the bolt.

All components necessary for the construction of the axes X and Y can be printed from a common FDM printer, personally I preferred the PLA as a material, but i think that also the abs or nylon are perfect. Attached to this guide you can find all stl files for printing. To allow the perfect sliding of the carriages, I used sliding bearings, while as regards the traction straps I used 5mm pitch 10mm wide. For X, Y and Z i have used motors NEMA17 model 42BYGHM809 (0.9 ° / step) while the inclination of the tub I used a motor 42STH38, always NEMA17 with gearbox (0:35 ° / step). To ensure a good strength of the machine I made some aluminum parts, in particular the Z axis and the support of the vessel. For the realization of these parts i have attached files dxf and gcode that I used for cutting with cnc milling.

As regards the Z axis, instead of using a belt for movement I decided to use a screw with a ball nut. This type of mechanism is expensive but allows you to move the plane on the vertical axis greatly reducing friction and games. The two vertical bars are large, but it is necessary if you want to have a solid Z-axis.

Step 3: The Vessel

Regarding the construction of the tank, I got cut from my glass glazier some piece of glass and I have assembled it with acetic silicone. We must pay special attention to the non-stick coating. This is vital for the success of the prints !! In fact it is necessary that the resin adheres better to the plane then to the tub, so that there remain attached parts of prints. For this I used a two-component liquid silicone and UV transparent, the same that is used to protect the photovoltaic panels. The only ones that I have tried and found to be good for this purpose are the Sylgard 184 and QSIL 216, that I ended up using for the lower price and availability. When depositing the silicone is important to ensure that the tank is horizontal, so that the layer is of uniform thickness, it is also advisable to remove the air bubbles that will remain encapsulated, manually or by means of a bell. To make sure that the tank is secured to the mount, I've used two aluminum rails where the vessel borders flows within.

Step 4: Electronics & Firmware

The laser I used is a module from 120mA 405nm, this module is controlled
by a power supply which, in addition to adjusting the current allows a digital control input up to 20KHz. This allowed me to use a pin of uC to vary the laser power. To prevent the environmental UV radiation do harden the resin, I have realized some methacrylate panels, some transparent orange and others black, where the internal parts are to be hidden.

As regards the electronics I used the board produced by the www.futurashop.it company who have realized it for their 3drag printer. I chose it because I think it is very well done, but with minor changes to the firmware you can use any other electronics designed for 3d printers based on Arduino.

The firmware from where I started is the well known Marlin, making the appropriate changes in order to make it operational for my laser printer. For example, the E axis, which is normally used for pushing the material, in my case was used to tilt the vessel between one layer and another. For the pwm control of the uv laser (by varying the duty cycle it is possible to change the laser power) I used a pin of uC that would normally be used to control the power mosfet of the heated surface.
You can check out the firmware for the FSLA printer at my github


Step 5: Can Also Be Used to Print PCB!!

This printer can also be considered "mutipurpose" because I've used it with satisfaction to realize pcb.
In fact the laser that is used to catalyze the resin can also be used to impress the photoresist present on the presensitized boards for photoetching.

To do it, I normally design the pcb using Eagle PCB and then I produce the gcode using a modified version of a well known ulp for eaglePCB, PCB-Gcode.

To impress the presensitized board you have to remove the vessel and mount the board to the plate using 2 screws.
If the board is a 2 side pcb you have to print the top side first and then rotate the board on the plate and print the bottom side. In order to align the two prints you have to take a precise measure of the offset on the x axis when you mirror the board and a rotation also (because you'll probably won't be enought precise with holes and the costruction itself). This is not an easy process, but when you've done it you have to modify my setup with yours, in the "/scr/pcb2FSLAprinter.scr" file, before launching the script inside eagle pcb.

After that the prints are done you can treat the board like in a common photoprinting process, so you can use the sodium hydroxide and then hydrogen peroxide to remove the copper.

Step 6: Final Considerations...

I think that this kind of printer is more useful for who like to print at higher resolution but pieces not with mechanical purpose. This is because the prints are made in resin, and even if there are several kind of uv resin, the prints are more for action figure or objects of design, not much for who wants to build mechanisms. This is in my experiece until now, but every day there are news about UV resins and probably there already is something better around for this.
The building of this machine was a very nice adventure, and was more hard of what i aspected to be, but at the end i think that the resault is really nice!!

This project has a not negligible cost, and is not so easy to build, but when it will work (and it will work :) ) will be a really good satisfaction for you.

I know that many things are still to be said in order to have full info to build the machine, but I hope that the images can help to anyone who wants to try to build it. And of course i'm here if anybody need some more informations.

I really hope that you liked the instructable. Maybe someone will build this machine and likely will improve the project !!




    • Oil Contest

      Oil Contest
    • Creative Misuse Contest

      Creative Misuse Contest
    • Water Contest

      Water Contest

    65 Discussions

    Hi:) i'm trying to make this printer. good jod~! thanks for sharing.

    I have a few questions.

    1. I want to see more pictures of the production process. could you please more detail inside printer pic?

    2. Which part of the firmware should be fixed?

    i use The board used is Ramps 1.4 + Arduino 2560 + 2004LCD.

    I want to make it based on Arduino.

    Please. Please tell me how.

    have a good day :)

    1 reply

    The "beep" sound continues and there is no response from the LCD screen.

    what can i do?

    Hi, I have a question, what board did you use to control the laser? Just with arduino mega 2560? Normaly I use Ramps shield to control the step mottors. What have you used to control everything? :D

    1 reply

    Hello ~ Thank you for your reply

    IED1.6.5 version I use is no problem Thank you

    But there is a problem IDE1.6.9

    Hello ~ good project

    I have a problem programming IDE

    SdBaseFile.h: 38: error: using typedef-name 'fpos_t' after 'struct'

    struct fpos_t {

    what is the problem? How to fix

    1 reply

    i've downloaded right now my code from github and i have no problem to copile (i have Arduino IDE 1.6.5). The only thing is that the ide require that the .ino file has to be in a folder with the same name, so you have to move all the files in a subdir named "marlin".
    Choosing "Arduino/Genuino Mega or Mega 2560" works.
    Have you modified the project? seems that you have a variable named as a structure name "fpos_t"...


    2 years ago

    Complimenti davvero. Credo che provero` a costruirla!!!

    A presto con le mille domande. :-)

    Ciao e grazie per questa chicca..

    progetto interessante davvero, per il vassoio hai usato vetro normale o vetro borosilicato? e il laser che hai montato che spot ha?.. Io per ora ho una DLP e vorrei costruire una sla ...pensavo ad una meno ingombrante galvo laser ( i galvo della Cambridge tech costano un'occhio però), ma anche questa a plotter potrebbe essere anche se più lenta, meno dispendiosa. L'unica mio dubbio è la risoluzione, io ho bisogno di massimo 25micron anche 10 su x/y e poi l'asse z non è un problema portarlo a step da 25 e 10 micron. Hai qualche dritta da darmi su come possa raggiungere quelle risoluzioni?? Per me non è un problema costruire la macchina, il vero problema è la gestione software dove ho un'infarinatura molto di base e per di più questa per me sarebbe la prima esperienza con i laser

    11 replies

    Ciao, vetro normale (di solito si usa borosilicato sui piani riscaldati perchè ha un coeff. di dilatazione inferiore). Per la risoluzione non credo sia un problema, puoi fare riduzioni meccaniche con puleggie sincrone, non avendo grandi forze in gioco come accade ad esempio nelle frese cnc. Se non hao problemi di soldi puoi usare viti con chiocciole a ricircolo di sfere. il fw per Arduino è allegato. Ciao Flavio

    grazie per la rapida risposta.

    Il borosilicato ha anche una minor resistenza al passaggio di luce intorno ai 405nm e comunque ho intenzione di non usare il motore per la basculante ma di mettere sopra il vetro un foglio di FEP (teflon trasparente) per non far aderire la resina (è lo stesso sistema che usano la Miicraft DLP con spessore di 0,05mm e altre 2 galvo laser con spessore di 0.127) quindi farei un bordo in policarbonato con una guarnizione in silicone apposito che preme questo foglio di FEP sul vetro borosilicato, meno duraturo, ma una volta messo non ci sono pericoli di disallineamento. per quanto riguarda gli assi x/y io non parlavo di movimento sugli assi ma dello spot del laser, visto che non me ne intendo vorrei capire se un laser come quello che hai indicato tu ma da 250mW possa stampare a quelle risoluzioni senza problemi...come dicevo di meccanica me ne intendo...di elettronica meno

    Il problema del laser è la forma del beam (solitamente una ellisse) e la focalizzazione, in caso tu ti muova sul piano xy cartesiamo. Nel caso dei galvanometri avrai coordinate cilindriche e quindi se non correggi il fascio (ex. con una lente grande come il piano di vetro ) la forma del beam si modifica in funzione della sua posizione. La dimensione del punto di resina polimerizzata dipende dal fuoco del laser, la trasparenza del vetro+fep(che non ti consiglio), la denistà dei pigmenti di colore nella resina, il tipo di resina e il tempo(quindi la velocità del fascio) di catalizzazione. Da quanto detto capirai che la risposta non riguarda solo l'elettronica o il software e darti una risposta puntuale mi risulta quantomeno difficile. Posso consigliarti di scegliere un laser sui 100/150mW, pilotato da un driver che possa regolare la potenza con un ingresso ttl (si tratta di far lampeggiare il laser a 20KHz, cambiando il duty cycle). Se lo prendi troppo debole per catalizzare ci mette troppo, se lo prendi troppo potente dovrai regolarlo a bassa potenza per non cristallizzare la resina (questo comporta che nel lampeggìo rimarrà più spento che acceso).Scegli un diodo che abbia il beam il più circolare possibile(in quelli di qualità viene indicato il grado di rotondità). Detto questo dovrai fare delle gran prove... flavio

    grazie di tutto.. ora ho compreso bene in che direzione muovermi... il problema con i galvo non è così grave posso ovviare facilmente volendo costruire un piano di lavoro non più grande di 10x10, basterebbe anche 6x6.

    Quello che mi lascia perplesso è il fatto che mi hai sconsigliato l'uso del FEP, io attualmente lo uso e non mi trovo male. E' vero anche che la basculante non ce l'ho su questa dlp che sto usando, solo per un problema di brevetti che a noi non ci spettano essendo macchine autocostruite.

    In definitiva pensi che sia meglio la basculante con piano in vetro? O per comodità sul cambio delle resine ne sfrutto una già costruita in plastica tipo quelle della form?

    cosa intendi basculante? parli dell'inclinazione della vasca a fine strato? in ogni caso o usi il fep o usi il sylgard, altrimenti la resina si cristallizza sul vetro. La vasca inclinata è molto utile per distaccare gli strati dalla vasca. Per i galvanomentri bisogna vedere che azionamenti usi, non è detto che si possano collegare all'arduino direttamente, in ogni caso avranno bisogno di un'alimentazione molto pulita. Flavio

    Si parlavo dell'inclinazione a fine strato, il bello del fep è che essendo un derivato del teflon, attualmente è il prodotto più antiaderente in commercio e essendo flessibile tende a seguire la resina curata, Quando l'asse z sale, per poi staccarsi qualche micron dopo. Ho fatto qualche ricerca e prendendo un galvo serio (Cambridge) con driver dedicati e lente arrivo a oltre 700€ E poi devo aggiungere laser e tutto il resto, quindi penso di tornare al plotter, ora devo decidere solo come strutturare la vasca, se con il fep o il sylgard che ancora non ho capito bene come funziona .

    Il sylgard è un silicone bicomponente e trasparente agli uv, và pesato per limitare lo spessore e cotto in forno (in bolla..). La mia esperienza con il FEP non è molto positiva a causa della scarsa resistenza del film (ch tende a strapparsi), al costo e al fatto che dopo un pò di usi di deforma non potendolo incollare al vetro.

    Fammi sapere come viene e in bocca al lupo! Flavio

    viste le resine che devo usare e la risoluzione a cui devo arrivare che ne pensi di questo?? http://www.cnilaser.com/MDL-EC_laser.htm

    o hai da consigliarmi qualcosa tu intorno ai 200/250 mW?

    purtroppo le resine che uso io sono a base cera o a base ceramica,

    tipo DWS-DC550 o DWS-IRIX, per ora compro tutti i materiali, faccio fare i tagli al laser che mi servono poi a agosto inizio ad assemblare e spero che per settembre sia tutto pronto per la messa in uso continuativa.

    PS. sono un gran rompib...e

    Il 405nm sembra buono, occhio a prendere il driver con "TTL modulation" non "Analog" e ovviamente gli occhiali.... come potenza mi terrei sui 200mW.

    Il ho preso un laser più economico da Odicforce http://bit.ly/22wHSez

    quindi insieme a quello prendo un driver con TTL modulation digitale che arrivi a 20 Khz .. e da futura shop quale scheda devo prendere? Non hai messo il modello.... almeno la parte firmware è quasi uguale alla tua