Adjusting the galvos for better accuracy; success!

<update 18th Feb - Shane Mans suggestion of using photopaper works very well, my y-axis galvo (x-axis still ok-ish) has become very unstable, and I was able to tune it in under 1/2 hour, instead of 4 days! although of course the first time documented underneath involved a lot of learning. See my 18th Feb update below for details on a much faster way>

Hi All,

You may have seen my other posts complaining about the Form1 dimensional error. My first printer was out in the X-axis by over 3% compression, and its replacement (promptly and professionally handled by Formlabs support - thankyou) - was also inaccurate, by about 1.5%, again in the X-axis but expansion this time. See the first picture below of a simple 80mm “slice” test part, aligned exactly with the X-axis (the peel direction). Out of the box, ObtainableLamb printed my 80mm test part at 81.16mm when aligned with the X-axis.

Formlabs initial response to this (a different 30mm test part out by similar percentage) was; “the measurements you’ve provided are within our expected range for the Form 1’s accuracy (we’re working on improving this and testing to determine official tolerances)”.

This is simply not good enough in my view - especially when the machine was so heavily promoted for engineering and prototyping, with showcase prints of functional nuts and bolts, planetary gearboxes, and the gyrocube being proudly publicised.

Given that it seemed Formlabs would not fix my inaccurate machine - I wondered if I could tune the galvanometers myself. Having disassembled my first Form1 several times in trying to track down other issues, I had noticed a “trimpot” (finely adjustable potentiometer, a variable resistor driven by a worm gear) on each of the Galvo break-out PCBs. It seemed to me that this could only be for adjusting the deflection of the galvos.

I asked Formlabs for confirmation that the trimpots were used to tune the galvos - and they said they could not confirm this, and that I would void my warranty if I tried adjusting them. Well the warranty’s not worth much anyway since it’s so short, mine may have already run out, and the machines utility is considerably lessened to me when it’s out by 1.5% - so I went ahead and started adjusting the X-galvo trimpot, printing my 80mm test part in between each adjustment.

It’s taken about 4 days continuous printing - partly because it turns out ObtainableLamb had another issue out of the box; the build platform clamp was loose - making it wobbly when locked on and I didn’t notice this until yesterday. More on that in another post - anyway - it worked. My test prints are now consistently accurate to a degree that’s useful for my purposes. See second picture of 80mm test part.

The main reason it took so many test prints (several dozen) though, is that the trimpot behaviour is not consistent or linear over it’s range. You turn it clockwise to increase the galvo deflection globally, that is - parts will be printed larger - and anti-clockwise for the reverse. Or; “righty mighty, lefty lessy”. However trimpot sensitivity is not linear, and the inflection point (where parts go from being larger than spec, to smaller than spec and visa-versa) is variable.

During adjustment, up until you reach the inflection point - the trimpot sensitivity is low, a full half turn will not yield much change in deflection/dimensionality. Once you get near and hit the inflection point though, it becomes ultra-sensitive, even a 20 or perhaps 30 degrees adjustment can change the deflection/dimensionality from being +1.5% to being -1.5%.

Moreover, the inflection point is not fixed, that is - it’s not always in the same “dial” position on the trimpot. It seems to shift in the reverse direction about 1/2 turn each time you hit it. Let’s say you hit the inflection point, but overshoot, e.g. a 30 deg counter-clockwise adjustment when you needed 15 degrees. Your part was printing at 101.5% in size, and now it’s printing at 98.5% in size - so you turn the trimpot clockwise to increase galvo deflection, but now the inflection point has shifted, so you have to go back about a full half turn or 180 degrees clockwise.

It was very confusing, and I’m sure I’ve made it more so in trying to explain it. Suffice to say, if you want (or need) to adjust the accuracy of your Form1, you can - but you will void your warranty, and it may take you a lot of test print + adjustment cycles to get it right.

Of course, the behaviour I’ve described is purely from empirical observation - not from any understanding of electronics. That’s empirical observation of a sample with a size of one, so your trimpots may behave differently. I think it’s safe to say though, that they are all “righty mighty, lefty lessy”.

Good luck if you try this!



Wow Kevin! That’s great work. Did you try printing a part on different parts of the build platform and then measuring them? The reason I ask is, because if I print something in the center, I get a perfectly sized part, but if I print it towards the edges I get a slight variation. I’m hoping that Form Labs will release some kinda of software/firmware combo calibration utility, so that we don’t have open up the printer like this.

