Hollow Calibration Cube

by 3D-ME, published

Hollow Calibration Cube by 3D-ME Mar 29, 2014
129 Share
Download All Files

Thing Apps Enabled

Open in Customizer Order This Printed View All Apps



Hollow Calibration Cube by 3D-ME is licensed under the GNU - GPL license.

Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

158861Views 80523Downloads Found in 3D Printing Tests


This is a hollow 20mm cube for calibrating your 3D printer! Cubes are hugely popular to calibrate axis linear travel, but this hollow design also allows you to also calibrate bridging and extrusion flow, all while cutting down the amount of time and filament used for your print. It has 1mm thick walls on all sides, measures exactly 20mm on all the outer faces, and has a hollow interior, all without the need of any support material.
Head over to the 'Instructions' tab to get started.
Got the cube to print nicely? Check out my Bridge Calibration Object for even more bridging calibration.
Wanna remix it? Fire up 'Customizer' and make a cube of your very own!


  1. Download and print. (without support material)
  2. Measure all sides and adjust stepper motors in your firmware accordingly. This is done by dividing 20mm by your measurement for that axis, then multiplying your stepper's settings by the result.
  3. Inspect the roof and adjust the bridging speed. (I had to slow mine down to 10 mm/sec to get a flat roof.)
  4. You could also stop a print half-way to measure the cube's wall thickness so that you can fine-tune your extruder steps.
  5. Repeat these steps until you have a perfect 20mm cube.
  6. Post a picture showing off your cube under the "I Made One" tab!

More from 3D Printing Tests

view more

All Apps

Customizer is the easiest way to take great 3D printable designs and make them your own. Make your OpenSCAD designs infinitely more valuable by empowering the community to customize them.

App Info Launch App
Customizer Thing App

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

Treatstock is an online platform that offers decentralized manufacturing services such as 3D printing and CNC machining for business-to-business and business-to-consumer sales all over the world. W...

App Info Launch App

3D print your favourite design with NinjaPrototype, a professional 3D manufacture with consistent quality and speed.

App Info Launch App

Wow this thing is SO OVERRATED. Seriously. It's a cube. (No offense, 3D-ME)

No offense taken! The simplicity of this design is exactly what makes it popular: a minimalist design where each axis is isolated to a specific wall on the cube makes the calibration process less of a headache for beginners.
I designed it when I myself was new to 3D printing and am amazed by how many people I have been able to help with it. :)

What do I do if the height was more than double the length of the x and y. althogh the print is like a rectangular prism it printed fantastic and no overhang. I am using the tevo turantula.

openSCAD generates a warning when compiling:

WARNING: Ignoring unknown variable 'Z_Wall_Thickness'.


should be


Fortunately there is a second bug that makes it work anyway as long as all sides are the same length as X..

The second cube is missing the [ ] so it's just using the first size parameter.

Open in customizer, set X to 20, Y to 30 and Z to 5 to see an example. I don't think that is what you intended as the result.

Thanks for catching those bugs! I wrote that back when I was 14 years old and first learning to code, so I admit there were many mistakes made, I fixed those bugs and updated the file, so all should be good now!

I liked this calibration tool. My 3D printer is printing items a little big.
I hope you don't mind that I put using your calibration cube on YouTube. https://youtu.be/FzwCSgObgfE

Is the box supposed to be "stringy" or not solid on the walls?

ok, i'm just gonna put it out there.

you cannot get a "perfrect 20 mm cube", if you'r thinking that eventually your caliper show your perimeters are exactly 1.0 mm thick, and your x,y,z will be 20.00 mm, you will be forever doomed.
i'm not trolling i'm just repeating what others have said to me, you can 19.9, 20..2 you're peremeters can .95, 1.04, but they will never be exactly. if you reach those margins, consider it a win. and move on to other calibrations.

Gracias, me sirvio para comenzar a setear mi Prusa

for some reason this did not print right on my printer at one point it dropped a large glob of plastic on the print bed, I have abandoned this print because of this situation, I will not say the design is bad, just something went horribly wrong for me.

omgomgomgomg im just on here to cre

Is this the first print that you have attempted? It might be that your first layer is not sticking to the bed, and is sticking to the nozzle instead, making a large glob of plastic.

Hi ,I need little help... the cube are almost perfect ... but its in first 2mm wider in button of the cube ... here is the picture


can some one help me ... layer is 0.2mm ,outhell speed 30mm/s... button layer 1.2mm ...nozzle 0.4mm PLA ... Thank you

Did you ever figure this out? I have the same issue with the bottom few layers of the cube being bumped out a little bit. The sides and the top are pretty flawless.

