Sunday, February 15, 2026

FB-10000-4 - Calibration Package v4

3D Printing + Frankenblocks

These objects can help you calibrate your printer. This should make it easier to print Lego compatible blocks, such as the Frankenblocks.

You can find the files on Makerworld.

A catalogue of all (?) my Frankenblocks can be found here.

This is a long post, but for most people it will be enough to print plate 1, play a little with X- and Y-compensation for 'snappiness', and be done with it.


Update

I'm updating this package as I go, so you may run into slightly different numbered parts (like 10017-2 instead of 10017-3 etcetera), the images below may differ a little from the real thing, but this guide still works and the pieces still function in the same way.

The number of plates has increased over time, but you don't need to print them all. For most people printing one of the first five plates will do the job.



(Click any image to enlarge)


Note!

Please read the rest of these instructions, and then select the plates and parts you need to print!


Overview

Plate 1 - FB-10017-x - basic calibration piece for X/Y shrinkage calibration

Plate 2 - FB-10050-x - larger variant for more accuracy

Plate 3 - FB-10051-x - larger variant, diagonal so combines X- and Y - helps avoiding oversizing 

Plate 4 - FB-10040-x and FB-10041-x - for Lego Technic compatibility

Plate 5 - X/Y/Z piezes - older tests but they allow checking for Z-shrinkage / scaling

Plate 6 - old test piece, probably best to skip

Plate 7 - Several test objects to check for compatibility with real pieces


Note!

You shouldn't print all plates at once! Only print the objects you need and always check the scale of each object before printing!


Plate 1

This is my default test object, 10017-x. You need to use this in combination with some regular Lego bricks.

This test was good enough to get me 99.99% compatible Lego bricks.

(Click any image to enlarge)


1. Set scale to 100.0% (select an object, then press [S])

2. Set X-Y Contour Compensation to 0%

3. Heat-soak your printer - set the bed temperature according to your filament, and wait for 10 to 15 minutes before starting your print

Your printer is a mechanical device, and tolerances will be affected by the expansion of all mechanical bits and pieces of your printer itself... metal expands when it gets warmer.

 

4. Print

5. Let the object fully cool down

6. Use some ORIGINAL Lego bricks and check their length. They should be 31.8 mm long.

7. If you place these two pieces on a 16 stud long plate or brick, you should measure 64.2 mm between the two pieces, and 127.8 mm from outside to outside

If you don't have suitably bricks or plates available, then use 64.2 and 127.8 mm.


(Click any image to enlarge)

Note on sizing

Each lego 'stud' itself is around 5 mm, and occupies a square of 8.0 x 8.0 mm, so a 2 by 4 will be 16.0 x 32.0 mm. However, the actual brick will be 0.1 mm smaller on all sides, to help you place and remove blocks. You would expect a 2x4 brick to be 16.0 by 32.0, but it actually is 15.8 by 31.8. 

Note on measuring

Lego's tolerances are incredible, but there may be some little differences depending on brick and age. It's best to write down your actual measurements, and rotate the blocks to see if they are not assymmetric.


8. Place the original pieces on the test object like below:


9. Check the internal (64.2 mm) and external (127.8) sizes, and compare them with you wrote down during step 7


Why measure the stacked bricks and not the print

External contours on a 3D print may deviate a bit. Filament isn't an absolute, constant diameter, the melting process isn't perfect, stepper motors don't have an infinite resolution, the whole mechanical setup of your printer will have some tolerances, and shrinkage affects the outside diameters in one direction, whilst they affect the interior of your print in multiple directions.

By placing the 4x1 pieces on top of the printed object, you're effectively averaging the accurace of your printer over a length of around 30 mm, and you're not affected by the outside wall accuracy of your print.


10. If these are incorrect then adjust the scale of the object (select the object and press [S]) and go back to step 3 or step 4.

11. Don't care too much about the other sizes. Just for fun and giggles you might want to check the 100.0 mm markers, and marvel at how far off those are...


(Click any image to enlarge)


12. Stack multiple bricks on top of the test piece. If the sizing is correct the printed test piece should not bend, but stay flat.


13. Stack multiple original bricks on top of the test piece. If the sizing is correct, the gaps between the bricks should be similar.


Note on gap sizes

Not all bricks have exactly the same size. It's best to use the same type of brick everywhere for this check.

 


(Click any image to enlarge)


14. If the Lego bricks don't 'snap' on or off, then adjust X-Y Contour Compensation and re-print, until the bricks fit properly.

Old Lego pieces tend to be a bit more loose than newer ones. You can pretty much ignore the external dimensions of the bricks themselves, as these are less critical than the studs.


My results

These may differ from yours!

  • Scale X 100.2 Y 100.2 Z 100.2 (see note below)
  • X-Y Contour Compensation 0.01

I used a Bambu Lab X1C, a DIY FR4 build plate, and Jayo PETG Sunny Orange. If sizing is critical then I suggest to re-check scaling before printing.


Note on material and Z-axis shrinkage

Materials such as ABS may also need vertical (Z) shrinkage compensation, in which case you may need plate 3.

