I have been trying to post on Reddit to find an answer but without any luck… I have an Ender 3 S1 Pro, and I would like to use the laser module that comes with it without having to reflash to the original firmware every time. I want to use Klipper instead. Does anyone have an idea of how I can achieve this?
So what I want to achieve are two things:
Apply the branch @Cirromulus has developed to speed things up
So basically, for my PR, you first get the code changes in your local repository: git fetch kevin pull/4128/head:pwm_sync_channel.
Then, to actually apply this branch, type git checkout pwm_sync_channel. (In doubt, to revert to kevin’s main branch, type git checkout master).
To apply, restart the klipper service: sudo systemctl restart klipper.service (assuming you use the systemd service).
As I don’t have your printer, I don’t know the pinout of the laser’s PWM input.
How is the pin called in the original printer’s firmware? You would need to translate that.
That was me, the weird thing is i can’t control the laser with PC0 which is the pin according to Marlin config. I tried all values from 0-255, its always off. I even tried configuring PC0 as a fan and setting the fan speed from GUI, still no output. Works fine with stock Marlin
Ok, do you find a Mosfet or something for the “24V in 24V out” (probably GND and VCC)?
Maybe they have a different pin that enables GND and/or VCC to the connector.
I can’t read chinese, but I do not find hints on a software-enabled switch (Probably most interesting area: Ender-3S1/spindle_laser.h at main · CrealityOfficial/Ender-3S1 · GitHub)
Reading that, I suppose a hardware-solution.
But in any case, it says that the Laser is active low, as expected.
I can confirm the pin is PC0. The worse is, there seems to be a design bug, i had used the laser a few hours. Not with kipper, because i was not able to run klipper without the hotend/extruder, maybe someone can help me out here.
I was using the stock firmware, it’s very buggy, it can turn the laser on unexpected, for example during Z axis tune (focus). Be carefull. Stock commands are M3 (0-1000) and M5. Also M3 I S0 is fine and inline S works.
The problem is my PWM pin stopped working. It seems to be connected directly from the STM from the PC0 pin via 32 Ohm R243 resisor to the PWM pin. It’s late today, but tomorrow i will try to run the board on the desk and measure if the STM pin PC0 is alive.
I am back at stock for engraving. Was not able to configure klipper without hotend temperature sensor, and can not connect this when in engraving mode because the extruder is removed then.
Thanks for the info although I am surprised no one managed to get iz going with Klipper since it is a paint to revert back and forth with stock fw and it is kind of hard for me to let go of Klipper and ali things that it brings.
That is true. I even can’t find information how to run klipper without the printhead (without hotend temperature sensor). Possible the development and discussion is somewhere else, discord or any other platform, I dont know.