Celestrius Data Collection Guide (Klipper)
This guide is only for the Klipper users. If you are using OctoPrint, please follow this guide.
This guide assumes you already have a nozzle camera installed on your 3D printer and the resolution is set to at least 1280x720. If you have not installed a nozzle camera yet, follow this guide.
Required files/software
The following files (also linked throughout the document) are required.

Step 1. Download and configure the Celestrius data collection program for Klipper
Install the Celestrius data collection program
1. SSH to the Raspberry Pi (or other single-board-computer) you set up to run Klipper.
2. Run the following commands on the console:
cd && git clone https://github.com/TheSpaghettiDetective/moonraker-celestrius.git
cd moonraker-celestrius
./celestrius.sh install
Configure the Celestrius data collection program
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.

Follow the prompt to get the program configured.
A few things to note:
-
The data collection is OFF for now. You will need to run
./celestrius.sh enableto turn it on. This is so that it's less likely for you to send data that you don't intend to. -
Use the email you signed up for the limited pilot with. Please make sure the email is correct as this will be used to communicate with you throughout the pilot program.
-
The Snapshot URL is for the nozzle camera you set up for project Celestrius. Please note if you have multiple cameras set up, this may NOT be the main camera you configured for your printer. Also the format of the URL is
http(s)://ip-or-hostname(:port)/the/rest/of/the/url.
How data collection works
By default, as previously mentioned, the data collection program will be OFF and not collecting data. To turn on data collection, run cd ~/moonraker-celestrius && ./celestrius.sh enable.
Once turned on, data collection will remain on until you turn it off. Be sure to turn off data collection after running data collecting prints to avoid sending unwanted/unnecessary data.
Step 2. Insert the end G-Code in your slicer to add a first-layer scan
1. Select the Appropriate G-Code based on the size of the build plate your 3D printer has. If you're build plate dimensions are not available, let us know in the Celestrius Discord Server.
- 180x180mm
- 250x250mm
- 300x300mm
- 350x350mm
G0 Y40 F1000
G0 X40 F1000
G0 Z 1.0
G0 X140 F300
G0 Y60 F300
G0 X40 F300
G0 X140 F300
G0 Y80 F300
G0 X40 F300
G0 X140 F300
G0 Y100 F300
G0 X40 F300
G0 X140 F300
G0 Y120 F300
G0 X40 F300
G0 X140 F300
G0 Y140 F300
G0 X90 Y90
G0 Z10
G0 X0 F1000
G0 Y0 F1000
G0 Y75 F1000
G0 X75 F1000
G0 Z 10.0
G0 X175 F300
G0 Y95 F300
G0 X75 F300
G0 X175 F300
G0 Y115 F300
G0 X75 F300
G0 X175 F300
G0 Y135 F300
G0 X75 F300
G0 X175 F300
G0 Y155 F300
G0 X75 F300
G0 X175 F300
G0 Y175 F300
G0 X90 Y90
G0 X0 F1000
G0 Y0 F1000
G0 Y100 F1000
G0 X100 F1000
G0 Z 10.0
G0 X200 F300
G0 Y120 F300
G0 X100 F300
G0 X200 F300
G0 Y140 F300
G0 X100 F300
G0 X200 F300
G0 Y160 F300
G0 X100 F300
G0 X200 F300
G0 Y180 F300
G0 X100 F300
G0 X200 F300
G0 Y200 F300
G0 X0 F1000
G0 Y0 F1000
G0 Y125 F1000
G0 X125 F1000
G0 Z 10.0
G0 X225 F300
G0 Y145 F300
G0 X125 F300
G0 X225 F300
G0 Y165 F300
G0 X125 F300
G0 X225 F300
G0 Y185 F300
G0 X125 F300
G0 X225 F300
G0 Y205 F300
G0 X125 F300
G0 X225 F300
G0 Y225 F300
G0 X0 F1000
G0 Y0 F1000
2. Open your slicing software of choice. In this example, I am using Prusa Slicer. 3. In the Printer Settings tab, click Custom G-Code In this example, I am using a Prusa Mini with unmodified end G-code. It looks like this:
G1 E-1 F2100 ; retract
{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F720 ; Move print head up{endif}
G1 X178 Y178 F4200 ; park print head
{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+30, max_print_height)} F720 ; Move print head further up{endif}
G4 ; wait
M104 S0 ; turn off temperature
M140 S0 ; turn off heatbed
M107 ; turn off fan
M221 S100 ; reset flow
M900 K0 ; reset LA
M84 ; disable motors
- We want to add the G-Code right after the print finishes, and the nozzle temperature has been turned off. I'll add my G-Code right after the line
M104 S0 ; turn off temperature. If you aren't sure what is happenning in your end G-Code, simply paste the G-code in after the last line.
Remember to remove the end G-Code from your slicer when you are finished collecting data for the Celestrius Pilot, or if you want to print a print unrelated to the Celestrius Pilot. This G-Code will cause collissions with any parts printed higher than 1mm.