I couldn't spot any practical difference when using 100.0 and 100.2 for the Z-axis, but I haven't printed any taller Lego compatible objects yet.


Plate 2

Plate 2 contains FB-10050-x. This is a longer version of the default calibration object, allowing some finer tuning for both the X- and Y-axis. You can probably skip this one and go for plate 3 or plate 4 next.


(Click any image to enlarge)


This block is the largest I can print on my X1C in X / Y direction, and still use regular calipers.

Make sure to that the standard Lego blocks you measure between (red and blue bricks in the drawing above) follow the standard dimensions (number of studs in the X-direction, times 8.0 mm, minus 0.2 mm).


Plate 3

If you suffer lots of shrinkage, this piece FB-10051-1 may help. It needs to be printed diagonally, and thus you can't use it to independently adjust X- and Y- shrinkage compensation.

The studs are placed as much outward as possible. As before, please verify the lengths of the regular Lego bricks you measure in between, or use some other pieces of lego to 'simulate' the total distance.

Again, when measuring, measure the distance between and around the original bricks, not the dimensions of the printed test piece itself.




(Click any image to enlarge)


Oversized scaling

An unforeseen use of this piece is to check on an 'oversized' scale setting, ie. where the scale has been set too high.

1. Print

2. Let it cool down

3. Put it on a flat surface - both ends should and the middle should be touching the surface

4. Put one 16x1x3 brick in the middle. If the left and right edge now lift, then that's a sign to recheck the scale. It doesn't mean the set scale is wrong. It just indicates it might be wrong.


Plate 4

Plate 4 is intended to further finetune your prints, and to check for compatibility with Lego Technic bricks. To be honest, it is more or less optional.

This plate contains 10040-x and 10041-x. I'm continuously updating these to make calibration easier, so the images below may look a little different but it shouldn't make the approach any different.



(Click any image to enlarge)


Vertical

Holes in the X-Y plane (horizontal plane with perpendicular holes in the Z-direction) are the easiest.

1. Print the object with the settings you found with plate 1. (For me that was X and Y Scale 1.02 and X-Y compensation 0.01. Z didn't seem to matter.)


2. On the bottom of the test piece you'll find 9 holes. You should be able to insert pins in a pair of either the A, B or C holes, and match this up with an original Lego Technics 1x16x3 piece.

When using the A and B holes there will be a little gap between the two pieces. Using the C holes should close that gap.



3. If the pins do not fit, then change X-Y hole compensation, and repeat steps 1, 2 and 3.

Note: typically you do not need to adjust this.


Horizontal

Horizontal holes (holes perpendicular to the vertical plane, ie. in the X or Y direction) are trickier, and much harder to adjust. In the end, I just decided to make sure Plate 1 (shrinkage) and plate 2 (X-Y hole compensation) resulted in good, usable prints.


Second part

The other part on this plate will allow you to check the 'snappines' of studs and holes again, allowing you to compare those in horizontal vs the ones in the vertical planes.


Note on Lego Technic

If you design your own Technic Lego pieces, you might want to increase the 'indent' for the ridges of the pins a little deeper in the Z-plane (X / Y direction) and increase the size of those ridges themselves. The same applies to any features on the bottom of your model.

Here are my reference dimensions:


(Click any image to enlarge)


Note on hole height

I've found two different locations for the hole in the Lego blocks, either at 5.6 or 5.8 mm, measured from the bottom. I believe 5.8 is the correct one for Lego Technic, and that the other one belongs to some older, irregular pieces.

You might consider using 5.7 or


5.9, to compensate for an FDM printer's irregularities. This is one you have to experiment with, as it can be affected by printer and slicer, but I suggest to start with 5.8.


Plate 5

X/Y/Z test models that help establishing the impact of shrinkage and accuracy.

This plate is optional. It may help identify further problems in X / Y / Z direction, but typically, you should already be fine after doing your tests with plate 1.

1. Use the settings you have found during the previous plates

2. Print

3. You should measure 100.0 mm end to end on each object, and 50 mm between the markers... or not?

If your printer and filament are perfectly dialed-in (including X-Y-compensation) you should measure 100.0 and 50.0 mm. The external X- and Y-axis dimensions are not that important though, and the distances between the holes are more important. See the notes at plate 1 step 9.

 

Sticking to the results of Plate 1 gave me prints that were good enough for my purposes, but this test can help you find out correction / scale factors for the individual Z direction.


Plate 6

My older calibration model.

You typically don't need this one, but it allows some stud 'grippiness' tests.

You can likley skip this one. I've only included it for completion.


Plate 7

Several test objects.

This Plate contains a Frankenblock Small Baseplate, and 4 different Lego compatible bricks.

Once you have calibrated everything I suggest to print one or more of the components on this plate to see how they interact with other Lego bricks, real and / or 3D printed.


Note

Don't forget to verify and / or adjust the Scale and X-Y compensation for each plate and object before printing!


(The image below is of the older calibration package v1 that only contained 4 plates.)


(Click any image to enlarge)

 

More


No comments:

Post a Comment