Skip to content

v0.4 Creating And Configuring Your Printer Profile

FormerLurker edited this page May 27, 2020 · 6 revisions

It can be a bit difficult to crate a new printer profile from scratch, especially if you are new to 3D printing. Even for an expert it can be challenging because few people have complete knowledge of their printer and its firmware.

However, it is possible, and if you know a few key things, you will be much more likely to get everything correct on your first go.

Avoiding Creating a Profile from Scratch

The best way to get your profile correct is to use one that has already been correctly configured! When you create your printer profile, be sure to check the Make and Model drop down boxes to see if the Octolapse Profile Repository already contains a working profile:

Select Your Printer's Make

Select Your Printer's Model

Confirm the Import

Save Your Changes

If your printer is in the list, select it, confirm the import, and save your changes. This will download a pre-configured profile from the Octolapse profile repository. This should eliminate most of the setup issues. However, if you have installed or upgraded your firmware (like switching from Marlin 1 to Marlin 2), these pre-configured profiles might need some minor adjustments. All of the printer profiles within the Octolapse profile repository assume you are running the stock firmware.

If your printer is NOT in the list, continue on with the guide.

Create and Name Your New Printer Profile

The first thing you need to do is to create a new printer profile. First, click on the Printers link within the Octolapse tab:

Open all Printer Profiles

Now, click Add New Profile:

Add a New Profile

Then give your printer a reasonable name and description:

Name and Describe The New Printer

Slicer Settings

I HIGHLY recommend using the Automatic Configuration if at all possible. See this guide for getting the automatic slicer configuration working. If you cannot get it working, continue this step, else skip it.

If you cannot get the automatic configuration working for some reason, you will have to update these settings every time you make a change to your slicer profile. Making mistakes here can cause huge print quality and timelapse issues, so be sure to double check everything. First, you will need to select your slicer type. Since you weren't able to get the automatic configuration working, you will likely need to select the Other slicer type, and that is the slicer type we will focus on here (the other types are included for backwards compatibility):

Other Slicer Type

If you are printing in vase mode (NOT RECOMMENDED), be sure to check the box and enter in your layer height:

Vase Mode and Layer Height Settings

When printing in vase mode, one snapshot will be taken for the layer height supplied (at least for the Smart layer triggers).

Next, and this part is extremely important, you must select the proper units for all slicer speed settings. There is a 60-fold difference here if you get this part wrong, and nothing will work properly:

Speed Display Units

As a rule of thumb, if you are seeing speeds in the 1000s within your slicer, they are likely being reported in millimeters per minute. If they are in the 10s to low 100s, it is likely millimeters per second. When in doubt, do some research. Trust me, you don't want to get this wrong.

The rest of the settings are pretty straight forward. Find and fill in every setting from your slicer. Every setting is important, so make sure you copy them exactly.

Build Volume and Origin

Printer Profile Build Volume and Origin

ALL of these settings are critical, and you must get them right.

First, I recommend enabling the Override Octoprint Printer Volume since MANY people fail to set this up correctly in their OctoPrint printer profile.

The next thing to get right is the bed shape. Fortunately, this one is pretty easy. If your bed is circular, select that. If it is a square or a rectangle, select Rectangular. If you have some other bed shape, let me know because I've never heard of any other shape!

Now it's time to enter the print volume. This is a bit tricky, since some printers have odd coordinate systems that include some negative points. For example, my printer's Y axis goes from -3mm to 210mm. It's a good idea to start with the bed dimensions (Custom Bounding Box setting unchecked) and see if that works before attempting to configure a custom bounding box. Here is an example showing the build volume for the Ender 3:

Build Volume - No Custom Box

Here is an example of a custom bounding box for my Prusa Mk2.5:

Custom Bounding Box

Notice that more options appear if the custom bounding box is checked. However, this means that you need to know the exact absolute min and max coordinates for each axis. Unfortunately, in some cases this cannot be helped.

If you cannot determine your build volume, and your printer is NOT in the list, create an issue on the Octolapse Github page, and perhaps we can get your printer added to the profile repository.

