Palette 2 Uses Machine Learning to Get Better with Every Print

Palette 2 Uses Machine Learning to Get Better with Every Print

Summary: Please follow the instructions on the Palette 2’s screen, and use the provided file for your first print. When you first print this file, it may not be perfectly calibrated. This is because you are teaching your Palette 2. Please try the file again, which should print in calibration, and get your Palette 2 synced up with your printer. When you have successful prints in the future, please rate them 4 or 5 stars, and you will give your Palette 2 more information to base its calibration on. These ratings are to make your printing experience more reliable.

Please read below for the full details.

The full version (we get into the tech below!):

In this post we are going to introduce Palette 2’s first machine learning capabilities and explain how rating your print after the completion of every print will help your Palette 2 adjust to your printer and get better every print.

At Mosaic, we’re striving to create an ecosystem of 3D printing tools to make multi-material printing accessible to anyone. We believe that a connected ecosystem in which the community collaborates, shares, and provides feedback will lead to a better experience for everyone. We are excited to introduce you to the first implementation of machine learning in Palette 2. This post will explain how you can achieve better results, faster — and how you can help the community of Palette 2 users achieve better prints, too.

Setup and Calibration

When you first unbox and set up your Palette 2, its screen will walk you through your first print. For this first print, we ask you to print our 4-color keychain, found here:

The first one you print may have some color bleed and may not be perfect (like the print on the left in both of the photos below). If you rate that print 4 stars and then try again, you will see that your next print will come out perfect. This is due to the machine learning algorithms embedded into Palette 2’s firmware. This means Palette is learning as it prints, and using that information to become more reliable over time.

You can see an example of this in action below. In the photo below, the print on the left was printed first, then the print on the right afterward. Note the grey bleed in the top corner of the first print, and that the color is corrected in the second print on the right.

Mosaic keychain

Note: With this print, the thinnest layer of each color consists of only one top layer in order to create a gradient effect. This is most notable with the yellow, where the upper portions of yellow appear darker. This dark hue is due to the yellow's translucency revealing some of the darker filament below. This effect was designed to mimic our updated logo, where each color portion has different shades and geometries.

How does all this work, and why is it necessary?  

Every printer has unique extrusion characteristics. These characteristics determine how much material moves through the printer’s nozzle when printing with different layer heights, print speeds, and models. Between printers, these characteristics can vary by as much as ~20%.

With Palette and Palette+, the system would calibrate to the printer once and then keep that calibration indefinitely until users tune calibration values. However, these characteristics can change over time.

Palette 2 uses ping and pong data (learn more about this here: to track extrusion characteristics during each print. Palette 2 uses this data to train its machine learning engine. This engine considers data points collected by Palette 2’s high-precision encoder and its other sensors in order to determine a “print value” that the system believes is representative of “typical extrusion”. It will use this “print value” as a reference point for future prints.

Here’s where the rating system comes in: Palette 2 needs your help to determine the results of the print to help it make the best decisions. We don’t want Palette 2 to save the results from a print that turned out poorly—either due to skipping, clogging, or other issues.

How can you help Palette 2 train itself?

When a print completes, Palette 2’s screen will ask you how your print went (out of five stars).

If you rate your print 1, 2, or 3 stars, Palette 2 will know that something was not right and that it should ignore the data gathered from the print it just completed.

If you rate your print 4 or 5 stars, Palette will use extrusion data from this print to determine and/or tune an “historical modifier” to set your next print up for success. You can see this historical modifier for each of your printers under the Palette 2’s preferences menu. Please note: This rating system has changed to a simple 'Save/No Save' option since firmware V2.0.2.

What if I use my Palette with several different printers?

Palette 2 will track a unique historical modifier for each printer that you use Palette with. This means that we would recommend completing the first print on each Palette & Printer combination, and ensuring you create profiles in CANVAS for each of your different Palette/Printer pairings.

CANVAS will embed a ‘key’ into your Palette 2 files (.maf/.mcf files), telling Palette which historical modifier it should use. If the Palette does not have that historical modifier on its internal storage, it will create a new profile and use the first print you complete as the baseline print, and use that print’s results (if marked 4 or 5 stars) as the historical modifier.

What does a 4- or  5-star print look like?

When you are rating your print, it would be best if you focused your rating on how Palette performed. Was the color in the right spot? Were there minimal color streaks or color bleed on your part?

If so, a 4- or 5-star rating will be ideal as Palette will take the new data from your successful print and use it to train its historical modifier.

If your print had poor color calibration and/or extrusion issues that led to a poor print, then a 1- to 3-star rating will help avoid feeding bad information back to your Palette.

Below are some example photos of prints from our testing phases, and how we would recommend rating each one:

5-star prints

These would both be 5-star prints: the color calibration is perfect; there is no “color bleed” nor any extrusion issues.

2-star prints

These would both be 2-star prints: you can see that there is significant calibration and bleeding issues throughout the print. This means that the calculations and information P2 was using was not accurate, and should not be saved.

4-star printsThese are examples of 4-star prints. You will notice a few streaks in each one - these are due to ping detection errors, as opposed to calibration errors. We’re working on further improving algorithms for ping detection for Accessory Mode (no CANVAS Hub). When using a CANVAS Hub, there should be no streaks with reliable printers. For Palette 2 training purposes, these prints are considered 4 stars.

If you ever want to set these historical modifiers back to factory defaults, you can reset any printer’s modifiers by selecting it under your Palette 2’s preferences menu.

Using machine learning to optimize this historical modifier is the first step in a plan to use your feedback and the collective experiences of thousands of users to create better print profiles, user flows, and performance — among many other areas.