Introduction: Dual or Multi Color 3D Printing With Single Extruder

After using RepRap 3d printers for while, I thought that single color printing is getting a bit boring.

Of course you can hand print or do airbrush painting, but it takes longer and requires more equipments.

So I figured that there are several methods to print with multicolor plastics with a single extruder and no additional hardware.

Two of them are already listed in Instructables:

And if you are using Marlin Firmware in your printer, it's pretty easy!

I will show two methods to do it. So let's go!

Step 1: Preparing Your 3d Model to Be Printed

Step 2: Method I: Print It. Be Aware to Hit "Change Filament" Option.

This method is pretty easy for the Printers that use the Marlin Firmware.

During the print, you will need to hit the knob on the LCD to access the Printer Menu.

The options available will be:

> Info Screen
> Tune
> Control
>Pause print

Choose "Tune". And on the next menu, scroll down till "Change Filament". But be carefull, press Change Filament only when your printer reaches the last layer before the filament exchange.

It can sound difficult, but it's all about timing and practicing.

Once you pressed "Change Filament" your print will pause, the print head will move away from your print and it will push out the old filament. After pushing out, your printer will beep non-stop. It's kind of annoying. So hurry up and change the filament spool.

Extra hint: try to extrude manually a little of your new filament so it can remove the color of you previous filament from the hotend.

If everything is in place, press your LCD button again. And the printer will extrude a little of the new filament (so, wipe that away with a plier quickly) and enjoy the beauty of printing a two-color model with only one extruder.

Step 3: Method II: Editing Gcode Before Printing

If you are just starting in the 3d printing world, this method can be a litle frightening, but I guarantee that there is nothing to be afraid of.

I personally like this second method much more than the previous one.
It's precise and allows you to sit and watch TV untill your printer beeps.

So let's go!

For this method, there are two important informations you will need to look for on your slicer program.

First: Z offset, if you are using Slic3r to slice your object you can find this information on: Printer Settings > General.
Just write the number down.

Second: the layer high for the filament change. If you are using Slic3r, you will need to choose: Plater on the upper ribbon and "Preview" on the lower ribbon.

You will able to see your entire model preview. Play a little bit with the z high button to find the first layer with the second color filament. Write that number down also.

Export the gcode normally.

Now sum both numbers:
My example:

Z Offset=0.76mm
Z high of the second color=3.12mm

Sum: 3.88

Open the gcode file with a text editor (notepad or other) and press "Edit" > "Find" or CRTL + F.
Look for ZYOUR_SUM.In my case: Z3.88.

You will find something like this:

G92 E0
G1 Z3.860 F4200.000
G1 Z3.880 F4200.000
G1 Z3.980 F4200.000
G1 X98.189 Y92.990 F4200.000

Just insert the code: M600 in a line before your Z high. Like this:

G92 E0
G1 Z3.860 F4200.000
G1 Z3.880 F4200.000
G1 Z3.980 F4200.000
G1 X98.189 Y92.990 F4200.000

Now save and close the gcode file. Just print this gcode and wait for the printer beep to change the filament.


stechi made it! (author)2016-01-22

Very ineresting!

I don't suppose M600 would be standard on other machines, perhaps?

ldabague made it! (author)ldabague2016-01-25

Hello Stechi, unfortunately I thing that the other firmwares do not support M600 code. As you can check here:

The good news is that Marlin is one of the most used firmwares. Some companies also use a modified version of the marlin and that can make it work.

tomatoskins made it! (author)2016-01-22

Such a cool idea! I just got into 3D printing myself and this is great!