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

group: control
requires: HAS_MICROSTEPS

codes: [ M351 ]
related: [ M350 ]

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

example:
- 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
