All about Splicing: New Sensor and Measurement Approach

Okay team!

Lots of incredible stuff has happened in the office over the past couple weeks; we have quite a bit to catch up on.

We called an all-hands meeting two weeks ago and got the entire team together. If you’ve been keeping up with our blogs (Drives Pt. 1, Drives Pt. 2), you’ll know that we’ve been making Palettes, but too few of them were passing our QC tests without substantial time required to tune and fix issues. We were having issues with jamming splices (too large for some printers), as well as Palettes not picking up pings reliably, which is throwing calibration off.

We broke these issues down into three main buckets, stopped everything else we were working on, broke into three teams, and have been 100% focused on solving these issues. It’s been incredible to have a great group of people working to solve these final issues, and we’ve made some really exciting, impactful discoveries.

We’ve spoken about this before, but Palette has two main jobs.

1) Repeatedly and reliably creating a single filament from multiple inputs

2) Ensuring the right segment of filament shows up to the end of the nozzle at the right time

To tackle goal 1 (making filament), we broke into two teams: Drives, and Splicing. For goal 2 (timing), we created a Calibration team to dig into pinging, ponging and corrective action. We’re going to cover splices and drives in this post, and leave calibration for next time.

Without further ado…


Something important to understand with splicing is that we’re not working to get from 0 to 1 – we’re looking to move from 95 to 100. We’ve created thousands of splices from Palettes before and fed them through printers with no issues. However, moving into production means that not just one Palette needs to work – all of them do.

We believed everything would function reliably when put together, but as you may have seen in our last posts, this was not always the case. We’re at the point where we’re often dealing with very tight tolerances, which has led us to go back and question some of our original assumptions.

Splicing is an incredibly precise science where we look to understand and control as many applicable variables as possible. We were having issues with splices falling out of spec: bulges (too large), gaps (too small). We also encountered tool buildup on our hot tool. All of these issues are pictured below:

What can happen when two drives don’t match up perfectly (top), compared to what we want splices to look like (bottom).

A bulging splice: you can see on the right side (clear) where compression folded and bulged the filament.

Tool buildup occurring after a few hundred splices – this buildup can cause issues over time, and has been one of the focuses in our investigation.

We’d like to focus on a few main areas in splicing, share what we’ve learned, and how we’re using these lessons to make your Palette perform better, and allow more Palettes to pass our QC processes.

How Splicing Works

When a splice is about to occur, Palette will drive a piece of filament through to its outgoing drive, use the cutter module to rotate and cut the filament, and will then position this filament to be joined with the next filament (Picture 1 Below). Then, a second filament will be pushed forward behind the first filament, and the two will be matched up right before the splicing region (Picture 2 Below).

Here you see the leading filament (blue) positioning itself for a splice.

Here you can see the second filament (pink) being aligned against the end of the first filament (blue).


A little while ago we investigated the friction points in Palette, and where filament experienced the most amount of resistance. This information is important to understand, as irregular amounts of friction decrease the consistency and predictability of how far filament will drive. For Palette’s systems, predictability and consistency are essential, because fractions of a millimeter in aligning filament can ruin splices (by causing bulges and gaps).

The highest point of friction in Palette is, by far, the merger. See the graph below for the full breakdown:

The “Merger” is the spike in this graph, where the highest amount of friction occurs.

We believe this friction was causing small skips, sometimes leading to misaligned filament, and poor splices.

Unpredictable Movement

The cutter is a known position that we have been using to “reset” the filament before every splice. We know the distance from the cutter to the splicer, so it seems logical to use this point as the “home” position for the ends of each filament.

But we discovered something surprising when the filament is cut…. it moves. The filament is either pulled forward toward the outgoing drive, or pushed backward toward the ingoing drive.

Before the filament is cut, there may be tension or compression along its length. These forces are due to marginal differences in the size/spacing of ingoing and outgoing drives. The forces are relieved when the filament is cut, which causes the movement forward or backward. This then causes the filament to not be located where Palette thinks it is.

Errors like this would cause Palette to no longer understand true filament position - it has never been clearer how significant this problem was.

See the visual below:

In this picture you can see the filament just before being cut.

Immediately after a cut. Notice how the filament tension pulls the leading piece of filament forward, causing a slight change in the location.

This small amount of movement would not always cause problems; however, we do believe that when compounded with other potential inaccuracies (such as the friction in the merger) this movement could result in the gaps pictured above.

Opto to Cutter

Opto to Cutter is a distance set during calibration, and is used as an average of the four drives. The variance between the four drives is usually less than 75 steps (~0.75mm), which although small could present complications.


Opto to Cutter is the amount an ingoing filament must be driven once cut to trigger the opto sensor (pictured above)

We believe that (1) variance in Opto to Cutter, (2) friction through Palette, and (3) the tension/compression displayed when a filament is cut, together caused occasional filament misalignment before splices, which resulted in less-than-optimal reliability on some Palettes.

