Evolution of a Blog

This blog has evolved as I have as a maker. It starts at the beginning of my journey where I began to re-tread my tires in the useful lore of micro electronics and the open-source software that can drive them. While building solutions around micro-electronics are still an occasional topic my more recent focus has been on the 3D Printing side of making.

Wednesday, November 22, 2017

What $1000 SLA/DUP/DLP Printer Would I Recommend?

This was the year that you could start to buy (as opposed to build) a 3D Printer based on curing liquid resin (rather than melting plastic) for $500.  Pretty amazing when you consider where the costs of printers in this technology sector have been priced.  Of course at that price point you are going to have to make some sacrifices but at that price it is worth it!

The printers we are talking about come in three flavours.

The first, and the one that has been around the longest, uses a laser to cure the resin.  They are commonly called SLA printers which stands for (S)tereo(l)ithography (A)pparatus.  In reality, however, all of the 3D Printers in this category fit this title given its definition includes the following: optical fabrication, photo-solidification, or resin printing!  We will, however, just call the branch of the family that uses lasers to be SLA printers.  Think Formlabs Form 1 and Form 2.  The x/y resolution on a laser based printer will be 100um ish to 200um ish.

The second flavour is called Direct Light Processing (DLP) and uses a projector.  Think Moonray or B9Creator.  Some of these types of printers are capable of x/y resolutions of 30um - though with a smallish build size.

The third is called Direct UV Printing (DUP) and it uses UV light passing through an LCD display.  This is what the Wanhao D7 uses.  These types of printers are typically getting resolution of 50um on the x/y axis.

Generally these printers project onto the bottom of a vat of resin with a build plate that is dipping onto and off the build surface.  The z-axis will be capable of resolutions from 10um to 100um.  The whole workflow process for resin based printing is very different that for FDM and is described here.

At this moment there seem to be four major choices for a cheap printer in the resin printing space:
  1. You can build one from a kit or even from scratch as the parts are pretty common and there are both kits and good DIY instructions available.
  2. You can get a Wanhao D7...or any one of the numerous clones that look just like it.  I am not sure who was actually first here.  Wanhao is a cloner but are they also a clonee?  Here is an earlier article about the D7 ... note that a lot has improved since then.
  3. You could buy into one of the already released, or very soon to be released, crowd funded printers.  Two top this list, the Moai SLA 3D Printer ($1250) and the Phrozen Make DUDP 3D Printer ($980).
  4. You could wait for one of the many other crowd funded projects to come to fruition.  There are at least a dozen on Kickstarter with many of them having characteristics shared by the Wanhao D7 and the Phrozen Make.
Sooooo...what would I recommend?  I honestly do not know!  The market will mature a lot in the next 12 months so waiting could be your best option,  If you absolutely can not wait, and must be under $1000, then I would get a Wanhao D7.  Quality has been improving, there is a great support community, and they are ahead of the rest of the pack in terms of release date and number of printers in the system.

If you can go a little above $1000 then the Moai at $1250 is probably worth considering.  I don't have any hands on experience but it has a very enthusiastic following.  One slight catch...it is a kit!

A printer to watch in the short term is the Phrozen Make.  It enhances the basic D7 design with what looks like a better z-axis, and what will certainly be a better UV illumination for more even curing of prints.

Sunday, November 12, 2017

Methods for Creating a Mask for a DUP/DLP 3D Printer (running NanoDLP)

As evidenced by recent posts on this blog I have been busy creating masks for my Wanhao D7 printers.  I actually have masks that work but what I don't have is an easy process that can be done by anyone without a lot of extra hardware or specific knowledge.

Some of the techniques that can be used to create a mask are as follows:


Mask Creation Wizard of NanoDLP
Tools needed:  Light meter
Process: Project a grid of cells for measurement and adjustment.  Find the lowest light intensity cell using the light meter.  It will be one of the corners.  Note the light meter reading.  Adjust the grey value in all the other cells to match that of the lowest cell just noted.  Press the button to generate a new mask image.
Advantages:  Minimal investment in tools and/or technology (can even use a multimeter connected to a battery and voltage divider photo resistor as discussed here).
Disadvantage: Cumbersome and extremely tedious process.
Comments: Remember that the default screen orientation in NanoDLP is not the orientation of the Wanhao D7!


