Skip to main content

Celestrius Data Collection Guide (OctoPrint) - Batch 2 - Z-Offset

· 9 min read

This guide is only for the OctoPrint users. If you are using Klipper, please follow this guide.


This guide assumes you already have a nozzle camera installed on your 3D printer and connected to OctoPrint or Klipper. This guide also assumes you have already adjusted your nozzle cameras resolution as described in the Prusa Mini/Mini+ or the Voron 2.4/Trident with Stealthburner guides. If you have not installed a nozzle camera yet, follow the guide for Prusa Mini/Mini+ or Voron 2.4/Trident with Stealthburner

Required files/software

The following files (also linked throughout the document) are required.

Step 1. Download and configure the Celestrius plugin

1. Download the Celestrius Plugin and save it somewhere on your computer. You do not need to unzip the file.

2. Open the Octoprint interface in a web browser. Open the settings menu, scroll down and select the Plugin Manager.

3. Click get more. Scroll down until you see ... from an uploaded file. Click Browse and select the Celestrius Plugin on your computer. Click Install.

4. Once the plugin has finished installing, restart OctoPrint

Configure the Celestrius Plugin

Once OctoPrint has restarted, you will be greeted by the setup wizard.

Read the policy on how your data will be collected and sent to the server. Instead of some fancy legal language, we tried to phrase the policy understandable for everyone. We want to look at only the data that you approve of. Once your data is uploaded, we will wait a period of seven days before accessing it. If, during that time, you notice you have uploaded data unintentionally, send us an email and we will delete the requested data.

1. Click the check box to accept the terms.

2. Enter the email you used when completing the Celestrius interest form, check the box to confirm that you agree.

3. Enter in Snapshot URL the URL for the nozzle camera you set up for project Celestrius. Ensure Celestrius is using the proper camera. Especially if you have multiple cameras configured in OctoPrint, double-check to make sure you have entered the correct URL.

4. Click the "Test" button to verify this URL works, and the image shows your nozzle camera as intended.

5. Click Finish.


If setup wizard does not appear, you can access it by opening the OctoPrint settings and clicking Celestrius Data Collector

How data collection works

By default, the Celestrius button will be off (grey) and not collecting data. To enable data collection, simply click the Celestrius button at the top of the OctoPrint interface to turn on data collection (green).

If you do not accept the terms, data collection will not begin. In this case, attempting to turn on data collection will result in a yellow Celestrius button at the top of the OctoPrint interface.


Once turned on, data collection will remain on until you turn it off. Be sure to turn off Celestrius after running data collecting prints to avoid sending unwanted/unnecessary data.

Step 2. Calibrate your first layer

The most important thing before you do the test prints is to make sure your first layer is calibrated. Otherwise, it may signficantly impact the quality of the data collected from your nozzle camera.

1. Turn OFF Celestrius data collection

2 Download test.3mf from printables. Slice it with the settings you typically use when printing with PLA.

3 Check your print quality

Once the print finishes, compare your finished print with the one shown.

Keep an eye out for the following:


The view from the nozzle camera should look something like the image below.

  • The lines should slightly overlap each other so that when you remove the print from the plate, it is one homogenous surface with no gaps or voids.

  • The overall surface is flat and smooth.

Improve Print quality

If your print is not one homogeneous smooth surface, or there are gaps or voids in the print, try the following in order:

1. Level the bed. Do this before adjusting any other settings as it is the most common issue.

2. Adjust the Z-offset slighlty.

3. Ensure the nozzle is not clogged, and it is free from debris.

4. Calibrate the flow rate using Teaching Tech's tutorial.

Step 3. Experiment with z-offset and set the increment

To run the experiment, re-print test.3mf. Once the print starts, slowly raise the Z-offset until you notice the print starting to have a completely failing first layer. The print should look something like the model above. Once your print is close enough to the examples above, your 3D printer is properly calibrated for a good first layer with proper bed adhesion and adequate flow.

You will likely need to use the LCD screen on your printer to adjust the z-offset during a print. For Prusa Mini users, you can use the live-adjust Z. If you don’t have z-offset controls for your printer, you can proceed by using the default values in this section and adjust accordingly.

Once you find the z-offset that causes your print to fail, divide it by 4. For example, the print shown reached a maximum z-offset of 1.04mm, so for this print I did: 1.04mm/4= 0.26.

Set the z-offset increment

  1. Open the OctoPrint settings menu
  2. Click Celestrius Data Collector
  3. Enter the value you calculated above in the Z-offset Increment section.

Step 4. Print at least five models

This link contains several test models that only contain one .2mm layer. You will be asked to print at least five of the files. Each file contains multiple object on the print bed. For example, 1-celestrius-z-offset-4-cirlces.3mf, contains four circles. The Obico Celestrius plugin has been written in a special way so that the first circle will be printed at the Z-offset configured in your printers settings. Each consecutive object will be printed with a higher z-offset than the last object. This will produce a print that starts at a high quality and worsens as the print continues. This simulates various bed leveling and z-offset issues that commonly occur when printing. We will collect the images and z-offset values throughout the print, and this information will be used to help train our model.


Please remember to turn on data collection. Otherwise your test print results won't get sent to the Obico Team.

1. Slice the files with the same properly calibrated settings from step 2. .3mf files have been provided so that you can slice the file without having to make any modifications for the Celestrius data collection to work properly.The .3mf file should load in your slicer with objects labeled with unique names. Using the .3mf file should produce this without you needing to make any changes.You can verify this in Cura or Prusa Slicer. In Prusa Slicer, object labels are shown in the right hand corner of the screen, and Cura shows object labels in the lower left corner of the screen.

Enable Labeling Objects in your slicer they aren't already

Objects are labeled automatically in Ultimaker Cura, but with PrusaSlicer there’s a slight setup step.

  • Go to the Print Settings >> Output options in PrusaSlicer.
  • Enable the Label Objects option.


The .3mf file is designed to be printed with a .4mm nozzle at .2mm layer height. If you do not have a .4mm nozzle, be sure to change the layer height of the model to be one half of the nozzle diameter.


Make sure you upgrade to the latest PrusaSlicer. Some older version may not be able to load the .3mf files.

2. Save the file with the words "celestrius" and "z-offset" in the file name.


Please make sure "celestrius" and "z-offset" appear in the g-code file name, otherwise data will not be collected. Data is only collected when these keywords appear in the file name as a precaution to ensure nothing unexpected happens when printing non-celestrius related files.

3. Turn ON Celestrius data collection


Please remember to turn on data collection. Otherwise your test print results won't get sent to the Obico Team.

4. Print all of the models. Please watch the print, and be ready to stop it if the print starts to fail catastrophicaly before it finishes. In general, try to let the print complete, but of course, if the level of failure is making you uncomfortable, filament is starting to blob around the nozzle, or other damage may occur, you can stop the print early and there is no need to repeat it. Consider wiping the bed clean with isopropyl alcohol and re-leveling the bed in between prints to ensure consistent bed adhesion.

Step 5. Turn off data collection.

Make sure you turn off data collection once you are done with step 1-6. Otherwise, the plugin may send unintended data to our server. Also, remember to remove the end gcode that you added in step 2 from your slicer.

Optionally, you can go Celestrius settings page to review all the prints that have been sent to the server. If you find any prints that you didn't intend to send and want us to delete them, please email us to request data erasure.


Your uploaded data won't be accessed by the Obico Team for 7 days. This is the give you a chance to request data erasure in case they are sent unintentionally.