3dSynth

Tutorials / Custom G-code

Open in the interactive tutorials reader

---
title: Tutorial 19 Flow Rate Manipulation
description: Controlling plastic volume on the fly.
---

Tutorial 19 Flow Rate Manipulation

1. Lesson Header

2. Concept Introduction

Volume vs. Line Width.
In previous lessons, we assumed E1 meant "1mm of filament". But how wide is the line it creates?
If you push 1mm of filament, it creates a specific volume of plastic.
If you push more, the line gets wider (or taller if constrained).
If you push less, the line gets thinner or breaks.

Flow Rate (M221) allows you to scale all E values globally without rewriting the G-code.

3. Machine State Explanation

The M221 Multiplier.
Default: M221 S100 (100% flow).
If you send G1 X10 E10 while M221 S50 is active:
The machine moves X 10mm, but the extruder motor only moves 5mm (50% of E10).

This is powerful for:
1. Correcting material differences (PLA vs PETG).
2. Creating artistic effects (intentionally starved layers).
3. Fixing a print mid-job without reslicing.

4. Command Breakdown

Note: This setting is volatile. It resets on power cycle.

5. Minimal Working Example

The Starved Layer.
We print 3 lines.
Line 1: Normal.
Line 2: 50% Flow.
Line 3: 150% Flow.

G28
G1 Z0.2
; Line 1 (Normal)
M221 S100
G1 X100 E5 ; Extrudes 5mm
G1 Y10
; Line 2 (Starved)
M221 S50
G1 X0 E5 ; Extrudes 2.5mm actual
G1 Y20
; Line 3 (Stuffed)
M221 S150
G1 X100 E5 ; Extrudes 7.5mm actual

6. Visual Representation

Interactive preview is available in the interactive reader.

7. Build Exercise

Task: Build a Flow Calibration Tower.
A simple single-wall box (Vase Mode from Lesson 18).
Every 5mm of height, change the flow rate.
- 0-5mm: 100%
- 5-10mm: 90%
- 10-15mm: 80%
- 15-20mm: 110%

Why?
To see at what percentage the wall becomes too thin to hold water (delamination) or too thick (dimensional inaccuracy).

8. Deep Insight Section

Slicer "Flow" vs Firmware "Flow".
Slicers have a "Flow Rate" or "Extrusion Multiplier" setting. This changes the E numbers in the generated G-code file.
M221 changes the motor steps calculated by the firmware.
They multiply together.
Slicer (0.9) * Firmware (0.9) = 0.81 Total Flow.

Use M221 for temporary tuning.
Use Slicer settings for permanent material profiles.

9. Common Failure Modes

  1. Clogging: If you set M221 S200 (200%), you might try to push plastic faster than the nozzle can melt it. The extruder gear will grind or skip ("click-click-click").
  2. Weak Parts: M221 S80 might look okay, but layer adhesion drops significantly.

10. Real-World Application

Ironing (Top Surface Smoothing).
Slicers use a trick called "Ironing" where they run the nozzle over the top surface with very low flow (e.g., 10%) to fill in tiny gaps and smooth the ridges. You can simulate this manually by setting M221 S10 and moving back over a finished area.

11. Final Clean Version

; Lesson 19 - Flow Tower
G21
G90
M83
G28
G1 Z0.2 F3000

; --- Base (100%) ---
M221 S100
G1 X50 Y50 E2 ; Move to start
; Print a square loop
G1 X100 Y50 E5
G1 X100 Y100 E5
G1 X50 Y100 E5
G1 X50 Y50 E5

; --- Layer 2 (Raise Z) ---
G1 Z0.4
; Still 100%
G1 X100 Y50 E5
G1 X100 Y100 E5
G1 X50 Y100 E5
G1 X50 Y50 E5

; --- Layer 3 (Lower Flow 80%) ---
M221 S80
G1 Z0.6
G1 X100 Y50 E5
G1 X100 Y100 E5
G1 X50 Y100 E5
G1 X50 Y50 E5

; --- Layer 4 (Higher Flow 120%) ---
M221 S120
G1 Z0.8
G1 X100 Y50 E5
G1 X100 Y100 E5
G1 X50 Y100 E5
G1 X50 Y50 E5

; Reset
M221 S100
G28 X0 Y0

12. Stretch Challenge

Challenge: Write a script (or manual G-code) that prints a line where the flow rate fades from 0% to 200% along the single line.
Hint: You can't change M221 mid-move. You must break the line into many small segments (e.g., 1mm long) and increase M221 by 1% for each segment.
OR
Calculate the E-values manually to increase non-linearly!