Software & Hardware to do multi color printing with Sharpies

Sakati84, updated 🕥 2023-02-07 06:43:56

3D Print Colorizer is a combination of 3D printed parts and a Cura plugin which allows anyone with an Ender 3 or BLTouch-compatible printer (no CoreXY for now) to produce multi colored models. Have a look at some results:

Release Notes

  • 2021-08-06 Fixed issue with some T-Commands still being in the G-Code as reported by Teaching Tech.
  • 2021-08-05 Added big compatibility update. Added parts to mount to nearly any BLTouch-compatible Printer (no CoreXY for now).

How it works

3D Print Colorizer uses Sharpie or Sharpie-like permanent markers to directly paint on the layers of a 3D print. After a layer is finished printing normally a pen holder, which is mounted to the print head, is used to fetch pens from a special pen rack mounted to the top part of the printer. Normal printing and painting is used alternately to produce a final colored model.

To coordinate the process a special Cura plugin is used to add the painting G-Code. After installing the plugin you need to enter some calibration values and afterwards models sliced for an Multi Extrusion printer can be printed on an Ender 3 with full color support.

YouTube link


You can watch this video for a quick overview of the setup process:
YouTube link

Detailed installation instruction are given in the Wiki. Please follow each step to complete the installation and get ready for mutli color printing.

PLEASE don´t forget to:
+ Use transparent filament. No white filament! + Tune your Z-Axis. + Use the provided Cura profile as a starting point and don´t increase the speeds before you know what you are doing.

1. Hardware Setup

2. Materials needed

3. Calibration

4. Software Setup

5. Printing

If you want you can:

Buy Me A Coffee


Flat Surfaces Between Virtual Extruders Do Not Bond

opened on 2023-02-07 05:25:17 by fnorbenden

Since the plugin paints the exterior 2 walls of every surface, a flat surface shared by two colorized objects will not adhere properly and the print will either be unstable or fall apart.

Expected behavior: 3 stacked colored cubes will have a continuous infill from the base to the top layer Current behavior: the printer will print 3 discrete colored cubes stacked on top of each other, with infill broken by 4 colorized layers between each cube.

As with the last issue, I understand that this project is defunct, so I am opening this issue in the hopes that I or someone else can figure out an elegant solution and use this issue to link a relevant pull request.

My first thought is to make a look-ahead for "SKIN" blocks and compare T values, then exclude those blocks from painting in the same way FILL blocks are excluded, but this would cause problems when one sub-object's skin is partially above another's.

The repo's wiki seems to use spaces and periods as it's only punctuation and has some spelling errors

opened on 2022-04-18 11:23:08 by Nathan22211

I'm trying to fix it by writing a wiki myself but you can't PR those, unfortunately. You can clone it on my fork with this link:

Mind you I'm not done and my formatting isn't the best. My writing style is also a lot different from whoever wrote the current wiki.

Suggestion: Spacer bars that can be printed to raise the top bar.

opened on 2022-03-04 14:26:34 by Nathan22211

This way the markers can be grabbed, but you can still print at their full height. Should fix issues with some direct drives as well

Suggestion: have a double sided holder for 12 markers

opened on 2022-03-04 14:23:00 by Nathan22211

This should be doable on most gantry printers, as that's usually in the middle of the printer, but this will require calibration for the other side with a Y cord for both.

Not fetching marker

opened on 2022-03-03 02:33:39 by GoldenSnitch42

I'm new to 3D printing so I apologize if I'm making a newbie mistake. I'm using the stock firmware on my Ender 3 v2. I've followed the instructions as closely as I could and I think I have everything setup correctly.

I did the Cura setup and sliced the multicolor parrot linked in the instructions after assigning the parts to the 4 extruders.

When I print I get the first layer or so down and the printing pauses for a few seconds without moving the head and then it continues to print. If I let it go this happens several more times. I've let it print a couple of millimeters but as it never attempted to pickup a marker I stopped it. I'm assuming that at those pauses it's supposed to go get the marker and then do the coloring.

I've setup OctoPrint and have attempted the same print from it and I get many error messages all something like "Not queuing T0, that tool doesn't exist according to the printer profile or was reported as invalid by the firmware. Make sure your printer profile is set up correctly." Sometimes its for T1 or T2 as well.

Should this work with the stock Creality firmware (1.0.2) or do I need to build and flash my own Marlin firmware?

Any other suggestions for getting this to work?

Printer don't extrude

opened on 2022-02-05 18:15:24 by valle12345

I need Help. My Cr-10-V3 sets the Temperature at beginning to 150 and don't extrude. This behavior doesn't change in the whole print. The Printer do the right movement.

This is the G-Code i'm using CFFFP_pikachu_dual_details.txt


Version 1.0 2021-08-06 19:00:40

First Release of 3DPrintColorizer. Please have a look at the Wiki for instruction on how to install and use this!