---
tag: m0003
title: Spindle CW / Laser On
brief: Set the spindle CW speed or laser power
author: thinkyhead
contrib: shitcreek

since: 1.1.2
requires: SPINDLE_LASER_ENABLE
related: [ M4, M5 ]
group: control

codes: [ M3 ]

notes:
  - 'S is interpeted as the configured value range: PWM (default), Percentage, or RPM. (See `CUTTER_POWER_UNIT`)'
  - "[`M3`](/docs/gcode/M003.html) and [`M4`](/docs/gcode/M004.html) aren't needed with `LASER_POWER_INLINE` and `LASER_MOVE_POWER` enabled. Power is set directly in [`G1`](/docs/gcode/G000-G001.html)…[`G5`](/docs/gcode/G005.html)"

parameters:
  -
    tag: S
    optional: true
    description: Spindle speed or laser power in the configured value range (see `CUTTER_POWER_DISPLAY`). (PWM 0-255 by default)
    values:
      -
        tag: power
        type: byte
  -
    tag: O
    optional: true
    description: Spindle speed or laser power in PWM 0-255 value range
    values:
      -
        tag: power
        type: byte
  -
    tag: I
    optional: true
    description: Inline mode ON / OFF.
    values:
      -
        tag: mode
        type: bool

examples:
  -
    pre: Set spindle rotation clockwise at 50% with `CUTTER_POWER_UNIT` set to `PERCENT`
    code: M3 S50
  -
    pre: Set spindle rotation clockwise at 6K RPM with `CUTTER_POWER_UNIT` set to `RPM`
    code: M3 S5000
  -
    pre: Set laser power to 50% in PWM
    code: M3 O128
  -
    pre: Turn on the laser at full / `SPEED_POWER_STARTUP` power
    code: M3
  -
    pre: Fire laser at 80% on next G1,G2 and G3 move
    code: M3 S204 I
---

Wait for moves to complete, then set the spindle speed (clockwise) or laser power.