Measure, Calculate, Generate Mask
Tools needed:  Light meter and software to generate a mask. Note that I have developed two light meters that I need to release to the public domain. Both based on Arduino Nano's.
Process: Measure the light intensity using either a physical grid or the grid of cells projected by NanoDLP.  Use that set of measurements to model the mask with output being either an actual image file or the inputs needed by the NanoDLP Mask Generation Wizard.  
Advantages:     Moderate need for additional tools and/or technology.  Relatively easy process.  Flexibility to use the data to generate masks for different uses of the build plate.
Disadvantage: Thus far there has been limited success in creating a really good mask using this technique.
Comments: Garage Science has a piece of software that does build a mask but it does not seem to work for the D7 resolution.  When I fed it data from a D7, but using a lower resolution in the same aspect ratio, the mask was no more effective than the Excel model that I have developed.  A number of people on the Wanhao D7 FB Group has said that a model will not work but I do not understand why.  I am assuming it is just a matter of my not having the right maths skills!


Measure, Automatically Adjust, Generate Mask
Tools needed:  Light meter integrated with  software running on the printer attached Raspberry Pi..
Process: Measure the light intensity using either a physical grid or the grid of cells projected by NanoDLP.  First find the dimmest corner.  Then project a grid of cells, one at a time, so the meter can be placed on each cell.  With the meter measuring the cell adjust its intensity using a mask value until it is equal to that of the lowest cell.  Output the matrix of mask values for input to NanoDLP (or generate a mask).
Advantages:  Should generate an excellent mask (though I have not had time to do so yet).
Easy to run once set up.
Disadvantage: Fairly complex requirement for integrating a meter and software solution.  


Photo Interpretation
Tools needed:  Camera (e.g Smartphone) and Image Processing Software (e.g. Gimp, Photoshop, etc)
Process: Take a photo of the light pattern projected by the UV LEDs.  Manipulate it into a mask using something like Gimp or Photoshop.
Advantages:  Can be done without any addition of hardware or software on the printer
Disadvantage: Requires a very fiddly setup for the camera to be positioned above the build plate precisely.  Fairly complex process of translating the image to a mask.
Comments: I think this approach is the most promising to meet my requirement of something that most people could do.

Saturday, November 11, 2017

What Entry Level FDM Printer Would I Recommend?

I was recently asked what entry level FDM printer would I recommend in the price point of around 300 GBP.  The printer would be an XMAS present for a young lad but I think Dad might be interested in some tinkering as well.

The more I looked at this the more I kept coming back to the same printer.  Obviously cost was the first filter but to that I added the following requirements:

  • Active user community for assistance
  • Open design so you it can be modified/enhanced in the future
  • Not tied to a single source for filament
  • Reasonably mature product (e.g. been in the market long enough to iron out the kinks)
  • Sturdy construction - steel frame - for accuracy and durability

When I toss all this together the printer that I come up with is the Wanhao I3 Duplicator.  It comes in two versions with the Plus being 340ish and the regular version 300ish.   The extra cost for the plus gives you smaller printer as they integrated the two parts of the original printer (power supply and controls were in their own enclosure) into a single part.  It also gives you a larger touch screen and moves from a tiny micro SD card back to the more easily handled larger format.  I think it would be a 40 quid well spent for the upgrade.

The printer can be purchased on Amazon where it gets very good reviews.  The Plus is a fairly recent offering but the original version has been around long enough to work out initial kinks (of which there were numerous).  

The printer is based on the popular Prusa I3 design which is probably the most common style of printer in the market.  It was the design of the first printer that I owned, which was a kit build, and which is covered in depth earlier in this blog.

One of my requirements for a printer is that it be open to customization.  While even a closed design can be hacked going into the equation with the printer being open makes it a lot easier.  One of the cool things about having a 3D Printer is being able to print your own enhancements!  Searching Thingiverse for Wanhao I3 Mods makes it clear that there is a lot of opportunity for this given the number of designs already out there.

There are a lot of Wanhao I3s out there in the ecosystem.  In the 3D Printers group on Facebook it was by far the most recommended printer when someone asked the same question that spawned this article.  There is also a group on Facebook for people interested in this printer with 14k members (and one for the Plus with 3k members).  There is also a forum sponsored by Wanhao on Google Groups for their I3 Duplicator (and other printers).  You will not lack for community support if you own one of these printers!  In fact, due to the nature of Wanhao as a low cost manufacturer, most of the support that one should expect will likely come from said community.

