3d Chameleon - up to 4 color/material printing with Single Extruder

It’s been a while since my last post here, and it’s been a while since I’ve touched the 3dChameleon project. Uploading everything I have - maybe community will pick this up and make it polished and finished.

I’ve got multiple successful prints with this code/setup. Description leaving to minimum - don’t want to waste time if there is no interest in the community. More you comment/ask questions, more time I will dedicate to this.

3D Chameleon is an amazing tool.

Follow this link for the repo with G-Code and description - GitHub - shurushetr/3DChameleon_Snapmaker_2.0: This repository holds G-Code developed to adopt 3DChameleon MK3 version with Snapmaker 2.0

4 Likes

Really interested but unfortunately it’s not that easy to print 4 filaments, I guess.

Do we need to print gcodes from the 3dchameleon machine? (I think so but hoping it’s possible from the touchscreen…)

Its actually pretty easy, custom g-code that plugs into prusaslicer, takes care of everything.

3dchameleon is just two step motors that are controlled by single controller with a momentary switch as input device. At least MK3 version of it.

There is nothing too complex about implementing it. People install 3d chameleon even on bambulab…

I am definitely interested in more information. Looking at the Chameleon website, if I get one now, it will be a Mk4 so I would need to figure out the changes.

Thank you for starting this.

I thought about printing difficulties, not the device itself :wink:.

Its like a octopi and the gcode has to be executed on the controller of 3dchameleon?

I upgraded mine yesterday, and it seems like it should just work with current code. Basic functionality is the same. Hit me up with questions so I can expand the documentation for everyone.

No, 3DChameleon doesn’t see any G-Code. All it has as an input is the switch, that is triggered by a 3d printer. The switch can be installed at any axis, and then moving the axis to trigger the switch is how you control the color change.
Engage the switch for 5 sec - load color red.
Engage the switch for 3 sec - load color blue.
Timing in the example is not accurate but this is how it works. Very simple. So the custom G-Code goes into PrusaSlicer and plugs into the final sliced gcode that gets shipped to printer for execution.

1 Like

Thank you for clarification.
Do you know a alternative ordering way than from 3dchameleon or a part list? 55$ for shipping is a bit high…

I don’t think they have other options for sale.
International is pricey there for some reason, I can check how much it is to ship something from me to your country if you’d like. Or you could probably use a mail forwarder and consolidate packages to save a ton on shipping if ordering something else. I used to use them all the time.

Unfortunately, you can’t save money together either. Each additional part also means €50 more shipping.
Shipping for 3 items is 157€… :man_shrugging:t3:

I’m pretty sure if you reach out to Bill - bill@3dchameleon.com - he will be able to assist with combining the shipment.

But when I mentioned the Mail forwarders - they specialize on combining packages in one to ship overseas to save on weight.

One of them that I used before - Shipito | Shop In The US & Ship Anywhere | Free US Address

1 Like

Is this gcode inclusive of your own tip shaping set-up and testing in prusaslicer? Curious if that clogged more than reasonable given how other MMU systems have had that issue.

I’m still gathering my workshop together but this is my first project once it’s functional to work in.

I’m also thinking the 3DKlippy mods might be easy to adapt for the print module but have not looked into it too much, yet. Leaking roofs come first.

In terms of tip shaping settings that could just be a part of the workflow. Do your own tip shaping configs in prusaslicer and then copy and paste that over each section of your gcode.

Yes and I never had a clog.

3DKlippy could be a solution to tip shaping, but I didn’t have space for it in my enclosure.

The tip shaping is part of the tool change g-code, comments are extensive in the code to help people understand it better and me to remember what’s up :slight_smile:

1 Like

Roger all that! I like your 4-1 bowden design and will stick with it to start and then try the default autoclippy later. I have the mk4 and I think that adoption is easier if autocutting is included as part of any guide. Same for the OLED add-on. Both seem like Snapmaker usertype essentials in the long run.

New workshop area almost ready to go. Still need to add 200-400W more worth of solar panels and a bunch of batteries but I’ll have enough for the next few months to do experiments and tests and such.

1 Like

Pretty happy i got my chameleon, now setting up prusa and i hope to get my first print this weekend. :grin:

Oh nice!
How did you end up getting it?

I ordered it on their homepage not further thinking about the costs…

Are you actively printing with your 3dChameleon setup?

I struggle a bit in the tool change process in my dual extruder setup…

Maybe i do not understand correctly but i don´t see the “unloading” and “loading” move, or its only one 8.5sec move there where the endstop is not triggered.

So i am figuring around… Any thoughts?
Btw, thank you for sharing your codes, this is very helpfull to start with!

1 Like

I would be delighted to read a review from you.
Would it be possible to use the Chameleon on each side of the dual head, or is the software limited or is there not enough space?

There is no dedicated “loading” or “unloading” move. There are only Load T0 to Tn moves, or home move (load T0) etc.
Here is the full logic of operation from here - https://www.3dchameleon.com/mk3-mode-3-gcode-generator

The commands are as follows.

1st Pulse - Switch to tool T0 (filament 1), unloads previous filament if necessary
2nd Pulse - Switch to tool T1 (filament 2), unloads previous filament if necessary 
3rd Pulse - Switch to tool T2 (filament 3), unloads previous filament if necessary
4th Pulse - Switch to tool T3 (filament 4), unloads previous filament if necessary


5th Pulse - Home and load T0 - can be used in Start GCode to load the first filament
6th Pulse - Unload current filament - can be used in the End GCode to unload the last used filament
7th Pulse - Home Only (no filament movements)

 

8th Pulse - Move to "Next" Filament

9th Pulse - Move to "Random" Filament

So my code - is just time of touching the trigger… If that makes sense.

Software is limited by your imagination. You can even link up to 16 (if i remember right) 3d chameleons on each extruder and get 32 colors.