# CR-X Mechanical / Thermal / Extrusion Self-Test Non-printing G-code to exercise every subsystem of a **Creality CR-X** before running OrcaSlicer calibrations. Run via **OctoPrint** (upload, then print the file — nothing is deposited on the bed). ## Files | File | What it does | Heating? | Extrudes? | |------|--------------|----------|-----------| | `CR-X_selftest_cold_motion_only.gcode` | Homing, X/Y/Z travel, diagonals, corners, speed range | No | No | | `CR-X_selftest_full.gcode` | Everything above **plus** bed heat, hotend heat, fan ramp, extrude/retract | Yes | Yes | **Run the cold one first.** If motion is clean and quiet, run the full test. ## Before you start - **Stay with the printer** the whole time. Keep the power switch / e-stop in reach. - For the **full** test, **load filament** first (the extrude stage feeds ~90 mm total). ABS or any filament is fine — nothing is printed. - Clear the bed and gantry of tools/clips. ## Assumptions (edit if yours differ) - Build volume **300 × 300 × 400 mm**. All moves keep a **5 mm margin** from each axis limit and **20 mm** off Z-max. - Bed heated to **100 °C** (CR-X rated ≤100 °C). - Hotend heated to **230 °C** only — safe for the stock **PTFE-lined** hotend and hot enough to extrude ABS without grinding. Cold extrusion is never commanded. - Bowden retraction test uses **6 mm**. If your CR-X has a filament runout sensor that halts on the extrude test, disable it for the run or ignore the trigger. (The `M runout ignore` line in the full file is a comment placeholder, not a command — remove it if your firmware flags unknown lines; most Marlin builds just skip it.) ## What each stage checks (watch the LCD `M117` messages) 1. **Homing** — endstops seek/back-off/re-tap. Listen for grinding or a crash. 2. **X / Y sweeps** — full-width and full-depth travel, belts smooth. 3. **Z sweep** — **both lead screws must turn together**; gantry stays level. 4. **Diagonals + corners** — combined XY motion, no binding. 5. **Speed check** — fast then slow moves; listen for chatter/resonance. 6. **Bed heat 100 °C** — smooth climb on the OctoPrint graph = good thermistor/heater. 7. **Hotend heat 230 °C** — same, no wild swings (that would mean a PID/thermistor issue). 8. **Fan ramp 50 % → 100 % → off** — part-cooling fan spins clean, no bearing rattle. 9. **Extrude/retract** — steady flow, no clicking or skipping on the Bowden gears; the 6 mm retract should visibly pull back. 10. **Cool down + park** — heaters off, gantry dropped, bed presented, steppers disabled. ## If something fails Note the **`M117` stage name** shown on the display when it went wrong — that pinpoints the subsystem. Common ones: - Axis grinds at home → endstop or belt/pulley. - One Z screw lags → coupler grub screw or binding rod. - Temp graph swings or bails with a MINTEMP/MAXTEMP → thermistor/heater wiring. - Extruder clicks → nozzle not hot enough, clog, or filament not loaded. After a clean pass, move on to PID tuning and the OrcaSlicer calibration workflow.