Finally, a note on Wanhao.  IMHO, if you look up "Low Cost China Clone Manufacturing" in the dictionary the picture there would be of the Wanhao logo.  I have owned three of their products, a stable FDM printer, the Duplicator 4s, and now I have two Duplicator 7s, a brand new entry of a resin based printer into the low cost market.  Wanhao takes a proven design that is out in the market at a higher price point and clones it for low cost production and they do a very good job of it...in the end!  In the beginning, however, their process seems to be a little rough as they release products into the wild that are, for all practical purposes, beta products.  The user community then helps them debug those products.  They did this with the I3 and some of the early experiences were pretty bad.  They have done this with the D7, and again, some of the early experiences have been definite learnings for them.  They do react with continuous improvements though.  I would caution someone against buying into any new Wanhao product until at least six to nine months have gone by unless they know what they are doing!  In the case of the I3, however, they are well past the intro pain!

Finally, this morning when I got up I was going to post a question to the members of the 3D Printers group on Facebook asking for opinions on the Wanhao I3 printers.  Ironically, someone beat me to it with this post (assuming that you are also a member of the group).  The feedback seems to be coming in as largely positive.

Feedback from the 3D Printing Group on Facebook




Sunday, November 5, 2017

NanoDlp and the topic of Masks - Part 6 - The End of the Meter

The meter, at least as I envisioned it, is dead.  Like the dinosaurs and the dodo bird, the meter just has no future given a better way of doing a mask.  That is via real time interactive measurement.

This is how the NanoDlp Mask Generation Wizard is intended to work, and while it does work, it is painful and tedious.  NanoDlp displays an image of squares.  You measure the light from those squares to find the one that is least bright.  You then adjust all the other squares to be the same light level.  The mask level for the least bright cell will be unadjusted (255).  The rest will be lower values as the lower the value the darker the grey and the less light is passed through.

So enter a little bit of software that was what I should have been working on since I started this series of articles.  Display a square at each corner of the print area and have the user move a light meter probe to each square.  Remember which one is the dimmest.  Then display squares across the screen asking the user to put the probe into each square as it is displayed.  Automatically (that being the key!) lower the brightness of that square until it is the same as the lowest.  Record the results as values for a mask (or generate the mask there and then).

There are a couple of people in the Wanhao D7 group on Facebook that are already working on this and making good progress.  I have been kindly given the code for one of them which is what has convinced me that my original meter concept is unworkable.  I will probably do my own version now that I have come to that conclusion as it will be fun.   Which is why I do any of this stuff!

I can salvage the last meter that I built to be used as the probe for this solution but the more sophisticate meter is, in effect, a dodo bird.

Saturday, October 14, 2017

NanoDlp and the topic of Masks - Part 5 - Another Meter

One last meter!  This is probably the one that I should have done in the first place but it only took today to do it while I am still perfecting the bigger one!  Lot more fun that one but this one is probably a lot more practical.

It consists of a 3D Printed case, an Arduino Nano, a Photoresistor, a 10K resistor, and a couple of wires.  Uses a mini-USB cable for communication back to either a terminal program or the Arduino IDE running on a PC or laptop.  Power is provided by the USB cable.

Its output is a continuous stream of readings that represent an average light level across the past second.  Each reading includes a quality (based on stability of the reading) metric where 0-1.5 is good, 1.5-3.0 is less good, 3.0 to 6.0 is bad, 6.0 to 10.0 is real bad, and over 10.0 is just plain crap.

Meter is designed to be used with a printed grid which ensures good positioning.

Positioning is very important and sensor needs to be flush to the screen.

Sample output shows the readings with their quality.
Here is the code for the Arduino
Here are the files for the Case

Note that there are two versions of the case, the one shown above, and the one shown below.  The one above uses a 3D printed grid for alignment and the one below is designed to be positioned on the screen directly aiming for the calibration squares displayed by NanoDlp.

Assembly Instructions


Parts Needed: 3D printed case with rest button, some shrink wrap tubing, photoresistor (GL5528) and normal 10k resistor, three female patch cables, and an Arduino Nano. 
This is how they need to be connected.  Black will plug into the ground pin, Orange to 5v, and Yellow to analog pin 5. 