Finally, you need to select the Origin Type:

setting_origin_type

The origin of your printer is the location on the bed of the coordinates (0,0). Fortunately, there is a quick series of gcode commands you can send to the printer to figure this out:

G28 X Y; Home X and Y axes
G0 X0 Y0; Move to the origin: 0,0

If your extruder is over the front left position, select Front Left. If it is near the center of the bed, select Center. If it is somewhere else, please let me know!

Restrict Snapshot Area

Do not enable this option if you don't need to use it. Some printers (like mine) prime directly on the bed. Others have first layer adhesion issues where it might be desirable to simply skip taking a snapshot on the first layer.

Basically, this setting allows you to define a region where snapshots are allowed to occur. Any movements outside of this area will be ignored. For my printer, I wanted to exclude the priming area to prevent snapshots from occurring while priming. Here are my settings for a rectangular bed printer:

Restrict Snapshot Area - Rectangular Bed

If you are using a circular bed with a diameter of 200mm and a height of 200mm, but you want to prevent snapshots below a height of 0.2mm, this is what you would enter:

settings_restrict_snapshot_area_circular

Layer Change Detection

These settings can dramatically affect layer detection. The priming height setting will prevent Octolapse from triggering while priming. If it is incorrect, Octolapse may not take any snapshots for many layers at the beginning of the print, or it might not take any snapshots at all!

Printer Profile Priming Height Setting

This is a complicated setting, but it is absolutely necessary in order for Octolapse to properly detect the first layer. Some printers prime above the bed at a specific height. This is configured within your start gcode in your slicer. Octolapse will start detecting layers AFTER it extrudes plastic BELOW the height in this setting.

For example, if your printer primes at 5mm, you should set this parameter to 5. If it primes directly on the bed, you might be able to get away with setting this to 0, but if the priming line is above the height of your first layer, Octolapse may miss this layer (see the Restrict Snapshot Area section for an alternative way to prevent snapshots while priming directly on the bed*).

If possible, always set the priming height to the actual height at which your printer primes UNLESS the priming height is equal to the first layer height. In that case, you can set this value to 0.

The next setting is the Minimum Layer Height. This value is a sanity check to make sure that vase mode prints aren't completely ruined by Octolapse if you haven't configured your slicer settings properly. The default value is quite conservative at 0.05mm. I recommend you set this to the smallest layer height you plan on printing (I use 0.15 myself).

Position Detection

This section is not as important in the newest version of Octolapse and may be removed eventually. I recommend leaving this section set to the defaults which are shown here:

Position Detection Default Settings

Firmware Settings

This section is critical. I plan on removing a few items in this section in the next release, but for now they must be entered correctly.

For the X/Y/Z and E axis mode settings, set these to Absolute:

X Y Z and E Axis Mode Set To Absolute

The next setting, G90/G91 Influences Extruder is critical:

G90/G91 Influences Extruder

This setting is not going away any time soon. In general, if you are running Marlin 2.0 or Smoothieware, you will need to set this to true. There is no easy way to test your printer to see what this setting should be (if you know of one, let me know), but if it is incorrect you will get a LOT of blobs and stringing, and you may hear unnatural noises coming from your extruder during and after the snapshot stabilization.

The next setting is the Default Units setting. This will also be removed in a future version. Leave it set to Millimeters.

Extruders

Warning: Multiple extruder/multi-material printers are experimental as of now. You will likely run into some bugs, and that's ESPECIALLY for true multi-extruder printers. I do not own one of these and programmed this feature blind. If you are willing to try it out, please let me know how it goes and report all issues. I have tested both single and multi-material prints with my Prusa MMU 1.0 and MMU 2.0, so that is much more likely to work correctly (bugs are still possible, of course).

If you have a multi-material unit, multiple extruders, or a device like the Palette 2, set the number of extruders or filaments your unit supports here. If you have a single extruder, but can use multiple filaments without manually swapping colors, enable the Shared Nozzle option.