Thanks MD - I’ll be putting a summary up on the wiki at some point.

Yes I see greater variation at the edges too - galvo deflection is stretched slightly towards the edges, almost as if the formula driving the galvos doesn’t account for the increase in laser spot travel on the build surface for the same galvo angular deflection. So my 120mm test part (looks very similar to my 80mm part) prints at 120.27mm, but this is still a huge improvement on the 122+mm it was previously.

Great work Kevin. Thanks for that.

It seems that we have the same problems.

As a Dental Technican my priorities are on the precision of the things i build, but all of the parts have been printed a bit too big.

We have gone the way of scaling all the .stl files for round about 0,98 (± 0,05) and it seems to fit better.

That is pretty much the same as you found out (~ 1,5%)

The idea of a calibration piece is excelent.

Keep us up to date.

Cheers Dutsin

I would think it would possible to snoop the USB commands that are being sent from  the PreForm software to the printer. Actually, I’m planning to do that when I get some time. Starting point would be to see what happens during the ‘laser spot test’. Other options would be to make some simple, well-defined shaped and send them to the printer and see what the result would be.

Considering the fact that the software sends each individual layer to the printer, I would expect to be able to find some variables to play with. The next challenge would then be to create new data and get the printer to accept it, so we could make the laser create a predefined pattern to calibrate.

Plenty of experiments to be performed… but first I’d like to make some more succesful prints :slight_smile:

Thanks for doing all the leg work for us Kevin!  It’s really cool to see the insides of the machine and get a rundown of what they control/do.

I wonder if it would be difficult to simply send a known dimensional test pattern that was a very thin model (only a few layers at most) to the printer with no resin in the tank (or perhaps even no tank), just the build platform. Attach a photo-reactive paper to the build platform and let the laser draw the pattern on your calibration sheet. Then adjust the galvos accordingly. No resin waste that way and super quick in comparison (also less mess).

Just a thought,


I wondered that exact same thing Shane:) I even ordered some photopaper from Amazon, but then couldn’t wait and just got stuck in. I did worry a little about measuring the results though - since gripping a solid piece with the verniers is easier to measure than lines on paper.

I also wondered about getting a laser cut mask with 0.2mm lines 120mm apart and using modified laser_spot_test.form files in conjunction with photodiodes hooked up to a voltmeter to measure when the laser spot was brightest through the mask.

But the laser spot test file seems to slow the galvos down universally - both when the laser is on and when it’s off - so it takes 18 minutes plus for the laser spot to appear at the side of the build platform as the galvo slowly tracks across from the middle. Which was only a little faster than printing the calibration pieces, plus the effort of getting the mask cut and wiring the diodes. I did buy the photodiodes though - oh well, they’re on the shelf with the photo-paper :slight_smile:

That sounds like an ambitious but great idea with the photodiodes!  I was thinking a bit more on the simple side with the photo-paper. I agree that it might be harder to measure the results as accurately with as much ease as just printing out a part. Perhaps doing all the rough work with the paper and then printing a test piece once you have it too close to call would be the most efficient?

Yes that sounds sensible - I just looked for the paper so I could do a test “print” of a 120mm square - but it seems it never arrived (been ordering a lot of stuff recently - guess I lost track). I ordered it on the 15th so it must have got lost - will chase up supplier and post result once replacement arrives.

@Kevin Holmes - Thanks for putting together the “Unofficial” wiki and dissecting your printer!  I’ve added info to the wiki regarding who manufactures the galvanometers, setup manual, etc.

I, too, have reduced/expanded XY dimensions on my printer so I’m setting up some test objects to print and measure.  I hope to adjust the galvanometers into spec shortly thereafter.  I’ll post my test file to the wiki if anyone is interested.

@Shane - so it’s overdue, but I can report back now on the photopaper tuning method - in short, it’s great! less than 1/2 hour to tune a galvo.