Finished and connected to the Arduino Nano. 

Bottom view with everything  in the case.

Top view.  The button allows you to reset the Nano.  This can serve as a marker if you are using the meter to measure a matrix of cells. The USB connector is not shown but is on the left end of the case.  The pins shown are for ICSP programming of the Nano (so you probably don't need to care)!
Left end of the case showing access to the USB connector.

NanoDlp and the topic of Masks - Part 4 - More Stuff

I have a couple copies of my meters out for some testing so thought that I would do an update in regards to my own progress now that I am testing in more earnest.

Summing it all up:  I am a little frustrated!  The meter works fine using it in the manner that NanoDlp expects...namely measuring light intensity within cells as you adjust that cell on NanoDlp.  What is not working is when I take 50 readings (which I can do in minutes) and feed them to my spreadsheet to have the input prepared for NanoDlp.  I was hoping to get to a 1 or 2% deviation on a verification measurement of the brightness once my mask is applied but I don't.

First a brief overview of operation of the meter.

  1. Connect it to power using a mini USB cable attached to either a power supply or a PC.
  2. If you are using a PC, and the Arduino IDE or a terminal program, to read from the meter then skip the next step.
  3. Connect a terminal to the meter using bluetooth.  It should advertise itself as an HC-06 and the password will be "1234".   Start a capture (depending on what you are using).
  4. To put the meter in a mode where it just measures continuously you need to reset it using a paperclip through the hole on the top of the case.   When the meter resets you will have an option to select its mode of running and what sensor it will use.
  5. Assuming we are going to measure, place the probe with the appropriate sensor on the first cell of the display (bottom right) and press the button.  It is very important that the photoresistor be flush with the build surface!
  6. The meter will wait for a stable reading before sending it across bluetooth/usb and putting it on the screen.
  7. When the meter has confirmed the reading move it to the next cell.
  8. When you have moved to the next column press the button longer, for over a second, and a new line will be sent instead of a comma.
  9. Finish measuring all the cells.
  10. Back on your host you should see 10 rows of readings!
When I plug these into my spreadsheet it all seems like it is going to work.  I copy the data for the suggested mask and paste it into NanoDlp in hopes that I will find my readings across the mask to be flat...and they are not!

Spreadsheet is Here

There seems to be a lot of variation between reads of the light levels.  I am not sure if this is a factor of my printers or the photoresistor that I am using.  I have been focused on the older of my two printers but now I am going to spend some time with the newer.

Sunday, October 8, 2017

NanoDlp and the topic of Masks - Part 3 - Assembly and Operation

Click for Article
The voltage divider circuit this project uses is shown here.  R1 is the photoresistor.  R2 is the 10k resistor.  Vin is the battery which in my case is a 1.5v AA battery.  Vout is the volt ohm meter.  In the next picture you can see the assembled circuit.

The next picture shows the completed circuit based on an Arduino Uno.  The 10k resistor bridges Ground and Analog Pin 3.  One end of the photoresistor goes to the 5v power pin.  The other end goes into Analog Pin 3 with the 10k resistor.

The sketch for the Arduino Uno is here.  It will output (to the serial pins) an analog voltage reading every second that is an average of twenty readings for that second.  A quality metric will also be output where you would like to see a reading of 1.5 or less indicating that the input was stable.

Finally, a first attempt to use the "hopefully good enough" meter!  I have gone into the NanoDlp Mask Generation Wizard and changed the build area dimensions to 10 and 5 and the measurement point dimensions to 200.  From here it is up to you as I am still working on my spreadsheet that I hope will simplify a slightly painful process from this point.

You need to measure the output of the cells displayed on the print surface while adjusting the mask values shown by the wizard.  I would recommend that you start by ignoring the outer two rows and columns as that will shorten your task AND also shorten the additional exposure time that would be needed if you included them.

Your mission is to adjust the cells such that they all project the same amount of light with the ones on the outside starting at 255 and going down with the ones in the center being somewhat lower than that and going up as you move out from the center.

This is a painful process!  This is why I am working on a spreadsheet to help take some of the pain away.  Unfortunately it is frustrating me at the moment as the results of the mask, when I measure light output, is not as I expect it to be!