DIY high resolution SLA/DLP printer


CNC Router
CNC Links

Resin Printer (DLP)
  • Testing
  • Events
    UM2 Dual Extrusion
    UM2 CoreXY






    VB6 - 3D
    VB6 - Simulation
    VB6 - Games
    VB6 - Other
    VB6 - Outsourcing


    Valide CSS!
  • A while ago, I was inspirited by a nice movie from Oliveira Jose about a DIY SLA 3D printing device, working with a (modified) DLP beamer. I had still a lot of questions, on how this process was working. Finally after reading a building blog on intractables by Tristram Budel, I decided to build my own! :) So this will be my building blog for now.

    If you have any questions/remarks about this build or search more info in general, please use this nice forum:

    Like stated in various building logs, choosing the right beamer depends on:
  • UV content
  • light intensity (power unmodified lamp ~210 (?) [Watt])
  • contrast ratio
  • resolution
    I like the "Acer H6510BD", with 1920x1080pixels a lot. So secondly I need to know the projection distances, some measurements:

    For having a resolution of 1 [mm] = 10 [pixels], the next distances seems to be best:

    Placing the front face of the beamer about 225 [mm] from the printing area. Down side are some sharpness deviations, especially around the corners. Maybe this distance is too close, so the design should have some space to change the beamer distance.

  • I donít want to modify the (expensive) beamer, so first Iím looking for resins which will be cured by visual light. After searching the web, I found some interesting places to buy resin. A list of suppliers & prices, excl. shipping:

    Site:Costs:Location:Comments: € 45 /Kg (excl) EU/BE European reseller of € 45 /Kg (excl) EU/NL General DLP resin € 62..78 /Kg EU/ES Nice different resin options! :) € 137 /Kg EU/UK B9creations resin (Red) € 31..35 /Kg USA General purpose, incl. UV & none-UV curing. € 34 /Kg USA PS100-V420. Lot of different options. Minimum 1 gallon. € 49 /Kg USA - € 56 /Kg USA UV Resin only!
    MadeSolid € 275 /Kg EU/ES FireCasting resin :)
    *) Prices could change because of different currency rates & resin density.
    **) Buying outside EU, the Dutch gouverment wants you to pay additional tax (21%) and above € 150 also custom fee (from 4 to 12%).

    I'll not regular update this price list, so check out real prices yourself. I ordered 4 colors (liters) from makerjuice. It took 2 weeks to arrive, getting an additional fee for customs (60e) :( and including transport € ~59/Kg.
    Whatever, I've got the stuff, so I'm happy :)

    Actually there are 2 types of designs possible:

  • Bottom Up: Having light from bottom side, shinning on some transparent window.
  • Top Down: Having light from above, shinning into a bath of resin.

    I cannot really chose, which option will be best. So I like to have both options and I also want to have the 3D printer as small as possible. I decided to use 2 surface coated mirrors. This design will allow the smallest foot print/design possible! :)

    My first build will be the bottom-up configuration. Just because thisone is looking much more futuristic.
    Because of some spare parts lying around, this results in the next design:

    Top DownBottom UpBottom Up configuration


  • Printer: 36 x 29 x 38 [cm]
  • Build size: 20 x 11 x 12 [cm]

  • I need 2 mirrors & 1 glass plate:
  • Mirror rectangular: 60x45 [mm]. (Surface coated)
  • Mirror trapezium: L198 L128 H131. (Surface coated)
  • Glass rectangular: 210x128. (Thin & very transparent)

    Some places I found so far to buy mirrors:
    Glass could be found around the corner. I'll first try standard float glass.
    The mirrors came from firstsufracemirror, the arrived after 4 days from the US. Pretty quick & no custom fee's this time.

  • After ordering some more stuff and using the BF16 milling machine a lot, the building makes some progress...

    Almost all the parts are ready. Now the fine-tuning of the mirrors will start. As expected, it's quite hard to align the beamer, the 2 mirrors and the vat in the right way. I think this is the mayor down side of this design. But it needs to happen only once!

    I was well surprised about the strength which the simple Z-stage could generate. The stainless steel M6 lead screw is not 100% straight, but still it generates a tremendous amount of force, while just running on 12 [V] & 0.2-0.5 [A]. It's not possible to stop this movement by hand force. Maximum running speeds are currently: 350 [mm/min] (equal to 350 [rpm] in my case). In general (for CNC-milling) not very rapid, but enough speed for doing the 3D printing job.

    These options are also connected:

  • Moving the build area up/down (2 buttons)
  • 'Start-button': automatic move downwards, till end stop is activated and then move up to right starting point
  • Tilting mechanism (which is a nice add-on, but propably not necessary)
  • Working on 'shutter-mechanism' (hidding the beamer light)

  • After reading some other building blogs, I decide to use ProjectLayer (Pronterface) to do the pc-processing. ProjectLayer works really simple: it sends the image (CVS from Sli3r) to one screen & blanks it. During the blanking, it uses simple NC-code to move the z-axis up & down. So the only thing is to program the arduino with some NC-code interface. I did write this already, but my own 4-axis CNC version is working with a binair interface. ProjectLayer sends ASCII NC-code right away to the USB. So I just re-use the JoggingLoop, from the old code and found nice GcodeCNCDemo code from 'MarginallyClever' team. Some items I changed:
  • I don't use Adafruit motors, I'm also not using the 'arduino-stepper-library', but build my own stepper 'library' for having maximum control.
  • I removed all x & y related code. (Don't need Bressenham algorithm, while using only one axis) ;)
  • Changed the feed rate units towards [mm/min] (which is much more accepted by cnc-machinists & also by ProjectLayer)

    Nevertheless, I want to thank the 'MarginallyClever' team for sharing their ASCII-NC-code converter demo. :)

  • The workflow I'm using:
    CAD:   CAD:   CAM:   SLA 3D Printer:
    Design   Change format   Real time control   Printing...
    Siemens NXSTL-file
    ProjectLayera: HDMI-port
    b: NC-code
    a: Beamer (b/w images)
    b: Arduino (movement z-axis & tilting)
    STL-file SVG-file
    So the first dry-run is a fact: it seems to do, what I'm expecting to do! So hereby, the complete workflow: software & hardware is approved. ;) Maybe I'll write my own CAM software later, which accepts STL-files & directly controls the printer (using the same NC-code interfacing).

    After 225 hours: designing, creating parts, programming the Arduino & testing the Ďdry-buildí, it's time to fill the vat & press the 'printing button'. Hmm, that's a little disappointing, it doesn't do what I had in mind. Settings: 6 to 10 [sec] exposure and 0.1 [mm] stepping height.


  • Use right printer settings, still not really sure what to do...
  • When using glass, you will need anti-sticking coating.
  • When using PS, shorten exposure times (?) because the resin will sticks very easy.
  • Tilting system, let's try...

  • Before starting a new try-out, let's get a better understanding what's going on. So I joined the yahoo* group of Graham and asked for help. Why didn't I do this before? This is how it works:

    There are two basic "sticking forces" one is adhesive and the other is essentially due to the surface tension.

    The resin will stick to build plates and itself adhesively, in the case of sticking to itself the adhesion is very intimate, with the build platform it is wicking into the surface structure like any normal non welding glue.

    PDMS absorbs oxygen and this inhibits polymerisation in a very thin layer. This prevents the part from sticking adhesively to the pdms. There is however still a sticking force due to the thin layer of un-cured resin. This is just the same as if you put a drop of water between two panes of glass. Tilting with a flexible vat bottom allows the gap to open gradually allowing resin in, as does pulling up with an even more flexible vat bottom. Sliding is aided by the uncured resin acting as a lubricant.

    *) The yahoo discussion forum is now moved to google forum: DIY-AddFab.

    I'm not really happy, to change the printer design, because there is little room left for a nice tilting system. The options I found so far:
  • Using springs during tilting. (Passive solution)
  • Gliding the printed object to a deeper part of the reservoir, eliminates the suction force. (Like the B9Creator)
  • 4 bar mechanism, eccentric cams, spindles etc etc.
  • Tilting vat or build platform.
  • Lowering adhesion between resin & floor by: Sylgard, PDMS, Teflon spray/sheet or other chemicals.
  • Lowering adhesion by a layer of water.
  • Flexible vat.
    I still like the idea for having a vat without any chemical stuff on top. So a flexible floor seems a nice add-on to have, but difficult to make. I'm going for an eccentric tilting vat.

  • The tilting system is actually a combination of 2 systems. It consists of one eccentric, but unlike most other designs, it's not only pushing one side of the vat downwards, it's also moving the vat a little to the front/back side. This is more or less the same, like the four bar mechanism is doing, except for the linear motion.

    Since the tilting system is working, it's time for some more testing...
    This time I'm using resin from both FunToDo & MakerJuice.

    After trying a lot of different vat floor coatings, it's time for some nice pictures.
    Some pictures during the printing process (#20):

    Printer in action:

    I'm quite happy about the results so far. At least it's printing something... Now I'm finally in the position of adjusting & improving print quality, try different settings and resin and after that printing different objects...

    This is propably the most difficult part of the whole printer. What combination of materials will work best? I have tested a lot of combinations, read a lot of websites, but I didn't find the Holy Grail yet. Here a picture from the damaged 'tripple vat floor', while testing: PS + Sylgard; PS + FEP/Teflon; PS:

    (Click on the picture for more testing results...)

    So let's try some different objects. Ofcorse the printer should be able to print a Yoda :) and I'm still trying to print a nice, round, complete, Goldberg-George sphere...

    I'm still very surprised about the nice tiny details! It's amazing to generate such, with a relative simple setup. Down-side is the amount of try-outs. Till today, it's still very difficult to print something like it's within CAD. Maybe I'm expecting too much...

    One of the annoying things is the beamer showing something which it should not do. Like the showing the beamer-close-down-message or while pressing wrong button so PronterFace disappears, so the desktop is shown... When the vat is placed, the resin will cure very fast due to the bright white light, which could even result in damaging the PDMS layer. So I decided to create a mechanical shutter just after the first mirror, including a nice red led & push-button on the front panel.

    While still reading the internet about the best vat designs ever, I came more or less to these conclusions:
  • Use PDMS / Sylgard 184 coating: re-coate after each ~6 prints. (Like form1 & many others)
  • Use adhesive FEP with tilting: re-coate after ? prints. (Works pretty well!)
  • Use B9Creater setup: (PDMS) sliding vat with wiper, to 're-fresh' the vat. Also they sell new vat-kits when broken.
  • PDMS refresh method by HTL: using vacuum and pressure chambers. Seems like a lot of work & need some more tooling...
  • Use Solidator principle: blow air under FEP-foil. I've not seen/read about any robustness results yet...
  • Kudo3D uses a patent pending PSP (Passive Self-Peeling) technology, which: * Flexible resin container design; * Enhanced printing performance and quality; * Simplified printer structure. Well I'm looking forward to know what they are really using... Here a link to their $59 PSP resin container.

    Before changing the printer towards top-down, I still have some adhesive FEP foil laying around. So why not try this FEP first. See my 5 [euro] FEP flexvat results below.

  • I also build a passive tilting system, which could be easialy addapted towards my current vat carrier. It could also be locked, so there is no tilting or only active tilting.
    Like the active tilting, this one can also tilt about 2 [degrees]. So in total 4 [deg], should be sufficient...
    This was a very easy update. :)

    One of the most important factors, is a nice parallel build platform and having the right offset from the resin container. Based on an other design, I created a platform which could be angled in 2 directions and due to the play, it's also moving a little in vertical direction. The aligning plates are connected by bolts, so the system could easialy be aligned and fixed. This is a major improvement!

    Great, I've tested the vat again, which was still filled with some resin for the last 6+ weeks. After peeling of some solification and stiring the remaining liquid resin, the black color returns. And after finding an undamaged PDMS location, it's time for some printing again... Due to the lack of air, I expected a complete disaster, but ~20 consecutive (tiny) prints came out very nice... I also activate the passive tilt, but hearing no noises, I don't expect this was necessary during these prints. Maybe the printer isn't that bad after all!!

    While continueing some simple test, and refill the vat with FunToDo resin, 2 other prints came out very nice. The first is a quality test between FDM printing & DLP printing. The white object, is the Marvin key chain, which was printed on a 3D Hubs party. It's a very nice FDM print, which is 25 [mm] tall and a layer thickness of ~0.1 [mm]. The black version is my DLP print, which has a layer height of 0.05 [mm]. Like shown, the DLP print is just a little smoother. Now the printer starts listening to me, it's also time for printing a 60 [mm] Eiffel Tower. Yeah, this was worth all those hours: building, testing, adjusting & testing again... :-)

    Well, after a long period of no printing progress, time to make a new sylgard floor. While peeling off the old one, there was quite some thickness deviation, from 2.3 to 0.7 [mm]! This is a picture of the old ruined vat:

    I don't know how many [ml] sylgard I used last time. Today I'm using 400 [ml], with again a 1:10 ratio. Heating the entire vat in the oven at 50 [dC] for 2 hours, cooling it down for an other 2 hours. This is my fastest vat recovery ever. In the mean while, recalibrating the printer: xy-resolution: 94 [um/pixel]. Smaller resolution is currently not possible w/o moving the beamer/mirrors and chaning vat height. So time to shake the resin for a while and preparing a SVG-file for the next print.

    Great, after about 4 hours starting with a ruined vat, I'm printing again :) I disabled both passive & active tilting, printing with some longer exposure times 6 [sec], retracting 1 [mm] and using MakerJuice-Red resin again. Most builds are printed very well!

    While having this FEP foil already for half year in-house, it's time to test this! (After seeing this working somewhere else.) This foil has a thickness of 0.05 [mm].
    The printer is getting way more robust:
  • No fogging anymore (of the PDMS)! (So no more vat rebuilds after a wrong print.)
  • Flat builds (on the vat bottom) are very easy to remove (even with a knife).
  • Surface finish level is a little better.

    Somewhat disappointing:
  • Building speed is more or less the same.

    About costs, you need to buy quite a lot foil (in my case ~2.4 [m^2]), which cost about 60 [euro/m^2], excl. VAT & shipping. So for 1 single resin container you need about 2 [euro] foil. Then you also need a plastic container 1 [euro], a simple wooden frame will work and some bolts. The picture on the right is my 5 [euro] design.

    Some suppliers for FEP foil (and some adhesive foil suppliers):

    Overall: this is a must do!

  • After a long period believing in a compact 3D DLP printer, I now moved away from the two-mirror approach. Even the pillow-vat didn't solve all the issue's. Without the small mirror I was hoping this would give better precision of projected images and speeding-up the printing process.

    I did print some nice FunToDo black prints, but exposure times still remain the same.
    (I also doubt the second mirror a bit, since there are still reflections shown..)
    So this is still not optimal.

    Okay, back to square one... The issue with the 2 mirror approach is the necessary length of the light path. It's very difficult making this light path shorter then ~225 [mm].

    With the one-mirror approach, I was still printing with a distance of about ~225 [mm], that's why the exposure times didn't go down. Now I changed to direct light and I'm able to shorten the distance to about ~130[mm].

    (This took about 5 months of painful physical change in mind set & only 2 hours to rebuild.)

    Since the light intensity changes quadratic, new exposure times should be around: 6 [sec] * (130/225)^2 = ~2.0 [sec]. This change in length will also double the printed resolution to ~50[um/pixel].

    The down side is buying a longer HDMI cable, because the printer is moved away from the desk & pc. Also need a new shutter.

    After reading some new developments about Carbon 3D, I got a little enthousiastic again. That would be great, having a continous working printer!

    Beside that, I also have some new idea's which I might want to implement some day..
    So it was time to give the DLP printer another push. I did rebuild the system to a one mirror + FEP foil configuration. I did use my old FEP container and some Maker Juice resin which is about 20 months old now. And yes, it's still printing! Exposure time: 1.5-2.5 [sec] per 0.1 [mm] layer height, which is quite fast. Of course theire where still some failures, but overall I was quite happy with the results. (For the dragon, it is a different story, somehow Slic3r was not able to create the right SVG file.)