---
tag: m0351
title: Set Microstep Pins
brief: Directly set the micro-stepping pins
author: thinkyhead

requires: HAS_MICROSTEPS
group: control

codes: [ M351 ]

notes:

parameters:
  -
    tag: S
    optional: false
    description: Select the pin to set for all specified axes.
    values:
      -
        tag: 1
        description: Select pin MS1 for all axes being set.
      -
        tag: 2
        description: Select pin MS2 for all axes being set.
  -
    tag: B
    optional: true
    description: Set the MS1/2 pin for the 5th stepper driver.
    values:
      -
        tag: 0
      -
        tag: 1
  -
    tag: X
    optional: true
    description: Set the MS1/2 pin for the X stepper driver.
    values:
      -
        tag: 0
      -
        tag: 1
  -
    tag: Y
    optional: true
    description: Set the MS1/2 pin for the Y stepper driver.
    values:
      -
        tag: 0
      -
        tag: 1
  -
    tag: Z
    optional: true
    description: Set the MS1/2 pin for the Z stepper driver.
    values:
      -
        tag: 0
      -
        tag: 1
  -
    tag: E
    optional: true
    description: Set the MS1/2 pin for the E stepper driver.
    values:
      -
        tag: 0
      -
        tag: 1

examples:
  -
    pre: Set the `X_MS1` pin and clear the `E0_MS1` pin
    code: M351 S1 X1 E0
---

If your board has digital micro-stepping pins (`X_MS1`, `Y_MS1`, etc.), use this command to set the micro-steps.

At the time of this writing, the only boards which have digital micro-stepping pins are:

- MINIRAMBO
- RAMBO
- SCOOVO_X9H
- MKS_BASE_common
- ALLIGATOR_R2
- ARCHIM1
- PRINTRBOARD_G2
- 5DPRINT
