The 3D Chameleon was designed to be universal, so it simply uses a switch or digital I/O pin to activate it. Klipper is capable of driving a digital pin, so it's pretty easy to integrate it with it.
The basics are simple... the M42 command is used to toggle an I/O pin and G4 is used to determine the pause length.
So, our a command sequence of:
M42 P17 S0 ; set pin 17 to low
M42 P17 S1 ; set pin 17 to high
G0 P400 ; wait 400 ms
M32 P17 S0; return pin 17 to low
Will cause the 3D Chameleon to move to unload the current color and switch to color 1 if you're using the digital I/O method.
If you're using the button press, you simply replace the M42 commands with the appropriate G0 commands to move to the holding location, move to engage the button, and move away from the button after your desired delay.
Bill
For the Ender 3 S1 / S1 Pro, it looks like the following pins might work. I'm still trying to understand if I need to use a relay to isolate the printer from the 3dChameleon or something simliar. I'm also concerned will the voltages match between the two.
Based on the klipper config that's included with the Sonic Pad, PA15 is the unused z end stop signal pin.
Based on this website (https://support.th3dstudio.com/helpcenter/ezneo-creality-v2451_301-ender-3-s1-board-setup/) PA13 and PA14 might be available on a programming header (see link for location).
Like
Unknown member
2d
Replying to
Mine wasn't on an ender but I did get it working first on an MKS Gen L V1.0 with it directly connected. Since then I upgraded to an MKS Robin Nano V3.1 and used this relay: https://a.co/52l0ZRd
I changed to the relay so that there would be no issues with different grounds and voltage levels. This way it looks just like the switch to the Chameleon board. It also gives a satisfying click when it is activating.
Make sure when you setup the pin in Klipper that it is set to '1' at startup since that matches the unpressed switch state (assuming you wire the relay the same way as the switch).
The 3D Chameleon was designed to be universal, so it simply uses a switch or digital I/O pin to activate it. Klipper is capable of driving a digital pin, so it's pretty easy to integrate it with it. The basics are simple... the M42 command is used to toggle an I/O pin and G4 is used to determine the pause length. So, our a command sequence of:
M42 P17 S0 ; set pin 17 to low M42 P17 S1 ; set pin 17 to high G0 P400 ; wait 400 ms
M32 P17 S0; return pin 17 to low Will cause the 3D Chameleon to move to unload the current color and switch to color 1 if you're using the digital I/O method. If you're using the button press, you simply replace the M42 commands with the appropriate G0 commands to move to the holding location, move to engage the button, and move away from the button after your desired delay. Bill