Category Archives: galvo / laser scanner

The Form 1 might need calibration after all…

July 12th edit : I have now a Form1 Calibration procedure.

These past few days some very nice Form 1 tests have been publish by TJ and Gregg. These tests have been concentrating on the shape and small features. I’ve not yet seen a test on accuracy / linearity.

The Form1 is supposed to have a 300 microns (0.3mm) diameter laser spot which limits the size of individual features but the galvanometers (galvos) can be oriented very precisely. I think I recall reading that someone in Formlabs was talking about a few micron of positioning accuracy (position of the center of the spot on the bottom of the vat). The galvos are a dynamic system using PID controllers and tuning them to get a perfect positioning takes time (see my post on the ILD test cases).

Recently I had to print a mechanical assembly for someone and even with the 300 microns tolerance, it was difficult to slide the cylinder into the tube. So I decided to investigate a bit more: I was also wondering if the peeling was not introducing some deformation in the piece.

Simple Linearity Test

The test I designed is simple: It’s a series of 20mm cylinders that are horizontal/vertical and with a 45 degrees angle. The piece is placed perpendicular to the platform to measure independently the X and Y galvo. As any mechanical system, the mirrors are not jumping from one location to the next instantly. So even if the calibration is perfect in static condition (after some resting time), the dynamic properties (damping and oscillations) might be off. These configurations are also axis dependent as the mirrors might have a different shape/mass and each axis has his own amplifier. In the ILDA test, this dynamic behavior is checked with the circle inside the square.

And the results are not as expected… As you can see the cylinders are not really round! So either the preform sampling space is too large (not enough points on the path / movement too fast) or my ‘peel’ axis amplifier board needs some adjustment.


My caliper measurements are:

Horizontal cylinder:
Peel axis = 19.52 mm
Orthogonal axis = 19.99 mm

Vertical cylinder:
Peel axis = 19.5 mm
Orthogonal axis = 19.87 mm
Vertical axis = 19.96 and 19.92 mm

45 degrees cylinder:
Peel axis = 19.51 and 19.71 mm
Orthogonal axis = 19.91 and 19.75 mm

So conclusion while the Z (thickness) and Y (orthogonal to peel) axis seems to be close, my printer seems to have an issue on the third dimension. I hope Formlabs will have a calibration procedure to correct this issue.

Location Influence on the Print Quality

The other main issue I’ve encountered while printing technical piece was reliability of the print quality. In some occasions the peel process is making loud “clacks” noise when the surface to remove is large. As the tilt is starting from one side, the strength created on the prints is different depending where the geometry is placed  on the base.

The picture under is showing two pieces that I had to reprint twice to get an acceptable result. The peel strength issue triggers supports break and non printed/delaninated walls.


The only difference between the two prints is the location on the platform. I didn’t had to regenerate the supports nor changed the material setting (grey resin 50 microns). On my first print (left side), only the C part came out well. So for the second try I removed the C part and moved back A and B as far away from the peel side as possible. Note that I had to print the pieces horizontal as it’s not possible to generate internal supports yet and any other orientation would have resulted in non supported features…


I’m not sure what to think about this issue, maybe reducing the peel speed when there is a large area to remove could help? If this issue is proven, that will mean the silicon layer will get damaged faster on one side triggering a replacement more often due to fogging…

Anyway I’ll keep on exploring the Form1, if you have any question please ask I’ll make more tests. Cheers!

[<<Prev. – Preforn 0.8.1 Evaluation]    [3D Printer articles]   [Extract STL data – Next>>]

Differential Amplifier for the galvos

I’ve made some research on how to convert a single ended analog signal to a differential output to drive the galvos for the scanner. The requirements are:

  • Galvos input voltage range is +/- 15V (and there is a +-15V power supply connector available on the driver board to pick)
  • Signal bandwidth is limited to audio range, so no need to use very high speed products
  • DIP package would be great for breadboard prototyping
  • The sound card level has probably a limited voltage output so some amplification would be good to get a nice mirrors angle deviation
  • Cheap and in stock in local store

I’ve found quite a few full differential amplifiers but the best match so far is the DRV124 from TI. Not only it seems simple to use and compatible with my available power source, but the DIP package is convenient. It’s not available locally, but you can request free sample on TI website, so that’s perfect to try 🙂

Companies like TI are publishing very nice white papers on the theory of fully differential amplifiers (Here and there). I’ve added a few more amplifiers in the sampling cart so I might be able to use some of this information.

It’s alive! And first blood…

A few days ago I received the galvo kit and tonight the laser arrived with a USB sound card and my new soldering iron. So I’ve decided to give a try and check if I could make the thing move.

With a signal generator I tried to draw lines as I could only drive one channel at a time. The lasers worked between 3 to 5V as advertised and the luminosity is somehow decreasing until 2.5V. It will probably be relatively easy to do a blanking mechanism, but controlling the power might be tricky. Also the first lesson was theses beasts are very sensitive, as I fried one without any real obvious mistakes… First conclusion: I will order some cheap heads to tune everything before switching to the small spot laser.

Here are some boring single axis tests, changing the frequency makes the spot appears as a continuous line or a moving dot.Drive_frequency_tests

Also I’ve tried to see how fine the beam could be focused at a 50cm distance. I’m quite satisfied to see that if everything goes right, the line could be around 1/2 mm wide. This picture was taken with a flash, so most of the speckle is gone. The apparent width of the beam with naked eye is much larger. That probably mean I will have to find a filter to put in from of the webcam.

beam_width Anyway I think the next step for this weekend is to build a Sound-card to galvo driver adapter to be able to draw some figures!

[<<Prev. – First steps]    [3D Scanner articles]   [TBD – Next>>]

First steps of the scanner building

After looking at what it would take to build a 3D scanner,  the most complex HW element is probably the galvanometer scanner. Nicely there are kits sold on Ebay that includes power supply, galvo mount, 2 * (PID driver, galvo) and cables for less than $120. It seems a safe bet to have a working system faster.


The kit is a based on a close loop PID controllers/galvo that apparently allow a 20k points performances at an opening of 20degrees. I’m not sure about the real perfomances of these cheap parts, but as I won’t be trying to get a very fast and complex animation they should do the job.

The manual is not very detailed on the tuning of the system, but once again with some search, the online community is very helpful. There are multiple tutorials (A or B) on the principles and what all each element of the ILDA test vector is testing.

For the laser, I have no experience on what would work better so, I found that Quarton offers relatively cheap modules with a specified divergence (Most of the no-name have no datasheet available). I’ve selected 2 modules to start:

  • A small dot module (VLM-650-11 LPA) with a 2.5mm dot at 5m and a 0.25mRad of divergence which should give me a ~1mm dot at 50cm
  • A adjustable focus module (VLM-650-02 LPA) to see if I can get a better dot size for the laser

The module here is very convenient to compute the diameter size.

In a future post I will explore the driving signal generation for the galvos and the laser command.

[<<Prev. – ILD file format]    [3D Scanner articles]   [TBD – Next>>]