At the weekend, my y-axis galvo went haywire - and started gaining about 1.5/2mm per print on 90 mm parts, so that suddenly I was confronted with a 90mm part being printed at 100mm. So I dug out the photopaper and made a test pattern - it works great, only took me about 20 mins to complete tuning, and because the test pattern is 120mm across - measuring the patterns on the photopaper is good enough to tune the diode to 1/2mm over 120mm - which is about as good as I got previously when tuning the x-axis the hard way.

  1. remove build platform and put empty resin tray in

  2. in preform load and orient test pattern (attached) to the axis you’re tuning

  3. put strip of photo paper aligned with test pattern part in resin tank - cover with clear perspex to hold it flat

  4. start print - wait for about 10 layers - then interrupt print by lifting cover - and measure pattern on photopaper

  5. If pattern measures 120mm  plus or minus 1mm - you’re done - otherwise,

if pattern is too large - adjust trimpot anti-clockwise, too small, adjust trimpot clockwise

adjustments should never be more than a full 360, and when you’re within 2 or 3mm - you should be making 1/4, 1/8 turn, and even finer adjustments.

  1. replace paper and perspex cover, lower cover to restart print - goto step 4)

See attached pictures showing four iterations of the above instruction sequence. The first picture shows a measurement of the test pattern from the first iteration, and the second measures the 4th and final iteration.

Unfortunately - unlike my X-axis galvo, there now seems to be something very, very wrong my Y-axis galvo. It doesn’t seem to be stable - after tuning it’s about right for maybe 3 prints and then it starts gaining 2 or 3 percent expansion every print thereafter. So this was the second time I tuned with this method, hence why I only needed 4 iterations. I’ve ordered a galvo set from supplier listed on the wiki link above - at this rate it looks like I may have to try replacing the y-axis galvo.



Excellent info! Sorry to hear about your galvo degrading. It would be very interesting to know why the trim pots are so imprecise. I wonder if there is a software method of “trimming the pots”. I am no electrical engineer, but I do have a couple friends I could ask.

Thanks everyone, but a quick question: what do you mean exactly by “photo paper”?  Can you provide a link to some?  Thanks

paper like the blue strips pictured above - it changes colour to off-whitish when exposed to UV light (or sunlight) it’s often called Sunpaper too.

You want fine grained paper like the stuff pictured - I did buy some stuff which turned out to be like parchment, and that was no good for taking measurements.

I’m in the UK so my links are from UK amazon …  this is the stuff in the pics above :

This stuff was parchmenty and no good :

I don’t have a Form 1 but I am working with a group of people on an open source SLA machine that uses galvanometers. I believe we are using the same galvos. Here is the documentation for them:

They explain what each of the trim pots do in there. I haven’t read it recently but I remember thinking ok don’t touch those four- the ones that were glued.

I bought a form 1+ a couple of weeks ago and started printing. it was giving a very annoying voice while printing. on the advice of formlabs technical staff I fixed that voice. but after the fixation it started destroying the prints. original stl file is attached.
and the result is also shown in pictures. My guess is that either X or Y axis isnt working on the galvo.

12.form (18.0 KB)

Can you elaborate on the annoying voice and what tech support said to do to fix it.

Also, have you updated the support ticket with the print pictures? What did they suggest?


Hi Kevin - I own a form 1+ for a little over a year now, and yesterday preform suggested to me that I update my firmware for my machine (bad mistake) after I did this my prints seem stretched I believe in the X Direction. I tried contacting support and over email I felt as though they were hesitant to address the issue around it telling me to clean the mirrors etc, which I already knew how to do and did not really address the issue of the stretching. Although they were very nice and cordial, finally, I called into the pro support which I bought and it turns out that it’s a yearly support service which mine expired a few weeks ago (I was not told this as well when I paid the 500$ that it was a yearly thing). So they told me they will send me an older version of my firmware today (which they have not yet) and they said that my other options include sending it in for repair for a whopping 800$!!! so I was wondering I know you mentioned fine tuning the Galvo’s on a Form 1 but do you know if there is anyway to resolve this issue regarding a Form 1+?

Thank you so much!

@Amir_Karimpour sorry Amir, the form1+ galvos are tuned programmatically from the custom FL galvo breakout board, unlike the original F1 which used off the shelf laser light show galvo control boards with galvo tuning trim pots.

So until someone reverse engineers the on-board programming for the F1+ and publishes, i think your only recourse is Formlabs.

EDIT - it might be possible to do something with the OpenFL API for the FI anbd F1+ :… I haven’t looked at it, so I don’t know what can and cant be done.