I have an Ender 3 with a 4.2.7 Board running Klipper firmware and wanted to enable the Buzzer. After some looking around I found the sample-macros.cfg and PDF schematics for both 4.2.2 and 4.2.7. Using these two things I was able to make the M300 gcode command trigger the Buzzer in the LCD panel.
######################################################################
# Beeper
######################################################################
# M300 : Play tone. Beeper support, as commonly found on usual LCD
# displays (i.e. RepRapDiscount 2004 Smart Controller, RepRapDiscount
# 12864 Full Graphic). This defines a custom I/O pin and a custom
# GCODE macro. Usage:
# M300 [P<ms>] [S<Hz>]
# P is the tone duration, S the tone frequency.
# The frequency won't be pitch perfect.
[output_pin BEEPER_pin]
pin: PC6
# Beeper pin. This parameter must be provided.
# ar37 is the default RAMPS/MKS pin.
pwm: True
# A piezo beeper needs a PWM signal, a DC buzzer doesn't.
value: 0
# Silent at power on, set to 1 if active low.
shutdown_value: 0
# Disable at emergency shutdown (no PWM would be available anyway).
cycle_time: 0.001
# Default PWM frequency : 0.001 = 1ms will give a tone of 1kHz
# Although not pitch perfect.
[gcode_macro M300]
gcode:
# Use a default 1kHz tone if S is omitted.
{% set S = params.S|default(1000)|int %}
# Use a 10ms duration is P is omitted.
{% set P = params.P|default(100)|int %}
SET_PIN PIN=BEEPER_pin VALUE=0.5 CYCLE_TIME={ 1.0/S if S > 0 else 1 }
G4 P{P}
SET_PIN PIN=BEEPER_pin VALUE=0
To check that it is working, send M300 S440 P200
to your printer and it should beep. You can learn more here.
The only thing you need to change from the sample-macros.cfg section is the pin. Under [output_pin BEEPER_pin]
you set pin:PC6
. That is it.
Seems simple but I couldn't find anything online about it so I thought I would share. Hope this helps someone or me in the future at least.
Top comments (2)
PC6
did not work for me.Following the schematic and traces, I had success with
PB13
that leads toBeep
on the LCD Port.I can only get a singular tone from it though. It doesn't seem to be doing pwm correctly, or the beeper cannot do pwm at all.
Thanks!!!
Era justo lo que estaba buscando. Me he registrado porque te tenia que dar las gracias SI o SI. :)
It was just what I was looking for. I have registered because I had to thank you YES or YES. :)