---
tag: m0208
title: Firmware Recover
brief: Firmware-retraction recover settings.
author: thinkyhead

requires: FWRETRACT
group: motion

codes: [ M208 ]

notes:
  - Requires `FWRETRACT`.
  - See related codes [`G10`](/docs/gcode/G010.html), [`G11`](/docs/gcode/G010.html), [`M207`](/docs/gcode/M207.html), and [`M209`](/docs/gcode/M209.html).

parameters:
  -
    tag: S
    optional: true
    description: Additional recover length. Can be negative to reduce recover length.
    values:
      -
        tag: length
        type: float
  -
    tag: W
    optional: true
    description: Additional recover swap length. Can be negative to reduce the length.
    values:
      -
        tag: length
        type: float
  -
    tag: F
    optional: true
    description: Recover feedrate (units/min)
    values:
      -
        tag: feedrate
        type: float
  -
    tag: R
    optional: true
    description: Swap recover feedrate (units/min)
    values:
      -
        tag: feedrate
        type: float

examples:
  -
    pre: Set recover extra length to 0.2mm and recover feedrate to 10mm/s
    code: M208 S0.2 F600
  -
    pre: Set a retract length of 2mm and *total* recover length of 2.5mm
    code:
      - M207 S2.0  ; 2.0mm retract
      - M208 S0.5  ; 2.0mm + 0.5mm recover


---

Set the added lengths and feedrates for firmware-based retract recovery. The lengths set by [`M208`](/docs/gcode/M208.html) are applied *in addition* to the lengths set by [`M207`](/docs/gcode/M207.html) when un-retracting (aka "recovering") the filament. The new values will apply to all subsequent [`G11`](/docs/gcode/G011.html) commands.

The "swap" values apply to firmware-based recover moves after a tool-change.