Not yet but on fb group some people tell me that problem is overextrude , I need to do new calibrations with lower temperature .. I print with 210c day tell me that I can go with 195...

Interesting. Were you using ABS or PLA? I've only had my printer for about a week, and the initial prints were pretty rough on top, so I lowered the layer from .3 to .2 and bumped the temperature up from 210 to 220 (ABS). I found that the sides and top of the cube looked very good, and in fact it's probably the smoothest and best looking thing I've printed so far. Maybe I'll try lowering the temperature back down in 5 degree increments and see if I can keep the sides and top looking nice and bring the bottom back in line.

I use PLA ,maybe you can try with lover bed temp....

Print head too close to bed or overextrusion.. Temp shouldn't effect that. http://support.3dverkstan.se/article/23-a-visual-ultimaker-troubleshooting-guide#elephant

Thanks so much for this. I made this on my new 3D printer as a calibration test. Thanks so much. The design worked perfectly.

I'm glad it worked well for you!

Comments deleted.

MMm i measured it and looks perfect, The sides are smooth and perfects.
The probelm is that my top layer looks awfull.

I'm glad the sides are looking good, that's over half the battle! The top is a test for your printer's bridging capabilities, and I have some good instructions for bridging over here on my Bridge Calibration Object.

Bridge Calibration Test
by 3D-ME

Just to know. I printed the Calibration Cube in High... Should i try medium or fast?

I usually print the bridges at 10mm/sec, which is rather slow, but I would try a print with medium and see what difference it might make.

i am using a 0.1mm layer with a 0.8 shell at about 40 mm per second, any faster, and this home built machine gets sloppy.

my printer can only print at 20mm/s or lower so...

I know what you mean, I got to slow down my RepRap to keep it from malfunctioning.
Good luck on your print!

i have a new e3d hotend that i custom built for my printrbot, and this is a test to see if it can print larger objects. Currently, it is going great about 10% done.

Thanks for sharing this. Wondering if anyone knows how to go about this using the Makerbot 2. I am not sure of the resolution, number of shells, and wall thickness, before I attempt the calibration?

I use a 0.2mm layer height, and two shells with my 0.4mm nozzle.
Best of luck!

Is one corner supposed to have a round bead on it? Could that be a misconfiguration in my slic3r settings?
I've moved the print to other areas of the bed to see if it was a sticking point on the xaxis belt, but it's there every time.

No, it is not normal for there to be a bead on the corner. The problem is a misconfiguration with slic3r, not your actual printer, basically what's happening is the extruder retracts a little bit of filament during each layer change and then spits out a little too much at the start of the next layer, hence the reason why the bead stayed at the same corner each time. You can fix this problem by going to Printer Settings>Extruder1 (or something like that) on expert mode in Slic3r, and changing some of the retraction settings. I would recommend starting by enabling/disabling retraction on layer change, and changing the "extra length on restart" value to zero. If those fixes don't help much, your extruder is probably miscalibrated and you should calibrate it using Triffid Hunter's Calibration Guide
I hope this helps, best of luck to you!

Thanks for the reply, I noticed when printing a replacement x idler end that the corners were ok, so I guess my existing x idler is ok as well. :)

hi printed this and my printer is a ctc running the replicator7.5

the cube size is off

z= 20.28mm

if i print a item at 56mm long its comes out 47mm long . any help would be great

You need to change some of the settings on your firmware. I'm not familiar with the replicator firmware, but you should be able to find a variable that modifies the stepper motor settings. (i.e. X_steps_per_mm = 80 in my case)
You then have to change those settings according to what your cube printed as: to do this you simply take 20 mm divided by whatever your cube length for that side is (i.e. 20/20.28=.986) and then multiply that result by the stepper motor settings. (i.e. 80*.986=78.88)
You may have to repeat these steps a few more times to get it all exact.
Best of luck to you.

Wow Awesome Thanks!! That equation saved me a lot of time!
First try I got X=19.88 Y= 19.78
Second Try X=20 Y=20

I think there's a typo in the .scad; Z_Wall_Thickness should just be Wall_Thickness? =]

Thanks for taking a look 'under the hood'! I actually added that bit on purpose because I needed it whilst calibrating my z-axis, but yes, most people can just keep the z walls the same as the other wall thicknesses.

Could you tell me how exactly you adjust the firmware? Sorry for the newb question, I am new to 3d printing

You can adjust popular RepRap firmwares like Marlin or Sprinter by editing the Arduino code in the Arduino IDE.
You'll probably focus mainly on modifying values in the configuration.h file for a start.
This page has good info on calibration: http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide#Calculate