So… how can we fix issues on both ends of the spectrum (large and small), without changing anything to the hardware?

It just so happens that we have a sensor after the highest friction point in Palette, after the point where we are losing filament location from tension/compression release, and just before the splicing region.

The Opto

We made a firmware change that we refer to as “Opto Homing,” which basically means homing both filaments (leading and following) before every splice, using the circled optical sensor above.

This change is somewhat similar to a printer homing its X and Y axes before every layer change, to ensure it’s continually printing in the correct location.

By homing the filaments with the Opto before every splice, we’re able to understand the filaments’ true locations – literally right next to where they will be spliced.

The most evident example of the improvements from “Opto Homing” is the picture from the beginning of this blog:

A Palette was giving poor splices (top) when using two specific drives (2 and 4). When we saw this, we saw the perfect opportunity to test Opto homing. We loaded up new firmware, ran the file again, and repeatable, perfect splices emerged from the two drives. This homing means that we’re able to splice filaments much more accurately, time after time. We’ve taken a few Palettes off of our failed QC shelf, loaded the Opto homing firmware, and have seen some really promising results.

We decided to make a bunch of splices (1000 on one Palette, and 500 a few other ones), and feed them into a printer for a layered print. Check out a few of the pictures below, featuring over 1300 splices that have been fed through our Rep 2s.

Over 1300 Splices printed in this picture, plus 800 more spooled in the back.

Close-up of one of the Castle prints!

Close-up of the layered Rose!

Now, we’re not fully out of the woods yet. We’re working through some bugs with our Opto homing firmware, but we’ve made a huge amount of progress over the past two weeks.

We are confident that Opto homing will increase the quality and reliability of every Palette’s splices substantially. Now, we’re investigating the causes of tool buildup, which can cause jammed splices in the Teflon channel inside the Palette.

Just a teaser, but here’s some of the tool buildup results we’ve seen with different temperatures of splices, over a period of 500 splices.


We’ve put a hold on shipping products for the moment in order to focus on the issues listed above. But, with that being said, we have continued to assemble as many Palettes as possible, and to get them as far along as we can.

To put a wrench in our plans, our laser cutter decided to go down two weeks back. We’re in the process of procuring a new laser tube from the manufacturer; hopefully we’ll be up and running in a few days from the posting of this blog.

We’ve been focusing on populating sub-structures, assembling hot tools and cold splicing areas, as well as building electronics sub-assemblies. You can see in the pictures below, we’ve made quite a bit of progress in this area:

A small selection of in progress sub-assemblies

More half-built Palettes, as well as a number of electronics trays. The trays are in the grey bags, both on the mid/bottom shelves, and the brown boxes in the background

Our philosophy here is to get as many Palettes as far as possible, with as little risk as possible, so that when we do get past the remaining QC hurdles we’re ready to exceed our projected productions rate for the rest of this campaign’s units.

Delivery Timelines

To give you an idea of our current stock:

Assembled/Failed QC Palettes: 39

Awaiting QC Testing: 14

Awaiting Ingoing Drives: 18

Awaiting Cutter/Drives/Electronics: 119

Total In Progress: 190

One of the biggest critical path issues has been our laser cutter bring down. This has slowed production in certain areas, and is the main reason for the 119 Palettes waiting at the Cutter/Drives/Electronics stage. Because of this, we’ve been able to focus on other areas, notably the electronics trays, to build up stock in what we have. This approach is going to allow us to start moving much quicker once our laser cutter gets back up and running (later this week) and once we give the go-ahead on the QC side.

We believe shipping will resume around the end of this month, and given the upfront work we’re doing with production, we should be able to move around 100-150 per month once we get through our testing/confirmation phases.

This puts delivery as happening in July and August for this campaign. Please understand that this is still a projection, as the final go-ahead has not been given (more testing needed before we can say we’ve gotten over our QC hurdles), but we’ve made a huge amount of progress in the past two weeks.

We’ve also been working on vastly improved ping detection algorithms and a more precise correction algorithm to increase the reliability of Palette’s closed-loop feedback system. Some of our early backers were having issues picking up pings, and we believe we found a better weighting system for corrective action – but this is a whole post on its own.

We do want to give you a sneak peek into what’s happening on this front though – check out the picture below:

The head is 300+ splices, and the blue/white cube and the rook are both around 55 meters each. More to come on this in our next post…

We’re planning another blog post for around 3 weeks from now. We want to be sure we keep you guys in the loop with what’s happening with your Palettes, and continue to update delivery timelines. All of the work we’re doing is to allow us to ship a higher volume of units once we get past these final obstacles.

Thank you all for sticking with us through these last few steps; we’re getting closer every day.

As always, please let us know if you have any questions. More than happy to give out additional information to help fill in any gaps that may be present.