The next setting is a bit difficult to figure out, but it is crucial as well. For some printers, the first extruder is extruder 0 (zero). For others it is 1. If your first extruder is set with the T0 command, check this box. You might be able to find this setting within your slicer.

When in doubt, you could always send a T1 command and see which filament is selected.

Note: If you have multiple extruders or a shared extruder that supports multiple materials, and you did not select Automatic Configuration for your slicer type, you will need to copy in your extruder-specific slicer setting for all of your extruders before you can save your profile.

If you are NOT using a shared extruder, but you have multiple extruders, you will need to configure the extruder offsets. These should be available from the manufacturer and are necessary in some cases so that Octolapse can correctly position the extruder while taking snapshots. Here is what you would see if you have dual extruders (2 separate nozzles):

Dual Extruder Offsets

Octolapse can also read the offsets via G10 or M218, though this is VERY experimental (as I said earlier, I do not have access to a true multi-extruder machine, so I haven't tested this!)

Gcode Settings

We're almost done! This last section is pretty easy.

The first setting is the Alternative Snapshot Command:

Alternative Snapshot Command

This is not something you usually would need to touch. It only affects the Classic and Smart gcode triggers. You can enter any command you like in here, and Octolapse will initiate a snapshot when it sees that command. Do NOT use a very common command like G0, G1, or any of the other commonly occurring commands or very bad things will happen. The command doesn't even need to be a real gcode command. However, there are some situations where it is useful to define your own custom snapshot command. You can always use snap or @OCTOLAPSE TAKE-SNAPSHOT when using the gcode triggers to initiate a snapshot without any configuration. Despite what you might hear when watching some of the Octolapse setup videos out there, using an alternative snapshot command is almost NEVER necessary and may be harmful in some situations.

Suppress Snapshot Command When Disabled

The next setting Suppress Snapshot Command When Disabled will basically prevent any and all snapshot commands from being sent to your printer EVEN IF Octolapse is disabled. I have left this setting enabled to prevent people from seeing some errors in the terminal, but generally these are NOT harmful. Disabling this setting will very slightly reduce the CPU consumption when printing with Octolapse disabled. This one is up to you.

Snapshot Gcode Axis Compatibility Mode

I plan to disable Snapshot Gcode Axis Compatibility Mode by default for all profiles as soon as it has been tested a bit more. When enabled, Octolapse will switch to relative axis mode for z-lift and retraction if necessary to make the gcode easier to create. This was the only option for Octolapse up until V0.4.0. Disabling this setting prevents Octolapse from switching axis modes while taking snapshots. This reduces the number of gcodes that need to be sent to your printer and ensures, even if there is a bug in Octolapse, that the axis modes are never changed by Octolapse. However, this is a bit more tricky to implement, so there could be some undiscovered bugs if you have disabled compatibility mode. However, if you are brave, give it a shot (after you get things working, of course) and let me know how it goes!

Home Axis Gcode Script

This script has two jobs:

  1. Put your printer into absolute XYZ mode.
  2. Home your X and Y axis.

This script is currently only used in one place: Within the Custom Image Preferences when you click the Stabilize Extruder button. This is intended to make it easier to focus your camera. If you aren't using custom image preferences, this isn't very important. However, it is really cool to be able to control your camera settings within Octolapse, so check out the link and see if you can get it working!

Save Your Profile and Select Your Printer

Now that you are finished, scroll to the bottom and click the Save button:

save_changes.png

If you see any error messages here, scroll up and fix them (they are most likely missing slicer settings or typos). Then save again until there are no errors.

Now navigate to the Octolapse tab and select your new printer from the Printers drop down. Now it's time to test!

Testing your Settings

I recommend following the Getting Started guide, which has a section outlining my preferred testing method.

If you have any problems, check out the Troubleshooting Guide. If that doesn't work, consider reporting an issue. If you provide me enough information and are really nice, it's possible I could create a printer profile and publish it to the repository. I'm always looking to expand the list of printers that should work out-of-the-box!

Clone this wiki locally