M43 - Debug Pins


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.

See M43 T for Pins Debugging toggle options.


Requires PINS_DEBUGGING. This feature should be disabled for production use.


M43 [E<bool>] [I] [P<pin>] [S] [T] [W]

Watch endstops


Ignore protection when reporting values


Digital Pin Number


Test BLTouch type servo probes. Use P to specify servo index (0-3). Defaults to 0 if P omitted


Toggle pins - see M43 T for options


Watch pins


Get a report on all pins


Get a report on all pins, ignore pin protection list when displaying values

M43 I

Watch pin 56 for changes

M43 P56 W

Start watching endstops

M43 E1

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

Test probe controlled by servo index 2.

M43 S P2