Quick Start Guide for PrintWatch with OctoPrint
1.1 Subscription plan selection
Before you can run the PrintWatch plugin on OctoPrint, you must have an active API access key for the amount of printers you intend to run the software on. If you already have your API access key, skip this step and jump to section 2.1.
From the printpal.io homepage, navigate to the ‘Pricing’ page from the top header bar as shown in the screenshot below and familiarize yourself with the pricing options. If you are having trouble finding the pricing page you can also click here to be redirected to it.
1.2 Checking out
Once you have familiarized yourself with our pricing options and are ready to checkout, click the ‘Subscribe’ button (if using PrintWatch Premium, otherwise the ‘Contact us’ button). You will be redirected to the official checkout page. If you are having trouble finding the checkout page, you can also click here to be redirected to it.
The pricing for PrintWatch Premium is:
- $9/month for the first printer
- +$4/month for every additional printer
By subscribing to PrintWatch premium, every printer has unlimited usage of the software. It is not metered or throttled down if you are using it too often. The subscription does not bind to a certain printer either, meaning if you subscribe to PrintWatch with 1 printer, you can transfer the API to a different printer with no issue. You will just be limited to running the software on 1 printer at a time.
There are two subscription intervals for PrintWatch:
By choosing the Annual subscription cycle, you save 30% on your PrintWatch subscription.
Once you have successfully checked out via stripe, you will receive a confirmation email containing your API access key. If you are having trouble finding the confirmation email, check your spam inbox. The confirmation email may take a few minutes to arrive.
Your confirmation email should look like this:
Remember the API key provided in the email confirmation, it will be used in step 3.1 to authenticate your PrintWatch plugin. Note that If you are signing up for a free trial, the ‘Subscription Details’ of your email confirmation may show a cost of $0 or the price of your plan selected, rest assured that you won’t be charged until your free trial is over.
Installation of the PrintWatch plugin requires a properly installed OctoPrint instance on your device. Please follow the OctoPrint Installation Guide before continuing with the following steps.
Once you have successfully installed OctoPrint and are running it on your device, follow the Official OctoPrint Plugin Installation Guide or the following steps:
- Go to the WebUI of your OctoPrint instance. This can be done by typing http://octopi.local or http://<your device ip address> into the web browser. The standard address for a local device is http://127.0.0.1. If you are trying to access the WebUI of an OctoPrint instance running on a different device, use that devices IP address.
- Once you are on the OctoPrint WebUI, navigate to the settings window and scroll down the left toolbar until you find the ‘Plugin Manager’ (shown below):
- Once the Plugin Manager is open, Click on the ‘Get More’ button in the top right corner to open the Plugin Repository search tool (shown below):
- Type ‘PrintWatch’ into the search input and click ‘Install’ on the first item in the response (shown below):
Once the Plugin has finished installing, you will see the following pop-up notification:
Restart the OctoPrint instance an you are ready to use PrintWatch.
3.1 Activation and Settings
- Once you have successfully installed the PrintWatch plugin, open the settings window in the OctoPrint WebUI and scroll all the way down the left toolbar until you reach the ‘Plugins’ section of the settings. Click on the ‘PrintWatch’ option to enter the settings page (shown below):
- Copy your API key from your confirmation email (see step 1.3 above). Paste the code into the ‘API key’ input of the settings page (shown below):
- Once you have input your API key, you are authenticated and ready to use PrintWatch. It is highly recommended to configure the remaining settings according to what actions you would like to take place in the event of a print failure.
- The settings and their meanings are generalized below:
- Snapshot URL: The stream address of the camera that will be used for analyzing the print job (default: http://127.0.0.1/webcam/?action=snapshot, which will use the local devices OctoPrint webcam). In most cases the default setting will work, however if referencing an external device’s camera, then use that device’s address. Versions of PrintWatch prior to 1.1.1 will use the webcam streaming endpoint. If you are using a version of PrintWatch < 1.1.1, please use http://127.0.0.1/webcam/?action=stream
- Enable Detection System: Toggle whether PrintWatch is running (default: TRUE, meaning PrintWatch will be running analysis on your print).
- Send Email on Detection: Toggle whether Emails will be sent when the Notification threshold or the Action Threshold are reached (default: FALSE, meaning no email will be sent).
- Email Address: The designated Email address to send notifications to in the event of a print failure (default: Empty, meaning no address will receive an email).
- Pause Print on Detection: Toggle whether the printer will receive a Pause command in the event of a print failure (default: FALSE, meaning the printer will not receive a pause command).
- Stop Print on Detection: Toggle whether the printer will receive a Stop command in the event of a print failure (default: FALSE, meaning the printer will not receive a stop command).
- Power off Extruder Heater on Detection: Toggle whether the printer will receive a cooldown command for the extruder heater unit in the event of a print failure (default: FALSE, meaning the printer will not receive a cooldown command).
- Detection Threshold: The threshold at which detections will be classified as defects. This setting can be considered as the sensitivity of the detection model. A lower value results in the detection system being more sensitive and more likely to classify something in the video as a defect. A higher value results in the detection system being more strict as to what it classifies as a defect (default: 60, meaning any items the model detects that are above the 60% threshold will be classified as a defect). Each printer is different, so the default value may not work for you. Please refer to the Tuning your Setup document to understand how to properly decide a confidence setting value.
- Notification Threshold: The threshold at which a notification will be sent to the user. This setting will be drawn on the live plot as a horizontal line, indicating the level at which the notification will occur. Note that by changing the PrintWatch settings or pausing/stopping the print will reset the counter for sending another notification.
- Action Threshold: The threshold at which actions will be sent to OctoPrint to perform on behalf of the printer. The actions currently available are: pausing the print, stopping the print, turning off the extruder heat. If the notification setting is enabled, a notification will be sent notifying of actions taken.
- Buffer Length: The size of the buffer to use when tracking the last N detection results. The buffer stores the detections as either True or False, indicating whether or not a defect was detected. The buffer is used in determining when a shutoff event should occur. Increasing the length of the buffer will typically make it take longer for PrintWatch to take action, while lowering the length of the buffer will make PrintWatch take action faster, but being lowered too much may cause false shutoffs.
- Buffer Percent: The percentage of positive detections in the buffer that will trigger a shutoff event. Increasing this value will require more of the buffer to have positive detections in order to trigger a shutoff event. When tuning settings, the approximate time until PrintWatch intervenes can be calculated with: 10 * Buffer Percent * Buffer Length, where Buffer Percent is a value from 0.0 – 1.0. The total time is in seconds. As of version 1.1.1, this setting is depreciated.
- Send feedback images to enhance the detection model: Toggle whether feedback images will be sent to the model training system to be used for training, resulting in a more accurate defect detection model (default: TRUE, meaning qualifying images will be used to enhance the detection model). Disclaimer: Images will only be used in the model training system. Images are sampled when a highly positive defect is detected only when the system is enabled and the printer is in a ‘printing’ state.
Once you have input your settings, you are ready to use PrintWatch. Start a print and notice the status indicator on the OctoPrint navigation bar begin to flash green. This indicator means that PrintWatch is actively monitoring your print. Go to the PrintWatch tab in OctoPrint to get a live view of what the Machine Learning model is seeing on your print. For more information regarding tuning or setting up your printer with PrintWatch, refer to Tuning your Setup. Additionally, follow the Calibration Checklist to setup your printer to work best with PrintWatch.
4.1 Web App
The Web App allows you to view and manage each of your printers that are running PrintWatch. The Web App is accessible anywhere in the world, meaning you do not have to be on the same network as your printers to use it. The Web App is currently a BETA feature and functionality will be rapidly changing. Use the Web App by visiting the URL provided in your subscription confirmation email.
Login using your API key provided in the subscription confirmation email. The API key will allow you to view and manage all of the currently active printers that are using the same API key. PrintWatch Premium plans support up to 10 printers on one API key to be populated onto the Web App. Users with a custom PrintWatch plan will be able to access more printers and the more advanced features.
Once you are logged in, the main dashboard will look like this:
Note that in the preview above, two different test printer configurations are running using the same webcam stream.
Each printer has it’s own container with 4 main components:
- Printer ID: This is the unique ID assigned to the printer by OctoPrint or the PrintWatch Client
- Status: The status indicates the state of PrintWatch on the given printer. There are three states:
- ACTIVE: this status indicates that the job is printing or paused and PrintWatch is active.
- TRANSITIONAL: this status indicates that the print job is either beginning, canceled, or finished.
- INACTIVE: this status indicates that PrintWatch is not active on the printer.
- Controls: The buttons control the print job in OctoPrint. If a job is currently printing and PrintWatch is active, the command will be received by the printer in the next inference cycle. It may take additional time for the printer to execute the command once received. If a print job is paused, the heartbeat communication cycle is set to 30 seconds and this is how long it will take for the printer to receive the command.
- Preview: The preview defaults to a black background with white text displaying “No Preview” when the printer is not active or if printwatch is not actively monitoring. The preview auto-updates at the inference cycle used by PrintWatch. Depending on the user’s network latency, this cycle will typically range from 10-20 seconds.