Requires `PINS_DEBUGGING`. This feature should be disabled for production use.
tag
optional
description
values
P
true
Digital Pin Number
tag
type
pin
int
tag
optional
description
W
true
Watch pins
tag
optional
description
values
E
true
Watch endstops
type
bool
tag
optional
description
values
T
true
Toggle pins - see [`M43 T`](/docs/gcode/M043-T.html) for options
tag
optional
description
values
S
true
Test BLTouch type servo probes. Use `P` to specify servo index (0-3). Defaults to 0 if `P` omitted
tag
optional
description
values
I
true
Ignore protection when reporting values
pre
code
Get a report on all pins
M43
pre
code
Get a report on all pins, ignore pin protection list when displaying values
M43 I
pre
code
Watch pin 56 for changes
M43 P56 W
pre
code
Start watching endstops
M43 E1
pre
code
Toggle pins 3-6 five times with 1 second low and 1 second high pulses but only if the pin isn't in the protected list.
M43 T S3 L6 R5 W1000
pre
code
Test probe controlled by servo index 2.
M43 S P2
When setting up or debugging a machine it's useful to know how pins are assigned to functions by the firmware, and to be able to find pins for use with new functions. M43 provides these tools. M43 by itself reports all pin assignments. Use P to specify a single pin. Use I to report the values on pins that are protected. Use W to watch the specified pin, or all pins. Use the E option to monitor endstops. Use S option to test a BLTouch type servo probe. Use T option to toggle pins.
The W watch mode option continues looping, blocking all further commands, until the board is reset. If EMERGENCY_PARSER is enabled, M108 may also be used to exit the watch loop without needing to reset the board.